Reputation: 5135
I'm using the latest apache2 cookbook (v5.0.0) in a wrapper file. my wrapper recipe is just including the apache2 recipe so I'm not sure what is causing this error in my kitchen test when I try to setup the test suite???
Wrapper Recipe
include_recipe 'apache2'
kitchen setup Error
...
Synchronizing Cookbooks:
- my-webapp (2.0.0)
- apache2 (5.0.0)
Installing Cookbook Gems:
Compiling Cookbooks...
================================================================================
Recipe Compile Error in /tmp/kitchen/cache/cookbooks/apache2/attributes/default.rb
================================================================================
TypeError
---------
no implicit conversion of String into Integer
Cookbook Trace:
---------------
/tmp/kitchen/cache/cookbooks/apache2/attributes/default.rb:90:in `from_file'
Relevant File Content:
----------------------
/tmp/kitchen/cache/cookbooks/apache2/attributes/default.rb:
83: default['apache']['pid_file'] = '/var/run/httpd2.pid'
84: default['apache']['lib_dir'] = node['kernel']['machine'] =~ /^i[36]86$/ ? '/usr/lib/apache2' : '/usr/lib64/apache2'
85: default['apache']['libexec_dir'] = node['apache']['lib_dir']
86: when 'debian'
87: default['apache']['package'] = 'apache2'
88: default['apache']['perl_pkg'] = 'perl'
89: default['apache']['devel_package'] =
90>> if node['apache']['mpm'] == 'prefork'
91: 'apache2-prefork-dev'
92: else
93: 'apache2-dev'
94: end
95: default['apache']['apachectl'] = '/usr/sbin/apache2ctl'
96: default['apache']['dir'] = '/etc/apache2'
97: default['apache']['log_dir'] = '/var/log/apache2'
98: default['apache']['error_log'] = 'error.log'
99: default['apache']['access_log'] = 'access.log'
System Info:
------------
chef_version=13.0.118
platform=ubuntu
platform_version=16.04
ruby=ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
program_name=chef-client worker: ppid=3084;start=16:38:30;
executable=/opt/chef/bin/chef-client
Upvotes: 0
Views: 966
Reputation: 54181
As engineersmnky mentioned, check the override and normal level attributes (or defaults coming from roles/envs). The sneaky one is usually normal, check via knife node edit
. The likely case is node['apache']
being set to an Array.
Upvotes: 2