fix several bugs
This commit is contained in:
parent
6c7a700861
commit
da7d78f843
@ -19,7 +19,7 @@ module Devops
|
|||||||
|
|
||||||
def create_stack_template provider
|
def create_stack_template provider
|
||||||
body = parser.create
|
body = parser.create
|
||||||
template_model = Model::StackTemplateFactory.create(provider, {'template_body' => body.to_json})
|
template_model = Model::StackTemplateFactory.create(provider, body)
|
||||||
Devops::Db.connector.stack_template_insert(template_model)
|
Devops::Db.connector.stack_template_insert(template_model)
|
||||||
template_model
|
template_model
|
||||||
end
|
end
|
||||||
|
|||||||
@ -34,7 +34,7 @@ module Devops
|
|||||||
body = create_object_from_json_body
|
body = create_object_from_json_body
|
||||||
check_string(body["name"], "Parameter 'name' must be a not empty string")
|
check_string(body["name"], "Parameter 'name' must be a not empty string")
|
||||||
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
||||||
check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
# check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
||||||
Devops::Model::Project.new(body)
|
Devops::Model::Project.new(body)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ module Devops
|
|||||||
def update
|
def update
|
||||||
body = create_object_from_json_body
|
body = create_object_from_json_body
|
||||||
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
check_array(body["deploy_envs"], "Parameter 'deploy_envs' must be a not empty array of objects", Hash)
|
||||||
check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
# check_array(body["run_list"], "Parameter 'run_list' must be a not empty array of string", String, false, true)
|
||||||
Devops::Model::Project.new(body)
|
Devops::Model::Project.new(body)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
require "db/mongo/models/model_with_provider"
|
require "db/mongo/models/model_with_provider"
|
||||||
|
require "providers/exceptions/name_conflict"
|
||||||
|
|
||||||
module Devops
|
module Devops
|
||||||
module Model
|
module Model
|
||||||
class StackBase < MongoModel
|
class StackBase < MongoModel
|
||||||
@ -41,12 +43,17 @@ module Devops
|
|||||||
name: name,
|
name: name,
|
||||||
parameters: parameters,
|
parameters: parameters,
|
||||||
# details are required to proper status handling
|
# details are required to proper status handling
|
||||||
details: details,
|
details: bson_safe_details,
|
||||||
stack_status: stack_status,
|
stack_status: stack_status,
|
||||||
owner: owner
|
owner: owner
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# overrided in ec2
|
||||||
|
def bson_safe_details
|
||||||
|
details
|
||||||
|
end
|
||||||
|
|
||||||
def create_stack_in_cloud! out
|
def create_stack_in_cloud! out
|
||||||
begin
|
begin
|
||||||
provider_instance.create_stack(self, out)
|
provider_instance.create_stack(self, out)
|
||||||
@ -60,7 +67,7 @@ module Devops
|
|||||||
end
|
end
|
||||||
|
|
||||||
def sync_details!
|
def sync_details!
|
||||||
self.details = provider_instance.stack_details(self)#.attributes
|
self.details = provider_instance.stack_details(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def resources
|
def resources
|
||||||
|
|||||||
@ -11,11 +11,12 @@ module Devops
|
|||||||
details['StackStatus'] if details
|
details['StackStatus'] if details
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
def bson_safe_details
|
||||||
def self.provider
|
return unless details
|
||||||
'ec2'
|
result = details.dup
|
||||||
|
result['CreationTime'] = result['CreationTime'].to_s
|
||||||
|
result
|
||||||
end
|
end
|
||||||
=end
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -7,7 +7,7 @@ module Devops
|
|||||||
class StackTemplateFactory
|
class StackTemplateFactory
|
||||||
|
|
||||||
def self.create(provider, attrs)
|
def self.create(provider, attrs)
|
||||||
attrs['id'] = "#{provider}_stack_template_#{Time.new.to_i}"
|
attrs['id'] ||= "#{provider}_stack_template_#{Time.new.to_i}"
|
||||||
attrs['provider'] = provider
|
attrs['provider'] = provider
|
||||||
st = get_class(provider).create(attrs)
|
st = get_class(provider).create(attrs)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -274,7 +274,7 @@ module Provider
|
|||||||
end
|
end
|
||||||
|
|
||||||
def create_default_stack_name s
|
def create_default_stack_name s
|
||||||
"stack-#{self.ssh_key}-#{s.project}-#{s.deploy_env}-#{Time.now.to_i}"
|
"stack-#{self.ssh_key}-#{s.project}-#{s.deploy_env}-#{Time.now.to_i}".gsub('_', '-')
|
||||||
end
|
end
|
||||||
private
|
private
|
||||||
def convert_groups list
|
def convert_groups list
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user