This commit is contained in:
amartynov 2015-09-11 16:26:41 +03:00
parent e893beaf55
commit 27bdf96136
3 changed files with 8 additions and 1 deletions

View File

@ -62,6 +62,8 @@ module Devops
env = parser.add_or_update_deploy_env
begin
db_env = project.deploy_env(deploy_env)
servers = Devops::Db.connector.servers_by_project_and_deploy_env(id, deploy_env)
raise InvalidRecord.new("Can not update environment '#{deploy_env}', there are #{servers.size} servers on it") unless servers.empty?
begin
project.deploy_env(env.identifier)
raise InvalidRecord.new("Can not change environment '#{deploy_env}' to '#{env.identifier}', environment '#{env.identifier}' already exist") unless deploy_env == env.identifier

View File

@ -41,6 +41,11 @@ module Connectors
list(query)
end
def servers_by_project_and_deploy_env project, env
query = {project: project, deploy_env: env}
list(query)
end
def server_by_instance_id(id)
find_server('_id' => id)
end

View File

@ -26,7 +26,7 @@ class MongoConnector
:project_template_delete] => :projects_templates_connector,
[:servers_find, :servers, :stack_servers, :servers_by_names, :server_by_instance_id,
:server_by_chef_node_name, :servers_by_key, :server_insert,
:server_delete, :server_update, :server_set_chef_node_name, :stack_servers_delete, :set_server_run_list] => :servers_connector,
:server_delete, :server_update, :server_set_chef_node_name, :stack_servers_delete, :set_server_run_list, :servers_by_project_and_deploy_env] => :servers_connector,
[:user_auth, :user, :users, :users_names, :user_insert, :user_delete,
:user_update, :create_root_user, :check_user_privileges] => :users_connector,
[:keys, :key, :key_insert, :key_delete] => :keys_connector,