Issue #3691 has been updated by eric sorenson. Status changed from Accepted to Duplicate
Since this describes a possible implementation to solve #8040 but we're tracking the progress on that bug, I'm marking this one closed / duplicate. ---------------------------------------- Refactor #3691: The Catalog should include both dependency and containment edges https://projects.puppetlabs.com/issues/3691#change-82525 Author: Luke Kanies Status: Duplicate Priority: High Assignee: eric sorenson Category: transactions Target version: 3.x Affected Puppet version: 2.7.19 Keywords: backlog Branch: Right now, the catalogs sent from the server to the client include only containment edges, and the client has to go through some work internally to add dependency edges. In the course of doing so, it removes all of the containment edges. The current mechanism for removing them involves the infamous 'whit', which causes plenty of problems, including the need for the 'anchor' pattern. If we can refactor the catalog creation on the server, and graph sorting on the client, so that we can have both kinds of edges in the graph at the same time, we can get rid of all of the code around the relationship graph, along with the need for whits, and all of the complicated graph stuff involving them, plus the need for the anchor pattern. This will also make integration with other tools, like PuppetDB, easier. Note that the "hard" parts about doing this work are twofold: * Correctly descending dependencies in priority to containment edges. The edge types aren't equal and can't be treated as such. * Detecting dependency cycles. It's that last bit that blocked me last time I tried to do this. I have an attempt at this from a long time ago: https://github.com/lak/puppet/tree/refactor/master/3691-no_relationship_graph But I couldn't get cycle detection working, so I couldn't get it merged. -- 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
