On Mar 16, 2010, at 4:07 AM, David Schmitt wrote:

[crossposting to puppet-dev, please trim follow-ups appropriately]

On 3/16/2010 11:52 AM, Jesús Couto wrote:


On Mon, Mar 15, 2010 at 3:18 PM, Michael DeHaan
<mich...@reductivelabs.com <mailto:mich...@reductivelabs.com>> wrote:

    > that are very much procedural while Puppet manifest are more
    > useful on a description of required software level.

   Sort of.

The long story is that we don't have a really native feeling way to
   model multinode deployments and workflow now, but we can think of
   modeling it based on a set of checkpoint conditions.


On a complete pipe-dream, "I'm not the one with the skills to do this" comment, I think it would be great to extend the Puppet language toward
"site" configurations. As exported resources, but more. If you could
define, say, an "application" resource that is not on a node but on
several nodes, that would model the application - this app is this and
this running on those 2 servers who are on loadbalancing and this and
that on those other 2, and the parts on the webservers requires the
parts on the appservers that requires the parts on the database
servers...dont know at what level could it be modeled to be flexible
enough and not one size "deploy" model for all, but the idea would be to make it like Puppet goes from "let me script this" to "let me describe how it should be", with you describing your application structucture and
relationships and such.



If you want to prototype something like this, you can use a define outside of a node in the site.pp and use checks against $fqdn to distribute resources among hosts.

Maybe even use the external_resource type that's currently floating around to sequence the deployment.


Which leads me to another idea: inter-node dependencies:

| node a { mysql_db { "foo": ... } }
|
| node b { app { "x": after => A>>Mysql_db["foo"]; } }

The external resource stuff does just about exactly this, except that it's not a special syntax. It's not as manageable as I'd like -- there's no way, for instance, to really understand the dependencies between hosts without reading all of the code -- but it's a good start and should help us set the model.

--
Seize opportunity by the beard, for it is bald behind.
    -- Bulgarian Proverb
---------------------------------------------------------------------
Luke Kanies  -|-   http://reductivelabs.com   -|-   +1(615)594-8199

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-us...@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to