Issue #16187 has been updated by Luke Kanies.

The system-wide graph doesn't have to be that large, because you don't have 
every resource in it.

The major problem I have with full parallel processing is that it's not 
actually parallel - you have some things (e.g., start db then web) that have to 
be serial, and some that don't.  How do you sort out the differences?  How do 
you avoid lock-up?

I agree that some people would do fine with the semaphores, and I'm ok with the 
idea of supporting that in the beginning, but it's not the long-term solution.
----------------------------------------
Feature #16187: Relationships should work between hosts
https://projects.puppetlabs.com/issues/16187#change-74255

Author: Luke Kanies
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: backlog
Branch: 


Currently, one can only specify a relationship within a given host's graph.  
This means that the system can easily figure out, using dependencies, the order 
of work for a given node, but it cannot figure out the order of work across 
nodes.  If a web service running on one host depends on a db service running on 
another, you can use exported resources to share configuration (albeit in 
non-ideal ways), but you cannot specify this dependency.

This means you cannot get a view of the true service dependencies in the 
system, and you always have a thin view of the world.

We need a way to specify that a given service or resource depends on a service 
or resource on another host.

This feature could be done in a very simple way, but could also get very 
sophisticated.  For instance, I've got a prototype that blocks a host's 
transaction until some remote resource is in the state you want: 
[[https://github.com/puppetlabs/puppetlabs-external_resource]]

    external_resource { "file exists":
      frequency => 1,
      timeout => 30,
      check => "/bin/ls /tmp/myfile"
    }

    notify { "File exists": require => Remote_resource["file exists"] }

This allows you to cause one service to wait until dependent (and potentially 
remote) services are available.  A very similar feature should exist for remote 
relationships:  We need some way of ordering operations so that we do not try 
to bring the web server up before its database server is up.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to