I'm working on a chef cookbook to set up a vanilla ubuntu 12.04.2 with nginx postgresql and unicorn on my vagrant box, but I'm getting into troubles with nginx, there's an exception
undefined method `[]' for nil:NilClass
when installing it that seem to relate to ohai configuration.
I've posted all I have here:
https://github.com/DonGiulio/mychef
here's the output from chef-solo:
Starting Chef Client, version 11.4.0
Compiling Cookbooks...
================================================================================
Recipe Compile Error in /var/chef/cookbooks/nginx/recipes/source.rb
================================================================================
NoMethodError
-------------
undefined method `[]' for nil:NilClass
Cookbook Trace:
---------------
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:27:in `from_file'
/var/chef/cookbooks/nginx/recipes/source.rb:42:in `from_file'
Relevant File Content:
----------------------
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:
20: #
21:
22: ohai 'reload_nginx' do
23: plugin 'nginx'
24: action :nothing
25: end
26:
27>> template "#{node['ohai']['plugin_path']}/nginx.rb" do
28: source 'plugins/nginx.rb.erb'
29: owner 'root'
30: group 'root'
31: mode '0755'
32: notifies :reload, 'ohai[reload_nginx]', :immediately
33: end
34:
35: include_recipe 'ohai::default'
36:
[2013-11-19T14:22:23+00:00] ERROR: Running exception handlers
[2013-11-19T14:22:23+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-11-19T14:22:23+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-11-19T14:22:23+00:00] FATAL: NoMethodError: undefined method `[]' for nil:NilClass
and here's the stacktrace:
$ cat /var/chef/cache/chef-stacktrace.out
Generated at 2013-11-19 14:22:23 +0000
NoMethodError: undefined method `[]' for nil:NilClass
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:27:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/cookbook_version.rb:346:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:151:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:132:in `block in include_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:131:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:131:in `include_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/dsl/include_recipe.rb:26:in `include_recipe'
/var/chef/cookbooks/nginx/recipes/source.rb:42:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/cookbook_version.rb:346:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:151:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:139:in `block in compile_recipes'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:137:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:137:in `compile_recipes'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:74:in `compile'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:86:in `load'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:224:in `setup_run_context'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:467:in `do_run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:200:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application.rb:190:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/solo.rb:239:in `block in run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/solo.rb:231:in `loop'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/solo.rb:231:in `run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application.rb:73:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/bin/chef-solo:25:in `<top (required)>'
/usr/bin/chef-solo:23:in `load'
/usr/bin/chef-solo:23:in `<main>'
UPDATE 1
I'm provisioning the box with ruby-2.0.0-p247, is there a dependency on an earlier version of ruby maybe?
UPDATE 2
I've tried with ruby-1.9.3-p448, on a freshly provisioned box, same problem, no change.
Could you please help me?
thanks,
You haven't stated which version of the ohai and nginx cookbooks you're using.
While I can't answer your question I can provide some advice on managing your cookbooks by using a dependency manager (think bundler for cookbooks).
Install Berkshelf
gem install berkshelf
Create a Berkshelf file
$ cat Berksfile
site :opscode
cookbook "nginx"
And use this to download all the cookbooks associated with nginx:
$ berks install -p cookbooks
Using nginx (2.0.0)
Using apt (2.3.0)
Using bluepill (2.3.0)
Using rsyslog (1.9.0)
Using build-essential (1.4.2)
Using ohai (1.1.12)
Using runit (1.2.0)
Using yum (2.3.2)
The "-p" option places them in the "cookbooks" subdirectory:
$ ls -d cookbooks/*
cookbooks/apt
cookbooks/build-essential
cookbooks/ohai
cookbooks/runit
cookbooks/bluepill
cookbooks/nginx
cookbooks/rsyslog
cookbooks/yum
I have experienced the same error. You may find 3 other solutions to this problem, and an explanation why it's happening here on stackoverflow.
To mention one for those using Vagrant: Just include the recipe through Vagrantfile "chef.add_recipe()".
Using Berkshelf is obviously solving the issue, and I honestly like it. Just think that we should save the time of those who doesn't want to bother with installing new tools.
Ran into this trying to use community nexus cookbook. Solved it by specifying latest version of nginx cookbook in my metadata.rb:
depends 'nginx', '>= 2.7.6'
The nexus cookbook metadata.rb specifies:
depends "nginx", ">= 1.8.0"
So seems that chef will choose 1.8.0 when resolving deps unless you specify a newer version.
looks like ruby libraries were missing, I installed ruby by running
following command on Ubuntu and it started working for me
apt-get install ruby
Related
When I update ruby 2.5.3 to 2.6.0 and try to run RSpec specs then it's throwing policy already configured error
The error stack as follows
An error occurred while loading ./spec/controllers/example_controller_spec.rb.
Failure/Error: require File.expand_path("../../config/environment", __FILE__)
SecureHeaders::Configuration::AlreadyConfiguredError:
Policy already configured
# /Users/codecpm/.rvm/gems/ruby-2.6.0/gems/secure_headers-6.1.1/lib/secure_headers/configuration.rb:19:in `default'
# ./config/initializers/secure_header.rb:1:in `<top (required)>'
But the server was running fine.
has anybody faced this issue before?
Note: This is NOT a dupe of Rails 5, Rspec: Environment data not found in the schema, though it is similar. The affected versions are different, and the solve doesn't work for me.
My Rails setup is as follows:
Rails 6.0.1
cucumber-rails 2.0.0
database_cleaner 1.7.0
Whenever I run cucumber a second or subsequent time, I get this error:
3924 ~/fork/my-proj$ bundle exec cucumber
rails aborted!
ActiveRecord::NoEnvironmentInSchemaError:
Environment data not found in the schema. To resolve this issue, run:
rails db:environment:set RAILS_ENV=test
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.1/lib/active_record/migration.rb:1151:in `last_stored_environment'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.1/lib/active_record/tasks/database_tasks.rb:60:in `check_protected_environments!'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:15:in `block (2 levels) in <main>'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:491:in `block (3 levels) in <main>'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/railties-6.0.1/lib/rails/command.rb:48:in `invoke'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/railties-6.0.1/lib/rails/commands.rb:18:in `<main>'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activesupport-6.0.1/lib/active_support/dependencies.rb:325:in `block in require'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activesupport-6.0.1/lib/active_support/dependencies.rb:291:in `load_dependency'
/Users/grantb/.rvm/gems/ruby-2.6.5/gems/activesupport-6.0.1/lib/active_support/dependencies.rb:325:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:test:load => db:test:purge => db:check_protected_environments
(See full trace by running task with --trace)
Using the default profile...
[...cucumber continues as normal...]
How the heck can I get rid of that?
If I run rails db:environment:set RAILS_ENV=test, it'll get rid of it for the next run of cucumber, but it will always come back on the run after that.
I found one other answer that suggested adding this to my config, but it did exactly nothing:
# This did NOT fix my problem:
DatabaseCleaner.clean_with(
:truncation,
except: %w(ar_internal_metadata)
)
Clearly database_cleaner is deleting environment data, but I don't know how to make it stop.
Can anyone help me get rid of this annoying warning?
Turns out this problem was specific to database_cleaner 1.7.
A recent upgrade to 1.8.3 made this error stop happening.
(associated Github issue)
I'm trying to deploy a ruby app to a server running Ubuntu -> Nginx -> Passenger.
I can access the site fine using 'rails s' however passenger keeps returning the bellow error into the nginx log. I've checked that rake 12.0.0 is installed and also tried setting up a new rails project to check if passenger would provide the "your on rails" page. But that doesn't work either.
Any help would be greatly appreciated, I've tried googleing and performing various bundle updates and gem installs.
Error ID: a06f05a9
Error details saved to: /tmp/passenger-error-EVNeAF.html
Message from application: <p>It looks like Bundler could not find a gem. Maybe you didn't install all the gems that this application needs. To install your gems, please run:</p>
<pre class="commands">bundle install</pre>
<p>If that didn't work, then the problem is probably caused by your application being run under a different environment than it's supposed to. Please check the following:</p>
<ol>
<li>Is this app supposed to be run as the <code>dmn</code> user?</li>
<li>Is this app being run on the correct Ruby interpreter? Below you will
see which Ruby interpreter Phusion Passenger attempted to use.</li>
<li>Please check whether the correct RVM gemset is being used.</li>
<li>Sometimes, RVM gemsets may be broken.
Try resetting them.</li>
</ol>
<p>-------- The exception is as follows: -------</p>
Could not find rake-12.0.0 in any of the sources (Bundler::GemNotFound)
<pre> /home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/spec_set.rb:87:in `block in materialize'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `map!'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/spec_set.rb:81:in `materialize'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/definition.rb:159:in `specs'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/definition.rb:218:in `specs_for'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/definition.rb:207:in `requested_specs'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/runtime.rb:109:in `block in definition_method'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/runtime.rb:21:in `setup'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler.rb:101:in `setup'
/home/dmn/.rvm/gems/ruby-2.3.3/gems/bundler-1.15.4/lib/bundler/setup.rb:19:in `<top (required)>'
/home/dmn/.rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/dmn/.rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
/usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'</pre>"
I am a newbie just learnt how to use RSpec. My RSpec works fine in windows terminal. However, in Rubymine build-in RSpec. It errors after giving success message. Which is really annoying.
Git: https://github.com/ivawzh/sample_app
Please help.
Thanks and best regards.
RSpec works fine in native cmd
Not sure if this matters, this is the Spork drb server
Rubymine build-in RSpec, it says the tests are passed. But errors come after success message.
Error messages:
Running specs...
Command line:
["C:\\Ruby200\\bin\\ruby.exe", "-e", "$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)", "C:\\Ruby200\\bin/rspec", "--require", "teamcity/spec/runner/formatter/teamcity/formatter", "--format", "Spec::Runner::Formatter::TeamcityFormatter", "E:/RoR docs/sample_app/spec/controllers/pages_controller_spec.rb", "--drb", "--backtrace"]
2 examples, 0 failures, 2 passed
Finished in 0.17701 seconds
<-- Slave(1) run done!
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/file_utils.rb:54:in `block in create_shell_runner': Command failed with status (1): [C:\Ruby200\bin\ruby.exe -e $stdout.sync=tr...] (RuntimeError)
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/file_utils.rb:45:in `call'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/file_utils.rb:45:in `sh'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/file_utils_ext.rb:37:in `sh'
from C:/Program Files (x86)/JetBrains/RubyMine 5.4.2/rb/testing/runner/specs_in_folder_runner.rb:139:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
Process finished with exit code 1
Environment:
Ruby version 2.0.0 (i386-mingw32)
RubyGems version 2.0.2
Rack version 1.5
Rails version 4.0.0
Environment development
Database adapter postgresql
I am using chef to bootstrap a node. I have created encrypted data bags and copied the secret key on the node as /etc/chef/encrypted_data_bag_secret.
When I try to bootstrap the node, I am getting the following error:
================================================================================
Recipe Compile Error in /var/chef/cache/cookbooks/webapps-configs/recipes/httpd.rb
================================================================================
Net::HTTPServerException
------------------------
404 "Not Found"
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/webapps-configs/recipes/httpd.rb:12:in `from_file'
Relevant File Content:
----------------------
/var/chef/cache/cookbooks/webapps-configs/recipes/httpd.rb:
10:
11: CHEF_ENV = node.chef_environment
12>> http_ssl_creds = Chef::EncryptedDataBagItem.load("#{CHEF_ENV}", "http-ssl")
13: PRIVATE_KEY = http_ssl_creds["private_key"]
14: CHAIN_FILE= http_ssl_creds["chain_file"]
15: CERT= http_ssl_creds["cert"]
16:
ERROR: Running exception handlers
FATAL: Saving node information to /var/chef/cache/failed-run-data.json
ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
FATAL: Net::HTTPServerException: 404 "Not Found"
Here is the stack trace:
Net::HTTPServerException: 404 "Not Found"
/opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:2632:in `error!'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/rest.rb:199:in `block in raw_http_request'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/rest.rb:280:in `retriable_rest_request'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/rest.rb:164:in `raw_http_request'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/rest.rb:158:in `api_request'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/rest.rb:99:in `get'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/data_bag_item.rb:149:in `load'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/encrypted_data_bag_item.rb:294:in `load'
/var/chef/cache/cookbooks/webapps-configs/recipes/httpd.rb:12:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `instance_eval'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/mixin/from_file.rb:30:in `from_file'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/cookbook_version.rb:346:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:151:in `load_recipe'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:139:in `block in compile_recipes'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:137:in `each'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:137:in `compile_recipes'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context/cookbook_compiler.rb:74:in `compile'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/run_context.rb:86:in `load'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:224:in `setup_run_context'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:467:in `do_run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/client.rb:200:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application.rb:190:in `run_chef_client'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/client.rb:297:in `block in run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/client.rb:290:in `loop'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/client.rb:290:in `run_application'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application.rb:73:in `run'
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/bin/chef-client:26:in `<top (required)>'
/usr/bin/chef-client:23:in `load'
/usr/bin/chef-client:23:in `<main>'
Any help or pointers?
I have resolved this issue. It appears that the environment was not created properly. So when I was bootstrapping the node, its environment was being set to "_default", hence the node was unable to locate the items.
I recreated the environment, and bootstrapped node by passing --environment parameter, and I was able to bootstrap without any issues.
Once again, thanks to all the contributors for their inputs. This community is awesome!
Try adding the following line to your recipe:
11. CHEF_ENV = node.chef_environment
+ 12. Chef::Config[:encrypted_data_bag_secret]
13. http_ssl_creds = Chef::EncryptedDataBagItem.load("#{CHEF_ENV}", "http-ssl")
14. PRIVATE_KEY = http_ssl_creds['private_key']
15. CHAIN_FILE= http_ssl_creds['chain_file']
16. CERT= http_ssl_creds['cert']
Another thing to check is that the node environment is the name of your encrypted data bag.
since you 've copied the /etc/chef/encrypted_data_bag_secret to the node, that should do the trick.