On Friday, May 10, 2013 11:13:03 AM UTC-5, James Kyle wrote: > > This is what I get with the above, slightly adapted to take care of an > edge case: > > Apt::Source<| |> -> Exec['apt_update'] -> Package<| title != > 'ubuntu-cloud-keyring' |> > > The ubuntu-cloud-keyring is a prerequisite for adding the ubuntu cloud > archive (for openstack debs). Without this exception, it leads to a cycle > since Sources -> packages otherwise. > > Dependency Cycle. > (Anchor[apt::source::puppetlabs] => Apt::Source[puppetlabs] => > Exec[apt_update] => Class[Apt::Update] => Anchor[apt::source::puppetlabs]) >
That last link, Class[Apt::Update] => Anchor[apt::source::puppetlabs], looks very suspicious. It suggests that somewhere among your manifests and modules and stages, you are declaring that class apt::update should be applied *before* whichever class declares Anchor[apt::source::puppetlabs] (maybe a class of the same name?). That seems like it would be erroneous -- surely the idea is to get all the apt sources correct first, and only then run Exec[apt_update]. Right? That's just the kind of thing I was talking about when I said [paraphrasing] that the chain was fundamentally right, but it could close a dependency cycle if other relationships were wrong. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscr...@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.