From 1c4caaf3c948b925d2faae39d536b625ec2a8619 Mon Sep 17 00:00:00 2001 From: Maysa Macedo Date: Wed, 8 Nov 2017 10:06:35 -0300 Subject: [PATCH] Add physical server refresh --- .../api/physical_servers_controller.rb | 22 +++++++++++++++++++ config/api.yml | 4 ++++ 2 files changed, 26 insertions(+) diff --git a/app/controllers/api/physical_servers_controller.rb b/app/controllers/api/physical_servers_controller.rb index e7bbf6a643..4f0fe11e3e 100644 --- a/app/controllers/api/physical_servers_controller.rb +++ b/app/controllers/api/physical_servers_controller.rb @@ -40,6 +40,24 @@ def restart_mgmt_controller_resource(type, id, _data) change_resource_state(:restart_mgmt_controller, type, id) end + def refresh_physical_server(physical_server) + desc = "#{physical_server_ident(physical_server)} refreshing" + task_id = queue_object_action(physical_server, desc, :method_name => "refresh_ems", :role => "ems_operations") + action_result(true, desc, :task_id => task_id) + rescue => err + action_result(false, err.to_s) + end + + def refresh_resource(type, id = nil, _data = nil) + raise BadRequestError, "Must specify an id for refreshing a #{type} resource" unless id + + api_action(type, id) do |klass| + physical_server = resource_search(id, type, klass) + api_log_info("Refreshing #{physical_server_ident(physical_server)}") + refresh_physical_server(physical_server) + end + end + private def change_resource_state(state, type, id) @@ -61,5 +79,9 @@ def change_resource_state(state, type, id) def server_ident(server) "Server instance: #{server.id} name:'#{server.name}'" end + + def physical_server_ident(physical_server) + "Physical Server id:#{physical_server.id} name:'#{physical_server.name}'" + end end end diff --git a/config/api.yml b/config/api.yml index fd64255d2c..e9de4c007c 100644 --- a/config/api.yml +++ b/config/api.yml @@ -1527,6 +1527,8 @@ :identifier: physical_server_power_off - :name: power_off_now :identifier: physical_server_power_off_now + - :name: refresh + :identifier: physical_server_refresh - :name: restart :identifier: physical_server_restart - :name: restart_now @@ -1552,6 +1554,8 @@ :identifier: physical_server_power_off - :name: power_off_now :identifier: physical_server_power_off_now + - :name: refresh + :identifier: physical_server_refresh - :name: restart :identifier: physical_server_restart - :name: restart_now