From 6419cbfe7355640a4c7b6247dd7e6d2694ddbf48 Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Wed, 13 Jul 2016 18:48:46 +0300 Subject: [PATCH] CID-540: change deploy envs of servers and stack on renaming env --- devops-service/app/api2/handlers/project.rb | 2 ++ devops-service/db/mongo/connectors/server.rb | 4 ++++ devops-service/db/mongo/connectors/stack.rb | 4 ++++ devops-service/db/mongo/mongo_connector.rb | 5 +++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/devops-service/app/api2/handlers/project.rb b/devops-service/app/api2/handlers/project.rb index 097737f..873b18d 100644 --- a/devops-service/app/api2/handlers/project.rb +++ b/devops-service/app/api2/handlers/project.rb @@ -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 diff --git a/devops-service/db/mongo/connectors/server.rb b/devops-service/db/mongo/connectors/server.rb index c48fe8c..fc5db60 100644 --- a/devops-service/db/mongo/connectors/server.rb +++ b/devops-service/db/mongo/connectors/server.rb @@ -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) diff --git a/devops-service/db/mongo/connectors/stack.rb b/devops-service/db/mongo/connectors/stack.rb index 5280b64..b3d469a 100644 --- a/devops-service/db/mongo/connectors/stack.rb +++ b/devops-service/db/mongo/connectors/stack.rb @@ -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) diff --git a/devops-service/db/mongo/mongo_connector.rb b/devops-service/db/mongo/mongo_connector.rb index bf8f5eb..4acd44b 100644 --- a/devops-service/db/mongo/mongo_connector.rb +++ b/devops-service/db/mongo/mongo_connector.rb @@ -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,