CID-540: change deploy envs of servers and stack on renaming env

This commit is contained in:
Anton Chuchkalov 2016-07-13 18:48:46 +03:00
parent 13b199d40e
commit 6419cbfe73
4 changed files with 13 additions and 2 deletions

View File

@ -102,6 +102,8 @@ module Devops
value = parser.update_deploy_env_field
if db_env.respond_to?(field + "=")
if field == "identifier"
Devops::Db.connector.change_servers_deploy_env(db_env.identifier, value)
Devops::Db.connector.change_stacks_deploy_env(db_env.identifier, value)
db_env.rename id, value
"Environment '#{deploy_env}' has been renamed to '#{value}'"
else

View File

@ -83,6 +83,10 @@ module Connectors
collection.update({"_id" => id}, {"$set" => {"run_list" => run_list}})
end
def change_servers_deploy_env(from, to)
collection.update({deploy_env: from}, {'$set' => {deploy_env: to}}, {multi: true})
end
private
def model_from_bson(bson)

View File

@ -43,6 +43,10 @@ module Connectors
model_from_bson(bson)
end
def change_stacks_deploy_env(from, to)
collection.update({deploy_env: from}, {'$set' => {deploy_env: to}}, {multi: true})
end
private
def model_from_bson(bson)

View File

@ -18,7 +18,7 @@ class MongoConnector
[:images, :image, :image_insert, :image_delete, :image_update] => :images_connector,
[:stack_templates, :stack_template, :stack_template_insert, :stack_template_delete, :stack_template_update] => :stack_templates_connector,
[:stacks, :stack, :stack_insert, :stack_delete, :stack_update, :set_stack_run_list,
:stack_by_id, :lock_persisting_stack, :unlock_persisting_stack] => :stacks_connector,
:stack_by_id, :lock_persisting_stack, :unlock_persisting_stack, :change_stacks_deploy_env] => :stacks_connector,
[:available_images, :add_available_images, :delete_available_images] => :filters_connector,
[:project, :projects_all, :projects, :project_names_with_envs,
:projects_by_image, :projects_by_user, :project_insert, :project_update,
@ -28,7 +28,8 @@ 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_by_project_and_deploy_env] => :servers_connector,
:server_delete, :server_update, :server_set_chef_node_name, :stack_servers_delete, :set_server_run_list,
:servers_by_project_and_deploy_env, :change_servers_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,