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

config.rb:24:in `join': no implicit conversion of nil into String (TypeError) #45

Closed
iserje opened this issue May 14, 2019 · 1 comment · Fixed by #52
Closed

config.rb:24:in `join': no implicit conversion of nil into String (TypeError) #45

iserje opened this issue May 14, 2019 · 1 comment · Fixed by #52
Labels
Status: Untriaged An issue that has yet to be triaged.

Comments

@iserje
Copy link

iserje commented May 14, 2019

Version:

1.0.5

Environment:

Packer (1.3+) Windows 2016. Chef-client 15.0.293

Scenario:

Install chef client via
powershell.exe -Command ". { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install"

Steps to Reproduce:

c:/opscode/chef/bin/chef-client.bat --no-color -c C:/Windows/Temp/packer-chef-client/client.rb -j C:/Windows/Temp/packer-chef-client/first-boot.json

Expected Result:

Successful launch

Actual Result:

amazon-ebs: Executing Chef: c:/opscode/chef/bin/chef-client.bat --no-color -c C:/Windows/Temp/packer-chef-client/client.rb -j C:/Windows/Temp/packer-chef-client/first-boot.json

==> amazon-ebs: c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in join': no implicit conversion of nil into String (TypeError) amazon-ebs: Creating configuration file 'knife.rb' ==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in default_license_locations'
==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:10:in initialize' ==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in new'
==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in initialize' ==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in new'
==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in check_and_persist!' ==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application.rb:254:in check_license_acceptance'
==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application.rb:68:in run' ==> amazon-ebs: from c:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-bin-15.0.293/bin/chef-client:25:in <top (required)>'
==> amazon-ebs: from c:/opscode/chef/bin/chef-client:167:in load' ==> amazon-ebs: from c:/opscode/chef/bin/chef-client:167:in

'
==> amazon-ebs: Cleaning up chef node...
==> amazon-ebs: ERROR: Your private key could not be loaded from C:/Windows/Temp/packer-chef-client/client.pem
amazon-ebs: WARN: Failed to read the private key C:/Windows/Temp/packer-chef-client/client.pem: #<Errno::ENOENT: No such file or directory @ rb_sysopen - C:/Windows/Temp/packer-chef-client/client.pem>

@iserje iserje added the Status: Untriaged An issue that has yet to be triaged. label May 14, 2019
@ccaau
Copy link

ccaau commented May 14, 2019

This also seems to be affecting Windows Chef 15.0.293 when trying to silently accept the license and HOMEDRIVE isn't set.

HOMEDRIVE doesn't seem to get set via packer chef-solo or test kitchen chef_solo (maybe it's not set when using WinRM transport?). It's set in interactive CMD of POWERSHELL sessions.

Seems to relate to:
l = [ File.join(ENV["HOMEDRIVE"], "chef/accepted_licenses/") ]

Can you suggest a work around?
Is there a way to pass in license_locations as an override via chef client command line?

Test Kitchen Snippet:
22:15:40 $ chef-solo.bat : C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in join': no implicit conversion of nil into String (TypeError) 22:15:40 + CategoryInfo : NotSpecified: (C:/opscode/chef...ing (TypeError):String) [], RemoteException 22:15:40 + FullyQualifiedErrorId : NativeCommandError 22:15:40 from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in default_license_locations'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:10:in initialize' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in new'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in initialize' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in new'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in check_and_persist!' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application.rb:254:in check_license_acceptance'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application/solo.rb:224:in run' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-bin-15.0.293/bin/chef-solo:24:in <top (required)>'
22:15:40 $$$$$$ from C:/opscode/chef/bin/chef-solo:167:in load' 22:15:40 $$$$$$ from C:/opscode/chef/bin/chef-solo:167:in

'

Packer:
22:15:25 Transferring files to
22:15:40 $$$$$$ chef-solo.bat : C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in join': no implicit conversion of nil into String (TypeError) 22:15:40 + CategoryInfo : NotSpecified: (C:/opscode/chef...ing (TypeError):String) [], RemoteException 22:15:40 + FullyQualifiedErrorId : NativeCommandError 22:15:40 from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:24:in default_license_locations'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/config.rb:10:in initialize' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in new'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:25:in initialize' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in new'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/license-acceptance-1.0.5/lib/license_acceptance/acceptor.rb:95:in check_and_persist!' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application.rb:254:in check_license_acceptance'
22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.0.293-universal-mingw32/lib/chef/application/solo.rb:224:in run' 22:15:40 $$$$$$ from C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-bin-15.0.293/bin/chef-solo:24:in <top (required)>'
22:15:40 $$$$$$ from C:/opscode/chef/bin/chef-solo:167:in load' 22:15:40 $$$$$$ from C:/opscode/chef/bin/chef-solo:167:in

'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Untriaged An issue that has yet to be triaged.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants