Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent duplicate dependency resolution #316

Open
fatmcgav opened this issue Jul 22, 2015 · 6 comments
Open

Inconsistent duplicate dependency resolution #316

fatmcgav opened this issue Jul 22, 2015 · 6 comments

Comments

@fatmcgav
Copy link

Afternoon

I'm currently using Librarian-Puppet 1.5.0 with librarianp 0.6.3 on a Centos 6 host which is restricted to Ruby 1.8.7...

I seem to be experiencing inconsistent dependency resolution, as per the following log: https://gist.github.com/fatmcgav/700f9d8be6950f593eb6#file-librarian-puppet-20install-20log

As you can see from the Puppetfile, all 4 modules are over-ridden from the metadata.json file.

However 2 are being resolved to the forge, and 2 to github...

Any idea how I can get all 4 to resolve to their Github links?

Cheers
Gavin

@carlossg
Copy link
Collaborator

can you try in another machine with ruby 1.9+ and latest librarian-puppet version to see if it behaves differently ?

@fatmcgav
Copy link
Author

It seems to resolve the dependencies as expected on my MBP running Ruby 2.2.1, librarian-puppet 2.2.0 and librarianp 0.6.3...

librarian-puppet install --clean --verbose --path /tmp/librarian-test
[Librarian] Ruby Version: 2.2.1
[Librarian] Ruby Platform: x86_64-darwin14
[Librarian] Rubygems Version: 2.4.6
[Librarian] Librarian Version: 0.6.3
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.2.0
[Librarian] Project: /Users/gavinw/Work/Puppet/ACT-Modules/cataloguesvc
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/local/bin/git
[Librarian] Git Version: 2.4.0
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "git@github.com:weareact/puppet-base.git", {:ref=>"develop"}]
Dependency 'act-base' duplicated for module, merging: ["act-base (>= 0.1.0) <https://forgeapi.puppetlabs.com>", "act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>"]
[Librarian] Resolving act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>
[Librarian]   Checking manifests
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --> origin
[Librarian]     -->   origin/HEAD -> origin/develop
[Librarian]     -->   origin/develop
[Librarian]     -->   origin/feature/beaker_acceptance
[Librarian]     -->   origin/master
[Librarian]     --> fbb058d72cd59089cb363c2aa1a2926601171365
[Librarian]     --> fbb058d72cd59089cb363c2aa1a2926601171365
[Librarian]     Checking act-base/0.1.0 <git@github.com:weareact/puppet-base.git#develop>
[Librarian] Pre-Cached Sources:
Replacing Puppet Forge API URL to use v3 https://forgeapi.puppetlabs.com. You should update your Puppetfile
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "https://github.com/cescoffier/puppet-nexus.git", {}]
[Librarian]   [:git, "https://github.com/ripienaar/puppet-module-data.git", {}]
[Librarian]   [:git, "https://github.com/datacentred/datacentred-ldap.git", {}]
[Librarian]   [:git, "https://github.com/ghoneycutt/puppet-module-facter.git", {:ref=>"v2.0.0"}]
Dependency 'cescoffier-nexus' duplicated for module act-base, merging: ["cescoffier-nexus (>= 0.0.1) <https://forgeapi.puppetlabs.com>", "cescoffier-nexus (>= 0.0.1) <https://github.com/cescoffier/puppet-nexus.git#master>"]
Dependency 'datacentred-ldap' duplicated for module act-base, merging: ["datacentred-ldap (>= 0.3.0) <https://forgeapi.puppetlabs.com>", "datacentred-ldap (>= 0.3.0) <https://github.com/datacentred/datacentred-ldap.git#master>"]
Dependency 'ripienaar-module_data' duplicated for module act-base, merging: ["ripienaar-module_data (>= 0.0.4) <https://forgeapi.puppetlabs.com>", "ripienaar-module_data (>= 0.0.4) <https://github.com/ripienaar/puppet-module-data.git#master>"]
Dependency 'ghoneycutt-facter' duplicated for module act-base, merging: ["ghoneycutt-facter (>= 2.0.0) <https://forgeapi.puppetlabs.com>", "ghoneycutt-facter (>= 2.0.0) <https://github.com/ghoneycutt/puppet-module-facter.git#v2.0.0>"]
[Librarian]       Resolved act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop> at act-base/0.1.0 <git@github.com:weareact/puppet-base.git#develop>
[Librarian]   Resolved act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>
[Librarian] Resolving cescoffier-nexus (>= 0.0.1) <https://github.com/cescoffier/puppet-nexus.git#master>

