From d08101193819af6313ea77a200678cc344368b07 Mon Sep 17 00:00:00 2001 From: Alejandro Huertas Herrero Date: Wed, 13 Jan 2021 13:48:54 +0100 Subject: [PATCH] M #-: fix minor bug in providers (#631) --- src/oneprovision/lib/provider/provider.rb | 4 +--- src/oneprovision/lib/provision/provision.rb | 19 +++++++++++-------- .../provision/resources/physical/cluster.rb | 6 +++--- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/oneprovision/lib/provider/provider.rb b/src/oneprovision/lib/provider/provider.rb index 4626110c13..694c61d097 100644 --- a/src/oneprovision/lib/provider/provider.rb +++ b/src/oneprovision/lib/provider/provider.rb @@ -85,9 +85,7 @@ module OneProvision return rc if OpenNebula.is_error?(rc) pool.each do |p| - next unless p.body['provider'] == body['provider'] - - next if p.body['state'] == Provision::STATE['DONE'] + next unless p.body['provider'] == self['NAME'] return OpenNebula::Error.new( 'Provider can not be deleted, it is used by ' \ diff --git a/src/oneprovision/lib/provision/provision.rb b/src/oneprovision/lib/provision/provision.rb index e6010001af..0ce9d73353 100644 --- a/src/oneprovision/lib/provision/provision.rb +++ b/src/oneprovision/lib/provision/provision.rb @@ -112,19 +112,22 @@ module OneProvision # Get cluster information def cluster - return nil unless infrastructure_objects + return unless infrastructure_objects + infrastructure_objects['clusters'][0] end # Returns provision hosts def hosts - return nil unless infrastructure_objects + return unless infrastructure_objects + infrastructure_objects['hosts'] end # Returns provision datastores def datastores - return nil unless infrastructure_objects + return unless infrastructure_objects + infrastructure_objects['datastores'] end @@ -247,7 +250,8 @@ module OneProvision return OpenNebula::Error.new('No provider found') end - @provider = provider + @provider = provider + if cfg['inputs'].nil? cfg['inputs'] = provider.inputs else @@ -538,7 +542,7 @@ module OneProvision OneProvisionLogger.debug(msg) - datastores = cfg['cluster'].delete("datastores") + datastores = cfg['cluster'].delete('datastores') obj = Cluster.new(nil, cfg['cluster']) @@ -546,7 +550,7 @@ module OneProvision id = obj.create - datastores.each { |i| obj.adddatastore(i) } if datastores + datastores.each {|i| obj.adddatastore(i) } if datastores infrastructure_objects['clusters'] = [] infrastructure_objects['clusters'] << { 'id' => id, @@ -570,8 +574,7 @@ module OneProvision cfg[r].each do |x| Driver.retry_loop('Failed to create some resources', self) do - - x['provision'] = {'id' => @id } + x['provision'] = { 'id' => @id } obj = Resource.object(r, nil, x) next if obj.nil? diff --git a/src/oneprovision/lib/provision/resources/physical/cluster.rb b/src/oneprovision/lib/provision/resources/physical/cluster.rb index 9b8fa4106d..d72da25e24 100644 --- a/src/oneprovision/lib/provision/resources/physical/cluster.rb +++ b/src/oneprovision/lib/provision/resources/physical/cluster.rb @@ -79,9 +79,9 @@ module OneProvision end # Remove non-provision elements added to the cluster - @one.datastore_ids.each { |i| @one.deldatastore(i) } - @one.vnet_ids.each { |i| @one.delvnet(i) } - @one.host_ids.each { |i| @one.delhost(i) } + @one.datastore_ids.each {|i| @one.deldatastore(i) } + @one.vnet_ids.each {|i| @one.delvnet(i) } + @one.host_ids.each {|i| @one.delhost(i) } Utils.exception(@one.delete)