Merge branch 'CID-428-increments_in_stack_node_names' into features

This commit is contained in:
Anton Chuchkalov 2016-03-11 13:15:26 +03:00
commit 672c621442
3 changed files with 10 additions and 7 deletions

View File

@ -35,8 +35,8 @@ RSpec.describe ChefNodeNameBuilder do
end
describe '#build_node_name' do
it 'uses default mask (":project-:instancename-:env")' do
expect(build_node_name).to eq 'proj-master01-dev'
it 'uses default mask (":project-:env-:instanceid")' do
expect(build_node_name).to eq 'proj-dev-i-fac32c7e'
end
it 'substitutes :project, :env, :instanceid and :instancename' do

View File

@ -9,7 +9,7 @@ RSpec.describe StackServersPersister, stubbed_connector: true do
let(:provider) { instance_double(Provider::Ec2, name: 'ec2') }
let(:server_info_hash) do
{
'id' => 'server1',
'id' => 'i-abcdef',
'name' => 'server_name',
'key_name' => 'key',
'private_ip' => '127.0.0.1',
@ -50,7 +50,7 @@ RSpec.describe StackServersPersister, stubbed_connector: true do
it 'takes id, key_name, private_ip and public_ip attrs from info hash' do
expect(stubbed_connector).to receive(:server_insert) do |server|
expect(server.id).to eq 'server1'
expect(server.id).to eq 'i-abcdef'
expect(server.key).to eq 'key'
expect(server.private_ip).to eq '127.0.0.1'
expect(server.public_ip).to eq '127.0.0.2'
@ -98,9 +98,9 @@ RSpec.describe StackServersPersister, stubbed_connector: true do
persister.persist
end
it 'build chef_node_name with default mask ":project-:instancename-:env"' do
it 'build chef_node_name with default mask ":project-:env-:instanceid"' do
expect(stubbed_connector).to receive(:server_insert) do |server|
expect(server.chef_node_name).to eq 'name-server1-foo'
expect(server.chef_node_name).to eq 'name-foo-i-abcdef'
end
persister.persist
end

View File

@ -12,7 +12,10 @@
# but it's convenient to set mask tag directly to a stack (not in template): you set tag once and it propagates to all instances.
class ChefNodeNameBuilder
DEFAULT_MASK = ':project-:instancename-:env'
# We need to ensure that node name is uniq by default. We can't use :time to provide uniqueness because
# several servers are persisting at once on stack creating at it's likely that Time.now.to_i will give similar values
# to different servers. So (by default) we should use :instanceid.
DEFAULT_MASK = ':project-:env-:instanceid'
# @param attrs [Hash] should contain
# +:provider_server_info+