CID-457: regard provider account on stack servers persisting

This commit is contained in:
Anton Chuchkalov 2016-03-09 17:21:46 +03:00
parent f679fbb638
commit e5561ab5f7
2 changed files with 12 additions and 2 deletions

View File

@ -3,7 +3,7 @@ require 'workers/stack_bootstrap/stack_servers_persister'
RSpec.describe StackServersPersister, stubbed_connector: true do RSpec.describe StackServersPersister, stubbed_connector: true do
let(:out) { double(:out, puts: nil, flush: nil) } let(:out) { double(:out, puts: nil, flush: nil) }
let(:run_list) { ['role[asd]'] } let(:run_list) { ['role[asd]'] }
let(:stack) { build(:stack, deploy_env: 'foo', run_list: run_list) } let(:stack) { build(:stack_ec2, deploy_env: 'foo', run_list: run_list) }
let(:project) { build(:project, id: 'name') } let(:project) { build(:project, id: 'name') }
let(:persister) { described_class.new(stack, out) } let(:persister) { described_class.new(stack, out) }
let(:provider) { instance_double(Provider::Ec2, name: 'ec2') } let(:provider) { instance_double(Provider::Ec2, name: 'ec2') }
@ -113,6 +113,15 @@ RSpec.describe StackServersPersister, stubbed_connector: true do
persister.persist persister.persist
end end
it "sets provider and provider account from stack" do
stack.provider_account = 'foo'
expect(stubbed_connector).to receive(:server_insert) do |server|
expect(server.provider).to eq 'ec2'
expect(server.provider_account).to eq 'foo'
end
persister.persist
end
describe 'incremented variables' do describe 'incremented variables' do
it 'substitutes :increment-groupid: with incrementing numbers' do it 'substitutes :increment-groupid: with incrementing numbers' do
allow(provider).to receive(:stack_servers) {[ allow(provider).to receive(:stack_servers) {[

View File

@ -50,7 +50,8 @@ class StackServersPersister
'deploy_env' => @deploy_env.identifier, 'deploy_env' => @deploy_env.identifier,
'key' => server_info['key_name'] || @provider.ssh_key, 'key' => server_info['key_name'] || @provider.ssh_key,
'project' => @project.id, 'project' => @project.id,
'provider' => @provider.name, 'provider' => @stack.provider,
'provider_account' => @stack.provider_account,
'remote_user' => mongo.image(@deploy_env.image).remote_user, 'remote_user' => mongo.image(@deploy_env.image).remote_user,
'private_ip' => server_info['private_ip'], 'private_ip' => server_info['private_ip'],
'public_ip' => server_info['public_ip'], 'public_ip' => server_info['public_ip'],