rodjek / librarian-puppet

http://librarian-puppet.com
MIT License
694 stars 216 forks source link

version 2.2.1: Puppetfile and Puppetfile.lock are out of sync! #312

Closed daks closed 9 years ago

daks commented 9 years ago

Hello,

I'm running Librarian-Puppet v2.2.1 on Debian Jessie with Ruby 2.1.5p273 (as ruby -v indicates). With an empty Puppetfile, the command librarian-puppet install works. But for every module added to Puppetfile (ex : mod 'puppetlabs/apt', '1.8.0'), I got this error

Puppetfile and Puppetfile.lock are out of sync!

If I run 'librarian-puppet clean', or remove Puppetfile.lock that is the same. Even removing .librarian and .tmp don't solve the problem.

The complete error is

[Librarian] Ruby Version: 2.1.5
[Librarian] Ruby Platform: x86_64-linux-gnu
[Librarian] Rubygems Version: 2.2.2
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.2.1
[Librarian] Project: /home/eric/BigData/src/DIT/puppet/environments/experimental
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 2.1.4
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
[Librarian]   [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Analyzing spec and lock:
[Librarian]   Removed:
[Librarian]   ExplicitRemoved:
[Librarian]   Added:
[Librarian]   NonMatchingAdded:
[Librarian]   Changed:
[Librarian]   DeepKeep:
[Librarian]     puppetlabs-apt
[Librarian]   ShallowStrip:
[Librarian] Bouncing Puppetfile.lock
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "https://forgeapi.puppetlabs.com", {}]
Puppetfile and Puppetfile.lock are out of sync!
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:32:in `check_consistent'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:20:in `check_preconditions'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:10:in `run'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/lib/librarian/puppet/cli.rb:101:in `install!'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/lib/librarian/puppet/cli.rb:70:in `install'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/bin/librarian-puppet:7:in `<main>'

