Closed brian-beckett-hpe closed 8 years ago
The last release to successfully download was 1.6.1, and the first to fail was 1.7.0.
The breaking change should be somewhere in here... https://github.com/SimpleFinance/chef-zookeeper/compare/v1.6.1...v1.7.0
@brian-beckett-hp, unfortunately we moved away from Librarian a long time back. We left the Cheffile in there as kind of a backwards-compatibility thing, but I'll admit we haven't really taken the time to make sure it still works. I can try to circle back sometime soon, but I'm not really equipped off-hand to debug unfortunately :(
We will figure it out though. No ideas off the top of my head.
I hadn't even noticed your Cheffile in there! :) I didn't think you needed one for just downloading the package with Librarian...
The issue isn't urgent for me, as I was able to find an alternative Zookeeper cookbook that currently suits my needs. If you are able to resolve it at some point, that would be really great, but at least now there's a record of the issue that might save someone else from tearing their hair out over it ;)
Thanks for the response!
These errors seems to be related with the way the cookbook is being uploaded to the Supermarket. Seems to be compressed using POSIX tar format instead of GNU tar.
The problem arises because there are some directories called PaxHeader when the cookbook is extracted.
More details about this problem in Berkshelf issue #1132. I think librarian-chef PR #41 fixes this problem for librarian.
For example, testing this cookbook with test-kitchen 1.2.1
, chef-client 11.16.4
and Berkshelf 3.1.5
gives me the following error:
================================================================================
Recipe Compile Error in /tmp/kitchen/cookbooks/zookeeper/providers/PaxHeader/config.rb
================================================================================
SyntaxError
-----------
/tmp/kitchen/cookbooks/zookeeper/providers/PaxHeader/config.rb:1: syntax error, unexpected tIDENTIFIER, expecting $end
17 gid=993687553
^
Cookbook Trace:
---------------
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/mixin/from_file.rb:42:in `class_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/mixin/from_file.rb:42:in `class_from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/provider/lwrp_base.rb:94:in `build_from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:211:in `load_lwrp_provider'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:202:in `block in load_lwrps_from_cookbook'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:201:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:201:in `load_lwrps_from_cookbook'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:121:in `block in compile_lwrps'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:120:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:120:in `compile_lwrps'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context/cookbook_compiler.rb:73:in `compile'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/run_context.rb:89:in `load'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/policy_builder/expand_node_object.rb:73:in `setup_run_context'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/client.rb:265:in `setup_run_context'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/client.rb:429:in `do_run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/client.rb:213:in `block in run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/client.rb:207:in `fork'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/client.rb:207:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/application.rb:236:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/application/solo.rb:226:in `block in run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/application/solo.rb:218:in `loop'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/application/solo.rb:218:in `run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/application.rb:55:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/bin/chef-solo:25:in `<top (required)>'
/usr/bin/chef-solo:23:in `load'
/usr/bin/chef-solo:23:in `<main>'
Relevant File Content:
----------------------
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.16.4/lib/chef/mixin/from_file.rb:
35:
36: # Loads a given ruby file, and runs class_eval against it in the context of the current
37: # object.
38: #
39: # Raises an IOError if the file cannot be found, or is not readable.
40: def class_from_file(filename)
41: if File.exists?(filename) && File.readable?(filename)
42>> self.class_eval(IO.read(filename), filename, 1)
43: else
44: raise IOError, "Cannot open or read #{filename}!"
45: end
46: end
47:
48: end
49: end
50: end
51:
Running handlers:
[2014-10-20T08:11:34+00:00] ERROR: Running exception handlers
Running handlers complete
[2014-10-20T08:11:34+00:00] ERROR: Exception handlers complete
[2014-10-20T08:11:34+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
Chef Client failed. 0 resources updated in 0.839319278 seconds
[2014-10-20T08:11:34+00:00] ERROR: /tmp/kitchen/cookbooks/zookeeper/providers/PaxHeader/config.rb:1: syntax error, unexpected tIDENTIFIER, expecting $end
17 gid=993687553
^
[2014-10-20T08:11:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> Converge failed on instance <default-ubuntu-1204>.
>>>>>> Please see .kitchen/logs/default-ubuntu-1204.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: SSH exited (1) for command: [sudo -E chef-solo --config /tmp/kitchen/solo.rb --json-attributes /tmp/kitchen/dna.json --log_level info]
>>>>>> ----------------------
File content example:
root@default-ubuntu-1204:~# cat /tmp/kitchen/cookbooks/zookeeper/providers/PaxHeader/config.rb
17 gid=993687553
18 uid=1377367680
20 ctime=1409321902
20 atime=1409321902
23 SCHILY.dev=16777220
22 SCHILY.ino=5173181
18 SCHILY.nlink=1
Other related errors:
$ tar xvzf zookeeper.tgz
tar xvzf zookeeper.tgz
tar: Ignoring unknown extended header keyword 'SCHILY.dev'
tar: Ignoring unknown extended header keyword 'SCHILY.ino'
tar: Ignoring unknown extended header keyword 'SCHILY.nlink'
zookeeper/
tar: Ignoring unknown extended header keyword 'SCHILY.dev'
tar: Ignoring unknown extended header keyword 'SCHILY.ino'
tar: Ignoring unknown extended header keyword 'SCHILY.nlink'
zookeeper/.gitignore
tar: Ignoring unknown extended header keyword 'SCHILY.dev'
tar: Ignoring unknown extended header keyword 'SCHILY.ino'
tar: Ignoring unknown extended header keyword 'SCHILY.nlink'
[...]
@zuazo I can confirm your PR for librarian-chef fixes this, and I pulled it into my fork. Unfortunately, it looks like main librarian-chef
may be dead, since he hasn't accepted a PR in over a year.
Seems like fixes for this would be
Cheffile
tar
, not POSIX tar
.
I'm attempting to download the SimpleFinance/chef-zookeeper cookbook with Librarian-Chef 0.0.4. I'm using the following Cheffile:
I'm running Librarian-Chef like so:
$ librarian-chef install --verbose
Librarian-Chef fails with the following stacktrack:
The important bit from all that was:
I've not seen this before with any other Chef cookbooks, and a similar StackOverflow question indicates that the cookbook may be at fault in some way.
So... any thoughts? Are you able to replicate this issue at all?