diff options
author | Claire McQuin <mcquin@users.noreply.github.com> | 2014-06-11 16:04:12 -0700 |
---|---|---|
committer | Claire McQuin <mcquin@users.noreply.github.com> | 2014-06-11 16:04:12 -0700 |
commit | 56d6cc8b2c24afd4bf6e3001a3635fa2beeec700 (patch) | |
tree | 4869d0ffd9c7e0b32b3c95bc7ab3a8725119fc28 /lib | |
parent | f267978ccbba62c7e50a6b4722fb6f2aa0ef34d4 (diff) | |
parent | 0fe170b0b72f6990ae7ccb55196f16196cd8d3cc (diff) | |
download | chef-56d6cc8b2c24afd4bf6e3001a3635fa2beeec700.tar.gz |
Merge pull request #1443 from opscode/ryancragun/CHEF-5314_11-master
[CHEF-5314] Support override_runlist CLI option in shef/chef-shell
Diffstat (limited to 'lib')
-rw-r--r-- | lib/chef/shell.rb | 7 | ||||
-rw-r--r-- | lib/chef/shell/shell_session.rb | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/chef/shell.rb b/lib/chef/shell.rb index 1519c47d88..33c10e22a6 100644 --- a/lib/chef/shell.rb +++ b/lib/chef/shell.rb @@ -53,6 +53,7 @@ module Shell IRB::ExtendCommandBundle.instance_variable_get(:@ALIASES).delete(irb_help) parse_opts + Chef::Config[:shell_config] = options.config # HACK: this duplicates the functions of IRB.start, but we have to do it # to get access to the main object before irb starts. @@ -258,6 +259,12 @@ FOOTER :proc => lambda {|v| puts "Chef: #{::Chef::VERSION}"}, :exit => 0 + option :override_runlist, + :short => "-o RunlistItem,RunlistItem...", + :long => "--override-runlist RunlistItem,RunlistItem...", + :description => "Replace current run list with specified items", + :proc => lambda { |items| items.split(',').map { |item| Chef::RunList::RunListItem.new(item) }} + def self.print_help instance = new instance.parse_options([]) diff --git a/lib/chef/shell/shell_session.rb b/lib/chef/shell/shell_session.rb index 2f4d9375eb..a158020116 100644 --- a/lib/chef/shell/shell_session.rb +++ b/lib/chef/shell/shell_session.rb @@ -151,7 +151,7 @@ module Shell def rebuild_node Chef::Config[:solo] = true - @client = Chef::Client.new + @client = Chef::Client.new(nil, Chef::Config[:shell_config]) @client.run_ohai @client.load_node @client.build_node @@ -183,7 +183,7 @@ module Shell def rebuild_node # Tell the client we're chef solo so it won't try to contact the server Chef::Config[:solo] = true - @client = Chef::Client.new + @client = Chef::Client.new(nil, Chef::Config[:shell_config]) @client.run_ohai @client.load_node @client.build_node @@ -214,7 +214,7 @@ module Shell def rebuild_node # Make sure the client knows this is not chef solo Chef::Config[:solo] = false - @client = Chef::Client.new + @client = Chef::Client.new(nil, Chef::Config[:shell_config]) @client.run_ohai @client.register @client.load_node |