At first, my problem was not this one (see https://github.com/jbussdieker/puppet-carbon/issues/7) but upgrading librarian-puppet has make this one appear.

carlossg commented 9 years ago

Can you post Puppetfile and lock and the rest listed in https://github.com/rodjek/librarian-puppet#reporting-issues

daks commented 9 years ago

oh yes, sorry I forgot it...

Puppetfile

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

#mod 'elasticsearch/logstash', '0.5.1'
mod 'puppetlabs/apt', '1.8.0'

Puppetfile.lock

FORGE
  remote: https://forgeapi.puppetlabs.com
  specs:
    puppetlabs-apt (1.8.0)
      puppetlabs-stdlib (>= 2.2.1)
    puppetlabs-stdlib (4.6.0)

DEPENDENCIES
  puppetlabs-apt (= 1.8.0)

Puppet 3.8.1-1puppetlabs1 installed on the machine, and used for tests with Vagrant.

carlossg commented 9 years ago

you would have to post exactly what are you running and what's the content of Puppetfile and lock in each step because it works fine here

daks commented 9 years ago

Okay.

Starting with Puppetfile

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

and Puppetfile.lock

FORGE
  remote: https://forgeapi.puppetlabs.com
  specs:
    puppetlabs-apt (1.8.0)
      puppetlabs-stdlib (>= 2.2.1)
    puppetlabs-stdlib (4.6.0)

DEPENDENCIES
  puppetlabs-apt (= 1.8.0)

I run 'librarian-puppet install' and Puppetfile.lock is now

DEPENDENCIES

I change Puppetfile to

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

mod 'puppetlabs/apt', '1.8.0'

Running 'librarian-puppet install'

[Librarian] Ruby Version: 2.1.5
[Librarian] Ruby Platform: x86_64-linux-gnu
[Librarian] Rubygems Version: 2.2.2
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.2.1
[Librarian] Project: /home/eric/BigData/src/DIT/puppet/environments/experimental
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 2.1.4
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "https://forgeapi.puppetlabs.com", {}]
[Librarian] Analyzing spec and lock:
[Librarian]   Removed:
[Librarian]   ExplicitRemoved:
[Librarian]   Added:
[Librarian]     puppetlabs-apt
[Librarian]   NonMatchingAdded:
[Librarian]     puppetlabs-apt
[Librarian]   Changed:
[Librarian]   DeepKeep:
[Librarian]   ShallowStrip:
[Librarian] Resolving puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com>
[Librarian]   Checking manifests
[Librarian]   Module puppetlabs-apt found versions: 2.1.0, 2.0.1, 2.0.0, 1.8.0, 1.7.0, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.2, 1.4.0, 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.1, 1.0.0, 0.0.4, 0.0.3
[Librarian]     Checking puppetlabs-apt/2.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between puppetlabs-apt/2.1.0 <https://forgeapi.puppetlabs.com> and puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com>
[Librarian]       Backtracking from puppetlabs-apt/2.1.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking puppetlabs-apt/2.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between puppetlabs-apt/2.0.1 <https://forgeapi.puppetlabs.com> and puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com>
[Librarian]       Backtracking from puppetlabs-apt/2.0.1 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking puppetlabs-apt/2.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Conflict between puppetlabs-apt/2.0.0 <https://forgeapi.puppetlabs.com> and puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com>
[Librarian]       Backtracking from puppetlabs-apt/2.0.0 <https://forgeapi.puppetlabs.com>
[Librarian]     Checking puppetlabs-apt/1.8.0 <https://forgeapi.puppetlabs.com>
[Librarian]       Resolving puppetlabs-stdlib (>= 2.2.1) <(no source specified)>
[Librarian]         Checking manifests
[Librarian]   Module puppetlabs-stdlib found versions: 4.6.0, 4.5.1, 4.5.0, 4.4.0, 4.3.2, 4.3.0, 4.2.2, 4.2.1, 4.2.0, 4.1.0, 3.2.2, 3.2.1, 3.2.0, 3.1.1, 3.1.0, 3.0.1, 3.0.0, 2.6.0, 2.5.1, 2.5.0, 2.4.0, 2.3.3, 2.3.2, 2.3.1, 2.3.0, 2.2.1, 2.2.0, 2.1.3, 2.0.0, 1.1.0, 1.0.0, 0.1.7, 0.1.6, 0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1
[Librarian]           Checking puppetlabs-stdlib/4.6.0 <https://forgeapi.puppetlabs.com>
[Librarian]             Resolved puppetlabs-stdlib (>= 2.2.1) <(no source specified)> at puppetlabs-stdlib/4.6.0 <https://forgeapi.puppetlabs.com>
[Librarian]         Resolved puppetlabs-stdlib (>= 2.2.1) <(no source specified)>
[Librarian]       Resolved puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com> at puppetlabs-apt/1.8.0 <https://forgeapi.puppetlabs.com>
[Librarian]   Resolved puppetlabs-apt (= 1.8.0) <https://forgeapi.puppetlabs.com>
[Librarian] Bouncing Puppetfile.lock
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "https://forgeapi.puppetlabs.com", {}]
Puppetfile and Puppetfile.lock are out of sync!
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:32:in `check_consistent'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:20:in `check_preconditions'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/action/install.rb:10:in `run'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/lib/librarian/puppet/cli.rb:101:in `install!'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/lib/librarian/puppet/cli.rb:70:in `install'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/home/eric/BigData/gems/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
/home/eric/BigData/gems/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
/home/eric/BigData/gems/gems/librarian-puppet-2.2.1/bin/librarian-puppet:7:in `<main>'

(Gems are installed in my user directory in "BigData/gems".)

Puppetfile.lock is now

FORGE
  remote: https://forgeapi.puppetlabs.com
  specs:
    puppetlabs-apt (1.8.0)
      puppetlabs-stdlib (>= 2.2.1)
    puppetlabs-stdlib (4.6.0)

DEPENDENCIES
  puppetlabs-apt (= 1.8.0)
daks commented 9 years ago

After uninstalling v2.2.1 and installing v2.0.0 it works normally

carlossg commented 9 years ago

something went wrong during your installation of librarian-puppet because Librarian Version should be 0.6.3. Run gem install librarianp to get a newer version of the dependency

daks commented 9 years ago

Librarianp is actually 0.6.3

> gem list

*** LOCAL GEMS ***

activemodel (4.2.3, 4.2.0.beta2, 4.2.0.beta1, 4.1.4)
activesupport (4.2.3, 4.2.0.beta2, 4.2.0.beta1, 4.1.4)
bigdecimal (1.2.4)
builder (3.2.2)
faraday (0.9.1, 0.9.0)
her (0.7.6, 0.7.2)
highline (1.7.2, 1.6.21)
i18n (0.7.0, 0.7.0.beta1, 0.6.11)
io-console (0.4.2)
json (1.8.3, 1.8.1)
librarian (0.1.2)
librarian-puppet (2.0.0)
librarianp (0.6.3)
minitest (5.7.0, 4.7.5)
multi_json (1.11.2, 1.11.1, 1.10.1)
multipart-post (2.0.0)
psych (2.0.5)
puppet_forge (1.0.4, 1.0.3)
rake (10.1.0)
rdoc (4.1.0)
rsync (1.0.9)
test-unit (2.1.5.0)
thor (0.19.1)
thread_safe (0.3.5, 0.3.4)
tzinfo (1.2.2, 1.2.1)

When I reinstall v2.2.1 I got the message "Puppetfile and Puppetfile.lock are out of sync!" back

carlossg commented 9 years ago

try gem uninstall librarian, that was changed to librarianp. Because you are not using a Gemfile it will pick any library from the system instead of the actual dependencies

daks commented 9 years ago

The problem seems solved. Thanks.