Closed rnelson0 closed 7 years ago
The pertinent error is:
OctocatalogDiff::CatalogDiff::Cli::Catalogs::CatalogError: Catalog for 'to' (.) failed to compile with RuntimeError: Unable to determine Puppet version: /usr/local/share/gems/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize': Could not find rake-11.3.0 in any of the sources (Bundler::GemNotFound)
and in particular:
Could not find rake-11.3.0 in any of the sources (Bundler::GemNotFound)
I suspect you have settings in your environment that are needed to allow Puppet to run (perhaps bundler settings or the like).
During our development we ran into a bunch of problems when a different version of Ruby was used to run octocatalog-diff than was used for Puppet, so when the Puppet binary is run, it's in a very clean environment by default. source
By default we are passing only HOME, PATH, and PWD to your Puppet binary. If you want to pass other variables from your environment, there is a command line option:
--pass-env-vars VAR1[,VAR2[,...]] Environment variables to pass
Assuming /opt/puppetlabs/puppet/bin/puppet
is the default binary that ships from Puppet, then I'd be very keen to make this work with all the default arguments. Could you confirm that's a stock Puppet install and let me know what version that comes with so I can try it out?
I'm happy to debug with you in real-time via Slack, but I wanted to identify here in public what I think the problem likely is.
The agent is puppet-agent-1.5.2-1.el7.x86_64
and reports version 4.5.2
. I do receive the same error if I specifically base the binary location (bundle exec octocatalog-diff -d -n build03.nelson.va -o /tmp/catalog.json --bootstrapped-to-dir=$PWD --catalog-only --puppet-binary /opt/puppetlabs/bin/puppet
). Since I'm using bundler, maybe that's the interference point? I do have the rake gem, though.
$ be gem list
*** LOCAL GEMS ***
ansi (1.5.0)
bundler (1.12.5)
colorize (0.8.1)
diff-lcs (1.2.5)
diffy (3.1.0)
docile (1.1.5)
domain_name (0.5.20161021)
facter (2.4.6)
facterdb (0.3.8)
fast_gettext (1.1.0)
generate-puppetfile (0.9.11)
gettext (3.2.2)
gettext-setup (0.7)
hashdiff (0.3.0)
hiera (1.3.4)
hirb (0.7.3)
http-cookie (1.0.3)
httparty (0.14.0)
jgrep (1.4.1)
json (1.8.3)
json_pure (2.0.2)
locale (2.1.2)
mcollective-client (2.9.0)
metaclass (0.0.4)
metadata-json-lint (0.0.19)
mime-types (2.99.3)
mocha (1.2.1)
multi_xml (0.5.5)
netrc (0.11.0)
octocatalog-diff (0.5.1)
parallel (1.9.0)
puppet (3.8.7)
puppet-blacksmith (3.4.0)
puppet-lint (2.0.2)
puppet-lint-classes_and_types_beginning_with_digits-check (0.1.2)
puppet-lint-leading_zero-check (0.1.1)
puppet-lint-trailing_comma-check (0.3.2)
puppet-lint-unquoted_string-check (0.3.0)
puppet-lint-version_comparison-check (0.2.1)
puppet-syntax (2.1.1)
puppetlabs_spec_helper (1.2.2)
rake (11.3.0)
rest-client (1.8.0)
rspec (3.5.0)
rspec-core (3.5.4)
rspec-expectations (3.5.0)
rspec-mocks (3.5.0)
rspec-puppet (2.5.0)
rspec-puppet-facts (1.7.0)
rspec-support (3.5.0)
rugged (0.25.0b10)
semantic_puppet (0.1.4)
simplecov (0.12.0)
simplecov-console (0.3.1)
simplecov-html (0.10.0)
spdx-licenses (1.1.0)
stomp (1.4.3)
systemu (2.6.5)
text (1.3.1)
unf (0.1.4)
unf_ext (0.0.7.2)
Hey @rnelson0,
I pulled a brand new clean CentOS virtualbox, installed Puppet on it, installed the base control repo on it, and ran the octocatalog-diff with what I believe is the closest to your settings. I did not experience the problem you reported and was able to generate a catalog successfully (albeit one that did absolutely nothing.) I'll arrange a screen share with you on slack to see if we can nail down the exact cause of this issue.
The root cause of this is https://github.com/github/octocatalog-diff/issues/14
Negative, these are the troubleshooting steps that are failing
You can find me on the Puppet Community slack most days and I can definitely set aside a chunk of time for contiguous work on this if it would help.