From 46282d8e71e545aeb713fc926e2274ab399409e0 Mon Sep 17 00:00:00 2001 From: Jan Orel Date: Tue, 16 Jun 2020 12:17:51 +0200 Subject: [PATCH] M #-: Fix ec2_driver vms monitoring Avoid reusing global `vm` var in threads. (cherry picked from commit f4bac81b8a7e07ed2c40e28de354c06cb0f44a58) --- src/vmm_mad/remotes/ec2/ec2_driver.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vmm_mad/remotes/ec2/ec2_driver.rb b/src/vmm_mad/remotes/ec2/ec2_driver.rb index 53c897b853..37921ed166 100755 --- a/src/vmm_mad/remotes/ec2/ec2_driver.rb +++ b/src/vmm_mad/remotes/ec2/ec2_driver.rb @@ -718,7 +718,6 @@ class EC2Driver # rubocop:disable Layout/LineLength vpool = OpenNebula::VirtualMachinePool.new(OpenNebula::Client.new, OpenNebula::VirtualMachinePool::INFO_ALL_VM) - # rubocop:enable Layout/LineLength vpool.info vpool.each do |vm| @@ -728,16 +727,17 @@ class EC2Driver @ec2.instances.each {|i| work_q.push i } else # The same but just for a single VM - vm = OpenNebula::VirtualMachine.new_with_id(deploy_id, - OpenNebula::Client.new) - vm.info - onevm_info[deploy_id] = vm + one_vm = OpenNebula::VirtualMachine.new_with_id(deploy_id, + OpenNebula::Client.new) + one_vm.info + onevm_info[deploy_id] = one_vm work_q.push get_instance(deploy_id) + # rubocop:enable Layout/LineLength end vms = [] - workers = (0...20).map do + workers = (0...[work_q.length, 20].min).map do Thread.new do begin while (i = work_q.pop(true))