From 8cae6d337fcf9de55c922fbf4e2298dacf8b2ef6 Mon Sep 17 00:00:00 2001 From: Adam Grare Date: Thu, 29 Jun 2023 09:08:43 -0400 Subject: [PATCH] Merge pull request #462 from jaywcarman/fix_powervs_provision_with_new_volumes PowerVS: Attach newly created volumes during VM provision (cherry picked from commit e9a033a9521e40f7098794be5b66eb5c0afacb6a) --- .../power_virtual_servers/cloud_manager/provision/cloning.rb | 2 +- .../cloud_manager/provision/state_machine.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/cloning.rb b/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/cloning.rb index 832ed307e..8b3d40b64 100644 --- a/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/cloning.rb +++ b/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/cloning.rb @@ -82,7 +82,7 @@ def prepare_for_clone attached_volumes = options[:cloud_volumes] || [] attached_volumes.concat(phase_context[:new_volumes]).compact! - specs['volume_ids'] = attached_volumes unless attached_volumes.empty? + specs['volume_ids'] = attached_volumes.uniq unless attached_volumes.empty? attached_networks = case get_option(:vlan) when 'None' diff --git a/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/state_machine.rb b/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/state_machine.rb index 81252a89a..902b12458 100644 --- a/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/state_machine.rb +++ b/app/models/manageiq/providers/ibm_cloud/power_virtual_servers/cloud_manager/provision/state_machine.rb @@ -15,9 +15,10 @@ def prepare_volumes_and_networks if new_volumes.any? source.with_provider_connection(:service => "PCloudVolumesApi") do |api| new_volumes.each do |new_volume| - api.pcloud_cloudinstances_volumes_post( + new_volume = api.pcloud_cloudinstances_volumes_post( cloud_instance_id, IbmCloudPower::CreateDataVolume.new(new_volume) ) + phase_context[:new_volumes] << new_volume.volume_id end end end