From 21f66cbdf58f9c71c6cb597f9bd3f2c94363a2e5 Mon Sep 17 00:00:00 2001 From: Anton Martynov Date: Wed, 16 Sep 2015 14:07:46 +0300 Subject: [PATCH] #720: done --- devops-service/providers/base_provider.rb | 6 +++++ devops-service/providers/ec2.rb | 27 ++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/devops-service/providers/base_provider.rb b/devops-service/providers/base_provider.rb index 12f804a..d383208 100644 --- a/devops-service/providers/base_provider.rb +++ b/devops-service/providers/base_provider.rb @@ -37,5 +37,11 @@ module Provider def unset_tags instance_id, tags end + def set_server_tags server + end + + def set_stack_tags stack + end + end end diff --git a/devops-service/providers/ec2.rb b/devops-service/providers/ec2.rb index fb1ea1c..d9b9a84 100644 --- a/devops-service/providers/ec2.rb +++ b/devops-service/providers/ec2.rb @@ -150,13 +150,24 @@ module Provider end s.public_ip = details["ipAddress"] s.private_ip = details["privateIpAddress"] - compute.create_tags(s.id, {"Name" => s.chef_node_name}) + set_server_tags(s) out << "\nDone\n\n" out << s.info true end + def set_server_tags s + tags = { + "Name" => s.chef_node_name, + "cid:project" => s.project, + "cid:deployEnv" => s.deploy_env, + "cid:user" => s.created_by, + "cid:remoteUser" => s.remote_user + } + compute.create_tags(s.id, tags) + end + def delete_server s r = self.compute.terminate_instances(s.id) i = r.body["instancesSet"][0] @@ -220,6 +231,7 @@ module Provider ) stack.id = response.body['StackId'] out << "Stack id: #{stack.id}\n" + set_stack_tags(stack) out.flush rescue Excon::Errors::Conflict => e raise ProviderErrors::NameConflict @@ -237,6 +249,19 @@ module Provider end end + def set_stack_tags stack + tags = { + "StackName" => stack.name, + "cid:project" => stack.project, + "cid:deployEnv" => stack.deploy_env, + "cid:user" => stack.created_by +# "cid:remoteUser" => s.remote_user + } + ids = stack_resource(stack).map {|resource| resource['PhysicalResourceId']} + ids << stack.id + compute.create_tags(ids, tags) + end + def validate_stack_template template r = cloud_formation.validate_template({'TemplateBody' => template}) pp r.body