#879: tags methods

This commit is contained in:
amartynov 2015-11-23 14:55:53 +03:00
parent 27437914a1
commit c7307a339f
2 changed files with 27 additions and 32 deletions

View File

@ -74,8 +74,18 @@ module Devops
@server
end
def create_server_object options
Devops::Model::Server.new({
"project" => @project.id,
"deploy_env" => @deploy_env.identifier,
"created_by" => options["created_by"],
"provider" => @deploy_env.provider,
"provider_account" => @deploy_env.provider_account
})
end
def create_server options
@server = Devops::Model::Server.new({"project" => @project.id, "deploy_env" => @deploy_env.identifier, "created_by" => options["created_by"], "provider" => @deploy_env.provider, "provider_account" => @deploy_env.provider_account})
@server = create_server_object(options)
@server.set_last_operation(Devops::Model::Server::OperationType::CREATION)
provider = @deploy_env.provider_instance
mongo = ::Devops::Db.connector

View File

@ -152,7 +152,8 @@ module Provider
end
s.public_ip = details["ipAddress"]
s.private_ip = details["privateIpAddress"]
tags = set_server_tags(s)
tags = server_tags(s)
compute.create_tags(s.id, tags)
out << "\nServer tags: #{tags.inspect}\n"
out << "\nDone\n\n"
out << s.info
@ -160,16 +161,14 @@ module Provider
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
def server_tags server
{
"Name" => server.chef_node_name,
"cid:project" => server.project,
"cid:deployEnv" => server.deploy_env,
"cid:user" => server.created_by,
"cid:remoteUser" => server.remote_user
}
compute.create_tags(s.id, tags)
tags
end
def delete_server s
@ -231,18 +230,11 @@ module Provider
'TemplateBody' => stack.template_body,
'Parameters' => stack.parameters || {},
'Capabilities' => ['CAPABILITY_IAM'],
'Tags' => {
"StackName" => stack.name,
"StackTemplate" => stack.stack_template,
"cid:project" => stack.project,
"cid:deployEnv" => stack.deploy_env,
"cid:user" => stack.owner
}
'Tags' => stack_tags(stack)
}
)
stack.id = response.body['StackId']
out << "Stack id: #{stack.id}\n"
#set_stack_tags(stack, out)
out.flush
rescue Excon::Errors::Conflict => e
raise ProviderErrors::NameConflict
@ -260,20 +252,13 @@ module Provider
end
end
def set_stack_tags stack, out=""
tags = {
# "cid:remoteUser" => s.remote_user
def stack_tags stack
{
"StackTemplate" => stack.stack_template,
"cid:project" => stack.project,
"cid:deployEnv" => stack.deploy_env,
"cid:user" => stack.owner
}
#ids = stack_resources(stack).map {|resource| resource['PhysicalResourceId']}
#ids << stack.id
#compute.create_tags(ids, tags)
stack_resources(stack).each do |resource|
begin
compute.create_tags(resource['PhysicalResourceId'], tags)
rescue Fog::Compute::AWS::Error => e
out << "Error: " + e.message
end
end
end
def validate_stack_template template