add chef_client_options to env
This commit is contained in:
parent
5dcf1cbb3a
commit
acb08d08fa
@ -30,6 +30,10 @@ module Devops
|
|||||||
::Validators::FieldValidator::FieldType::String,
|
::Validators::FieldValidator::FieldType::String,
|
||||||
::Validators::FieldValidator::Expires]
|
::Validators::FieldValidator::Expires]
|
||||||
|
|
||||||
|
set_field_validators :chef_client_options, [::Validators::FieldValidator::Nil,
|
||||||
|
::Validators::FieldValidator::FieldType::String,
|
||||||
|
::Validators::FieldValidator::NotEmpty]
|
||||||
|
|
||||||
def initialize d={}
|
def initialize d={}
|
||||||
self.identifier = d["identifier"]
|
self.identifier = d["identifier"]
|
||||||
set_provider(d)
|
set_provider(d)
|
||||||
@ -38,6 +42,7 @@ module Devops
|
|||||||
self.expires = d["expires"]
|
self.expires = d["expires"]
|
||||||
b = d["users"] || []
|
b = d["users"] || []
|
||||||
self.users = b.uniq
|
self.users = b.uniq
|
||||||
|
self.chef_client_options = d["chef_client_options"]
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_hash
|
def to_hash
|
||||||
@ -45,7 +50,8 @@ module Devops
|
|||||||
"identifier" => self.identifier,
|
"identifier" => self.identifier,
|
||||||
"run_list" => self.run_list,
|
"run_list" => self.run_list,
|
||||||
"expires" => self.expires,
|
"expires" => self.expires,
|
||||||
"users" => self.users
|
"users" => self.users,
|
||||||
|
"chef_client_options" => self.chef_client_options
|
||||||
}.merge(provider_hash)
|
}.merge(provider_hash)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -390,7 +390,11 @@ module Devops
|
|||||||
@out.flush
|
@out.flush
|
||||||
cmd << " -j http://#{DevopsConfig.config[:address]}:#{DevopsConfig.config[:port]}/#{DevopsConfig.config[:url_prefix]}/v2.0/deploy/data/#{file}"
|
cmd << " -j http://#{DevopsConfig.config[:address]}:#{DevopsConfig.config[:port]}/#{DevopsConfig.config[:url_prefix]}/v2.0/deploy/data/#{file}"
|
||||||
else
|
else
|
||||||
cmd << " -r #{deploy_info["run_list"].join(",")}" unless @server.stack.nil?
|
if @deploy_env.chef_client_options
|
||||||
|
cmd << " #{@deploy_env.chef_client_options}"
|
||||||
|
else
|
||||||
|
cmd << " -r #{deploy_info["run_list"].join(",")}" unless @server.stack.nil?
|
||||||
|
end
|
||||||
end
|
end
|
||||||
ip = if @server.public_ip.nil?
|
ip = if @server.public_ip.nil?
|
||||||
@server.private_ip
|
@server.private_ip
|
||||||
|
|||||||
@ -575,6 +575,12 @@ RSpec.describe Devops::Executor::ServerExecutor, type: :executor, stubbed_connec
|
|||||||
expect(stubbed_knife).to receive(:ssh_stream).with(anything, 'chef-client --no-color', any_args)
|
expect(stubbed_knife).to receive(:ssh_stream).with(anything, 'chef-client --no-color', any_args)
|
||||||
deploy_server
|
deploy_server
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "uses deploy_env's chef_client_options if they are set" do
|
||||||
|
deploy_env.chef_client_options = '-r role'
|
||||||
|
expect(stubbed_knife).to receive(:ssh_stream).with(anything, 'chef-client --no-color -r role', any_args)
|
||||||
|
deploy_server
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
it "uses server's key" do
|
it "uses server's key" do
|
||||||
|
|||||||
@ -10,6 +10,7 @@ RSpec.shared_examples 'deploy env' do
|
|||||||
include_examples 'field type validation', :run_list, :not_nil, :maybe_empty_array, :run_list, :field_validator
|
include_examples 'field type validation', :run_list, :not_nil, :maybe_empty_array, :run_list, :field_validator
|
||||||
include_examples 'field type validation', :users, :not_nil, :maybe_empty_array, :field_validator
|
include_examples 'field type validation', :users, :not_nil, :maybe_empty_array, :field_validator
|
||||||
include_examples 'field type validation', :expires, :maybe_nil, :non_empty_string, :field_validator
|
include_examples 'field type validation', :expires, :maybe_nil, :non_empty_string, :field_validator
|
||||||
|
include_examples 'field type validation', :chef_client_options, :maybe_nil, :non_empty_string, :field_validator
|
||||||
|
|
||||||
it 'should be valid only with all users available' do
|
it 'should be valid only with all users available' do
|
||||||
expect(build(validated_model_name, users: ['root'])).to be_valid
|
expect(build(validated_model_name, users: ['root'])).to be_valid
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user