Merge branch 'features' of git.stu.neva.ru:cloudtechlab/devops-service into features

This commit is contained in:
Anton Chuchkalov 2015-11-23 17:26:20 +03:00
commit 424a3b19e2
2 changed files with 30 additions and 35 deletions

View File

@ -75,8 +75,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, options["created_by"])
provider = @deploy_env.provider_instance
mongo = ::Devops::Db.connector

View File

@ -153,7 +153,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
@ -161,16 +162,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
@ -232,18 +231,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
@ -261,24 +253,17 @@ module Provider
end
end
def update_stack(stack, params)
cloud_formation.update_stack(stack.name, params)
def stack_tags stack
{
"StackTemplate" => stack.stack_template,
"cid:project" => stack.project,
"cid:deployEnv" => stack.deploy_env,
"cid:user" => stack.owner
}
end
def set_stack_tags stack, out=""
tags = {
# "cid:remoteUser" => s.remote_user
}
#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
def update_stack(stack, params)
cloud_formation.update_stack(stack.name, params)
end
def validate_stack_template template