However that doesn't help when I'm trying to run beaker tests using librarian-puppet on CentOS 6 hosts :(

Edit: I also thought that the dependency resolution was a function of librarianp rather than librarian-puppet, and those are the same version across both hosts...

@carlossg
Copy link
Collaborator

I've merged master into 1.x, you can try if the latest there works

@fatmcgav
Copy link
Author

Better, but still not perfect...

librarian-puppet install --clean --verbose --path /etc/puppet/modules
[Librarian] Ruby Version: 1.8.7
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 1.3.7
[Librarian] Librarian Version: 0.6.3
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 1.5.0
[Librarian] Project: /tmp/cataloguesvc
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.7.1
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Deleting .tmp/librarian/cache
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "git@github.com:weareact/puppet-base.git", {:ref=>"develop"}]
Dependency 'act-base' duplicated for module, merging: act-base (>= 0.1.0) <http://forge.puppetlabs.com>act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>
[Librarian] Resolving act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>
[Librarian]   Checking manifests
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --- No output
[Librarian]     --> origin
[Librarian]     -->   origin/HEAD -> origin/develop
[Librarian]     -->   origin/develop
[Librarian]     -->   origin/feature/beaker_acceptance
[Librarian]     -->   origin/master
[Librarian]     --> fbb058d72cd59089cb363c2aa1a2926601171365
[Librarian]     --> fbb058d72cd59089cb363c2aa1a2926601171365
[Librarian]     Checking act-base/0.1.0 <git@github.com:weareact/puppet-base.git#develop>
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:git, "https://github.com/ghoneycutt/puppet-module-facter.git", {:ref=>"v2.0.0"}]
[Librarian]   [:git, "https://github.com/ripienaar/puppet-module-data.git", {}]
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian]   [:git, "https://github.com/datacentred/datacentred-ldap.git", {}]
[Librarian]   [:git, "https://github.com/cescoffier/puppet-nexus.git", {}]
Dependency 'ripienaar-module_data' duplicated for module act-base, merging: ripienaar-module_data (>= 0.0.4) <https://github.com/ripienaar/puppet-module-data.git#master>ripienaar-module_data (>= 0.0.4) <http://forge.puppetlabs.com>
Dependency 'cescoffier-nexus' duplicated for module act-base, merging: cescoffier-nexus (>= 0.0.1) <http://forge.puppetlabs.com>cescoffier-nexus (>= 0.0.1) <https://github.com/cescoffier/puppet-nexus.git#master>
Dependency 'datacentred-ldap' duplicated for module act-base, merging: datacentred-ldap (>= 0.3.0) <http://forge.puppetlabs.com>datacentred-ldap (>= 0.3.0) <https://github.com/datacentred/datacentred-ldap.git#master>
Dependency 'ghoneycutt-facter' duplicated for module act-base, merging: ghoneycutt-facter (>= 2.0.0) <http://forge.puppetlabs.com>ghoneycutt-facter (>= 2.0.0) <https://github.com/ghoneycutt/puppet-module-facter.git#v2.0.0>
[Librarian]       Resolved act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop> at act-base/0.1.0 <git@github.com:weareact/puppet-base.git#develop>
[Librarian]   Resolved act-base (>= 0.1.0) <git@github.com:weareact/puppet-base.git#develop>

I thought the dependency resolution is a function of librarianp rather than librarian-puppet, so surely the version of that should be all that matters?

Cheers
Gav

@carlossg
Copy link
Collaborator

yes, most likely. Take a look at voxpupuli/librarian@befb958

I'm not sure when I'll have time to look at it, so if you want to try to send a PR...

@fatmcgav
Copy link
Author

OK, I'll see if I can find where the issue is...

Cheers
Gav

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants