Closed madAndroid closed 9 years ago
that's expected, you can't have dependency cycles A->B->A
that's expected, you can't have dependency cycles A->B->A
I thought that it might be .. however, we definitely need this functionality in order to effectively test our manifests - since both modules need to have resources available in the other in order to satisfy our testing. Is there any known work around, other than 'just don't do it' ? :)
This use case makes #245 quite appealing .. for the moment, in order to resolve the issue we're experiencing, we're going to move the Puppetfiles out of the root of the repos, and hopefully this should help getting our testing working again.
No work arounds, you can't have a dependency resolution system with cycles. My suggestion is to put the resources somewhere else so you don't introduce cycles.
Okay thanks - will investigate alternatives
We're using librarian-puppet to manage profile module dependencies, stored in git; when one profile references another, which in turn references the module we're installing the dependencies for, a dependency cycle is picked up, and librarian-puppet won't continue.
Not sure if this is expected behaviour - there is a similar issue described in #191, but that was due to the module in question referencing itself in it's Puppetfile. In this case, each profile module does not reference itself, but only the other module.
I've been able to reproduce this in a set of test modules (created with
puppet module generate
, using the puppet-module-skeleton )https://github.com/madAndroid/puppet-profile-libtest1 https://github.com/madAndroid/puppet-profile-libtest2
When running `librarian-puppet install --verbose', the following error is shown:
for puppet-profile-libtest1:
for puppet-profile-libtest2:
The Puppetfiles: puppet-profile-libtest1:
puppet-profile-libtest2: