Issue #16187 has been updated by Trevor Vaughan.
I'm not so sure about the mega-graph. It feels like you'd have some serious memory/performance issues with that which would take a LOT longer to solve instead of using methods that are known to work for parallel problems. I still look at this as a parallel programming problem. Client == CPU Catalog == Thread Thus => semaphore, waitlock, mutex, etc... As a bonus, if we start with this, it should be pretty darn easy with PuppetDB. I suppose you could also do something with a message bus but that's more infrastructure for no real gain unless you wanted to maintain global state on all nodes at the same time based on the queues/topics that they were subscribed to. ---------------------------------------- Feature #16187: Relationships should work between hosts https://projects.puppetlabs.com/issues/16187#change-74150 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.
