Open
Description
Description of problem
- What did you do? Made a change to an existing resource in a manifest, and used octocatalog-diff to compile the changes for a host where that manifest is applied.
- What happened? I get an error,
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in
new': tried to create Proc object without a block (ArgumentError)` - What did you expect to happen? I see the difference in the catalog
- How can someone reproduce the problem?
Command used and debugging output
taavi@runko:~/src/jquery/infrastructure-puppet production(+1/-1) ± octocatalog-diff --environment production -n codeorigin-02.ops.jquery.net --debug
D, [2022-12-01T20:44:42.844628 #845048] DEBUG -- : Running octocatalog-diff 2.1.0-1 with ruby 3.0.4
D, [2022-12-01T20:44:42.844666 #845048] DEBUG -- : Command line arguments: ["--environment", "production", "-n", "codeorigin-02.ops.jquery.net", "--debug"]
D, [2022-12-01T20:44:42.844676 #845048] DEBUG -- : Running on host runko (x86_64-linux-gnu)
D, [2022-12-01T20:44:42.844688 #845048] DEBUG -- : Compiling catalogs for codeorigin-02.ops.jquery.net
D, [2022-12-01T20:44:42.844757 #845048] DEBUG -- : Initialized OctocatalogDiff::Catalog::Computed for from-catalog
D, [2022-12-01T20:44:42.844767 #845048] DEBUG -- : Initialized OctocatalogDiff::Catalog::Computed for to-catalog
D, [2022-12-01T20:44:42.844784 #845048] DEBUG -- : Initialized parallel task result array: size=2
D, [2022-12-01T20:44:42.845559 #845048] DEBUG -- : Launched pid=845049 for index=0
D, [2022-12-01T20:44:42.845790 #845049] DEBUG -- : Begin build_catalog for origin/staging
D, [2022-12-01T20:44:42.845870 #845049] DEBUG -- : Setting up Puppet catalog build for origin/staging
D, [2022-12-01T20:44:42.845895 #845049] DEBUG -- : Catalog for origin/staging will be built with OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.845941 #845049] DEBUG -- : Calling build for object OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.846011 #845049] DEBUG -- : Start retrieving facts for codeorigin-02.ops.jquery.net from OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.846042 #845049] DEBUG -- : Retrieving facts from PuppetDB
D, [2022-12-01T20:44:42.846220 #845048] DEBUG -- : Launched pid=845050 for index=1
D, [2022-12-01T20:44:42.846672 #845050] DEBUG -- : Begin build_catalog for .
D, [2022-12-01T20:44:42.846802 #845050] DEBUG -- : Setting up Puppet catalog build for .
D, [2022-12-01T20:44:42.846825 #845050] DEBUG -- : Catalog for . will be built with OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.846870 #845050] DEBUG -- : Calling build for object OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.846968 #845050] DEBUG -- : Start retrieving facts for codeorigin-02.ops.jquery.net from OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:42.847014 #845050] DEBUG -- : Retrieving facts from PuppetDB
D, [2022-12-01T20:44:43.468163 #845050] DEBUG -- : Success retrieving facts for codeorigin-02.ops.jquery.net from OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:43.468565 #845050] DEBUG -- : Symlinked /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/environments/production -> /home/taavi/src/jquery/infrastructure-puppet
D, [2022-12-01T20:44:43.469546 #845050] DEBUG -- : Installed hiera.yaml from /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/environments/production/test_data/hiera.yaml to /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/hiera.yaml
D, [2022-12-01T20:44:43.473271 #845050] DEBUG -- : Installed fact file at /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/yaml/facts/codeorigin-02.ops.jquery.net.yaml
D, [2022-12-01T20:44:43.473641 #845050] DEBUG -- : Installed CA certificate in /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/ssl/certs/ca.pem
D, [2022-12-01T20:44:43.489164 #845049] DEBUG -- : Success retrieving facts for codeorigin-02.ops.jquery.net from OctocatalogDiff::Catalog::Computed
D, [2022-12-01T20:44:43.489303 #845049] DEBUG -- : Begin git checkout /home/taavi/src/jquery/infrastructure-puppet:origin/staging -> /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l
D, [2022-12-01T20:44:43.495187 #845049] DEBUG -- : ["Exit status: 0"]
D, [2022-12-01T20:44:43.495247 #845049] DEBUG -- : Success git archive /home/taavi/src/jquery/infrastructure-puppet:origin/staging
D, [2022-12-01T20:44:43.495261 #845049] DEBUG -- : Success git checkout /home/taavi/src/jquery/infrastructure-puppet:origin/staging -> /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l
D, [2022-12-01T20:44:43.495291 #845049] DEBUG -- : Begin install bootstrap script in target directory
D, [2022-12-01T20:44:43.495468 #845049] DEBUG -- : Success: copied /home/taavi/src/jquery/infrastructure-puppet/test_data/bootstrap.sh to /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l/test_data/bootstrap.sh
D, [2022-12-01T20:44:43.495487 #845049] DEBUG -- : Begin bootstrap with 'test_data/bootstrap.sh' in /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l
D, [2022-12-01T20:44:43.505189 #845049] DEBUG -- : Success bootstrap in /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l
D, [2022-12-01T20:44:43.505482 #845049] DEBUG -- : Symlinked /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/environments/production -> /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-bootstrap-checkout-20221201-845049-9mfo6l
D, [2022-12-01T20:44:43.506695 #845049] DEBUG -- : Installed hiera.yaml from /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/environments/production/test_data/hiera.yaml to /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/hiera.yaml
D, [2022-12-01T20:44:43.510244 #845049] DEBUG -- : Installed fact file at /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/yaml/facts/codeorigin-02.ops.jquery.net.yaml
D, [2022-12-01T20:44:43.510558 #845049] DEBUG -- : Installed CA certificate in /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/ssl/certs/ca.pem
D, [2022-12-01T20:44:43.994814 #845050] DEBUG -- : (to) Try 1 executing Puppet 7.20.0: /usr/bin/puppet catalog compile codeorigin-02.ops.jquery.net --no-storeconfigs --factpath=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/yaml/facts --facts_terminus=yaml --no-daemonize --color=false --environment=production --hiera_config=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/hiera.yaml --environmentpath=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/environments --vardir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var --logdir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var --ssldir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/ssl --confdir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l
D, [2022-12-01T20:44:43.995072 #845050] DEBUG -- : ["Execute: /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-scriptrunner20221201-845050-l867uc/puppet.sh catalog compile codeorigin-02.ops.jquery.net --no-storeconfigs --factpath\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/yaml/facts --facts_terminus\\=yaml --no-daemonize --color\\=false --environment\\=production --hiera_config\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/hiera.yaml --environmentpath\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/environments --vardir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var --logdir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var --ssldir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l/var/ssl --confdir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845050-9mfo6l"]
D, [2022-12-01T20:44:44.012554 #845049] DEBUG -- : (from) Try 1 executing Puppet 7.20.0: /usr/bin/puppet catalog compile codeorigin-02.ops.jquery.net --no-storeconfigs --factpath=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/yaml/facts --facts_terminus=yaml --no-daemonize --color=false --environment=production --hiera_config=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/hiera.yaml --environmentpath=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/environments --vardir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var --logdir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var --ssldir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/ssl --confdir=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc
D, [2022-12-01T20:44:44.012826 #845049] DEBUG -- : ["Execute: /tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-scriptrunner20221201-845049-o6vqzm/puppet.sh catalog compile codeorigin-02.ops.jquery.net --no-storeconfigs --factpath\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/yaml/facts --facts_terminus\\=yaml --no-daemonize --color\\=false --environment\\=production --hiera_config\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/hiera.yaml --environmentpath\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/environments --vardir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var --logdir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var --ssldir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc/var/ssl --confdir\\=/tmp/ocd-ipc-20221201-845048-fx3dm5/ocd-builddir-20221201-845049-l867uc"]
D, [2022-12-01T20:44:45.644370 #845050] DEBUG -- : ["Exit status: 0"]
D, [2022-12-01T20:44:45.644442 #845050] DEBUG -- : (to) Catalog succeeded on try 1 in 2.170742998 seconds
D, [2022-12-01T20:44:45.648713 #845050] DEBUG -- : Catalog for . successfully built with OctocatalogDiff::Catalog::Computed in 2.801828166 seconds
D, [2022-12-01T20:44:45.648798 #845050] DEBUG -- : Success build_catalog for .
D, [2022-12-01T20:44:45.659457 #845048] DEBUG -- : PID=845050 completed in 2.813199822 seconds, 358893 bytes
D, [2022-12-01T20:44:45.693843 #845049] DEBUG -- : ["Exit status: 0"]
D, [2022-12-01T20:44:45.693912 #845049] DEBUG -- : (from) Catalog succeeded on try 1 in 2.183305034 seconds
D, [2022-12-01T20:44:45.696800 #845049] DEBUG -- : Catalog for origin/staging successfully built with OctocatalogDiff::Catalog::Computed in 2.850866101 seconds
D, [2022-12-01T20:44:45.696839 #845049] DEBUG -- : Success build_catalog for origin/staging
D, [2022-12-01T20:44:45.704691 #845048] DEBUG -- : PID=845049 completed in 2.859106061 seconds, 358796 bytes
D, [2022-12-01T20:44:45.704718 #845048] DEBUG -- : All child processes completed with no exceptions raised
I, [2022-12-01T20:44:45.704779 #845048] INFO -- : Catalogs compiled for codeorigin-02.ops.jquery.net
D, [2022-12-01T20:44:45.704794 #845048] DEBUG -- : Begin compute diffs between catalogs
D, [2022-12-01T20:44:45.704858 #845048] DEBUG -- : Entering catdiff; catalog sizes: 204, 204
D, [2022-12-01T20:44:45.704867 #845048] DEBUG -- : Entering preprocess_diff; catalog sizes: 204, 204
D, [2022-12-01T20:44:45.706920 #845048] DEBUG -- : Exiting preprocess_diff; added 0, removed 0
D, [2022-12-01T20:44:45.706935 #845048] DEBUG -- : Entering hashdiff_initial; catalog sizes: 204, 204
D, [2022-12-01T20:44:45.706944 #845048] DEBUG -- : HashDiff configuration: (use_lcs: true)
D, [2022-12-01T20:44:45.742015 #845048] DEBUG -- : Exiting hashdiff_initial; changes: 3, nested changes: 1
/usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in `new': tried to create Proc object without a block (ArgumentError)
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in `block in traverse'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in `map'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:72:in `traverse'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:63:in `remove_compilation_dir'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter/compilation_dir.rb:40:in `filtered?'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in `block in filter'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in `reject!'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:62:in `filter'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in `block in apply_filters'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in `each'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/filter.rb:42:in `apply_filters'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/differ.rb:207:in `catdiff'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/catalog-diff/differ.rb:83:in `diff'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli/diffs.rb:34:in `diffs'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/api/v1/catalog-diff.rb:54:in `catalog_diff'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/api/v1.rb:19:in `catalog_diff'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli.rb:152:in `run_octocatalog_diff'
from /usr/lib/ruby/vendor_ruby/octocatalog-diff/cli.rb:126:in `cli'
from /usr/bin/octocatalog-diff:34:in `<main>'
Platform and version information
- Your OS: Debian GNU/Linux, running the testing release
- Your Ruby version:
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux-gnu]
- Your version of Puppet:
7.20.0
, the open source version as packaged in Debian - Your version of octocatalog-diff:
octocatalog-diff 2.1.0-1
, again installed from the packages in Debian repositories
Do the tests pass from a clean checkout?
No,
$ bundle exec rake
rake aborted!
SyntaxError: /home/taavi/src/octocatalog-diff/vendor/bundle/ruby/3.0.0/gems/mime-types-3.2.2/lib/mime/types/logger.rb:30: _1 is reserved for numbered parameter
Anything else to add that you think will be helpful?
Metadata
Metadata
Assignees
Labels
No labels