From f7af94ea39429d3255c469e3498572abade799a9 Mon Sep 17 00:00:00 2001 From: sergiojvg Date: Fri, 22 Mar 2019 05:37:21 -0600 Subject: [PATCH] F #1896: Solve getting host id from pool instead of drv_action (#3094) * F #1896: Get host id from drv_action on shutdown Signed-off-by: Sergio Vega * F #1896: Get host id from drv_action on every supported action Signed-off-by: Sergio Vega --- src/vmm_mad/remotes/vcenter/attach_disk | 5 ++--- src/vmm_mad/remotes/vcenter/attach_nic | 4 +--- src/vmm_mad/remotes/vcenter/cancel | 5 ++--- src/vmm_mad/remotes/vcenter/detach_disk | 4 +--- src/vmm_mad/remotes/vcenter/detach_nic | 4 +--- src/vmm_mad/remotes/vcenter/shutdown | 5 ++--- src/vmm_mad/remotes/vcenter/snapshot_create | 3 +-- 7 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/vmm_mad/remotes/vcenter/attach_disk b/src/vmm_mad/remotes/vcenter/attach_disk index 269c88346f..6b79f6b530 100755 --- a/src/vmm_mad/remotes/vcenter/attach_disk +++ b/src/vmm_mad/remotes/vcenter/attach_disk @@ -36,10 +36,9 @@ drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(drv_action_enc), 'VMM_DRIVER_ACTION_DATA') +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] + vc_cluster_name = drv_action['/VMM_DRIVER_ACTION_DATA/HOST'] -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, - vc_cluster_name) -host_id = host['ID'] begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) diff --git a/src/vmm_mad/remotes/vcenter/attach_nic b/src/vmm_mad/remotes/vcenter/attach_nic index c848861b02..ad9a685e33 100755 --- a/src/vmm_mad/remotes/vcenter/attach_nic +++ b/src/vmm_mad/remotes/vcenter/attach_nic @@ -35,9 +35,7 @@ vc_cluster_name = ARGV[-1] drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(STDIN.read), 'VMM_DRIVER_ACTION_DATA') -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, - vc_cluster_name) -host_id = host['ID'] +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) diff --git a/src/vmm_mad/remotes/vcenter/cancel b/src/vmm_mad/remotes/vcenter/cancel index d9f9f96c2a..bc3e5269d2 100755 --- a/src/vmm_mad/remotes/vcenter/cancel +++ b/src/vmm_mad/remotes/vcenter/cancel @@ -36,13 +36,12 @@ vm_id = ARGV[-2] drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(STDIN.read), 'VMM_DRIVER_ACTION_DATA') +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] + lcm_state = drv_action['/VMM_DRIVER_ACTION_DATA/VM/LCM_STATE'] check_valid(lcm_state, 'lcm_state') lcm_state_str = OpenNebula::VirtualMachine::LCM_STATE[lcm_state.to_i] -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, host) -host_id = host['ID'] - begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) diff --git a/src/vmm_mad/remotes/vcenter/detach_disk b/src/vmm_mad/remotes/vcenter/detach_disk index f9704d0e41..e0958f8245 100755 --- a/src/vmm_mad/remotes/vcenter/detach_disk +++ b/src/vmm_mad/remotes/vcenter/detach_disk @@ -35,9 +35,7 @@ vc_cluster_name = ARGV[-1] drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(STDIN.read), 'VMM_DRIVER_ACTION_DATA') -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, - vc_cluster_name) -host_id = host['ID'] +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) diff --git a/src/vmm_mad/remotes/vcenter/detach_nic b/src/vmm_mad/remotes/vcenter/detach_nic index 7ddf3becd2..72dfb61644 100755 --- a/src/vmm_mad/remotes/vcenter/detach_nic +++ b/src/vmm_mad/remotes/vcenter/detach_nic @@ -35,9 +35,7 @@ vc_cluster_name = ARGV[3] drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(STDIN.read), 'VMM_DRIVER_ACTION_DATA') -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, - vc_cluster_name) -host_id = host['ID'] +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] begin vi_client = VCenterDriver::VIClient.new_from_host(host_id) diff --git a/src/vmm_mad/remotes/vcenter/shutdown b/src/vmm_mad/remotes/vcenter/shutdown index 817dac29d4..0a6166cb66 100755 --- a/src/vmm_mad/remotes/vcenter/shutdown +++ b/src/vmm_mad/remotes/vcenter/shutdown @@ -33,14 +33,13 @@ vm_ref = ARGV[0] vc_cluster_name = ARGV[1] vm_id = ARGV[2] -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, vc_cluster_name) -host_id = host['ID'] - drv_action_enc = STDIN.read.delete("\n") drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(drv_action_enc), 'VMM_DRIVER_ACTION_DATA') +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] + lcm_state = drv_action['/VMM_DRIVER_ACTION_DATA/VM/LCM_STATE'] check_valid(lcm_state, 'lcm_state') lcm_state_str = OpenNebula::VirtualMachine::LCM_STATE[lcm_state.to_i] diff --git a/src/vmm_mad/remotes/vcenter/snapshot_create b/src/vmm_mad/remotes/vcenter/snapshot_create index bc71311e16..0e3b99ef1b 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_create +++ b/src/vmm_mad/remotes/vcenter/snapshot_create @@ -36,8 +36,7 @@ vc_cluster_name = ARGV[3] drv_action = OpenNebula::XMLElement.new drv_action.initialize_xml(Base64.decode64(STDIN.read), 'VMM_DRIVER_ACTION_DATA') -host = VCenterDriver::VIHelper.find_by_name(OpenNebula::HostPool, vc_cluster_name) -host_id = host['ID'] +host_id = drv_action['VM/HISTORY_RECORDS/HISTORY/HID'] snap_name = drv_action["VM/TEMPLATE/SNAPSHOT[ACTIVE='YES']/NAME"]