Re: what to do w/ hosts

Jonathan Hogg <[email protected]> Sun, 24 Mar 2002 23:02:57 +0000
Newsgroups gmane.comp.sysutils.ark.devel
Organization One Good Idea Ltd.
Message-ID <B8C40BA1.6B1D%[email protected]>
[Whoops! Just realised that I sent this (and the next message to follow) to
the original sender instead of to the list.]

On 18/3/2002 0:51, Daniel Hagerty wrote:

>   Yes, but note the amount of code you have to implement to paper
> over the distinction.  I think you can get there differently than
> trying to shoe-horn the different issues push vs pull have in to one
> place.

I think the "push vs pull" thing is something of a red-herring. The Arusha
engine is, as it is in most matters of policy, pretty much agnostic. It
contains enough code to be able to remotely execute code, but that's not
necessarily an indication of either a "push" or "pull" mentality.

You see the remote executing stuff might be needed in either direction. It
might be that a machine executes a pull by remotely executing a
deploy-over-NFS command on the master distribution host. In my mind, if the
original action came from the client machine, then it's a pull action even
though the client has "pushed" some code to another machine to execute.

>   So in my way of thinking, this would translate to a command that
> evaluates the object model locally, and performs the work either
> directly from where you're doing the push, or asks through the control
> system that the responsible machine(s) (located through the object
> model) do it.

Funnily enough, this is exactly how Arusha does it. The object model is
always evaluated at the prompt-host (where you typed the 'ark' command) and
then code is executed either locally or remotely as determined by the object
model - though my experimental version of Arusha makes this even more
explicit.

As Will says, it's common to use a mix of push and pull. Even die-hard pull
people probably unpack and build the software on a single box somewhere.
Arusha allows you to specify this precisely: compile on box A, deploy on
every box. Then you can execute this as a "push" or a "pull" as necessary by
simply changing the prompt-host and narrowing or broadening the execution
scope as you want.

Jonathan

-- 
jonathan hogg, one good idea ltd, 131 queen margaret dr., glasgow g20 8pd
http://www.onegoodidea.com/ tel:+44-(0)7976-614338 fax:+44-(0)7970-537451