diff --git a/app/models/manageiq/providers/storage_manager/cinder_manager/refresh_parser.rb b/app/models/manageiq/providers/storage_manager/cinder_manager/refresh_parser.rb index 9d96dcb0484..b4f82587442 100644 --- a/app/models/manageiq/providers/storage_manager/cinder_manager/refresh_parser.rb +++ b/app/models/manageiq/providers/storage_manager/cinder_manager/refresh_parser.rb @@ -18,7 +18,7 @@ def initialize(ems, options = nil) @data = {} @data_index = {} - @cinder_service = ems.parent_manager.cinder_service + @cinder_service = ems.&parent_manager&.cinder_service end def ems_inv_to_hashes @@ -39,7 +39,7 @@ def ems_inv_to_hashes end def volumes - @volumes ||= @cinder_service.handled_list(:volumes) + @volumes ||= @cinder_service&.handled_list(:volumes) end def get_volumes @@ -47,13 +47,13 @@ def get_volumes end def get_snapshots - process_collection(@cinder_service.handled_list(:list_snapshots_detailed, + process_collection(@cinder_service&.handled_list(:list_snapshots_detailed, :__request_body_index => "snapshots"), :cloud_volume_snapshots) { |snap| parse_snapshot(snap) } end def get_backups - process_collection(@cinder_service.list_backups_detailed.body["backups"], + process_collection(@cinder_service&.list_backups_detailed.body["backups"], :cloud_volume_backups) { |backup| parse_backup(backup) } end diff --git a/app/models/manageiq/providers/storage_manager/swift_manager/refresh_parser.rb b/app/models/manageiq/providers/storage_manager/swift_manager/refresh_parser.rb index ce3b9ae90b0..ebaca866c46 100644 --- a/app/models/manageiq/providers/storage_manager/swift_manager/refresh_parser.rb +++ b/app/models/manageiq/providers/storage_manager/swift_manager/refresh_parser.rb @@ -16,7 +16,7 @@ def initialize(ems, options = nil) @data = {} @data_index = {} - @swift_service = ems.parent_manager.swift_service + @swift_service = ems.parent_manager&.swift_service end def ems_inv_to_hashes @@ -34,7 +34,7 @@ def ems_inv_to_hashes end def object_store - return if @swift_service.blank? || @swift_service.name != :swift + return if @swift_service.nil? || @swift_service.blank? || @swift_service.name != :swift @swift_service.handled_list(:directories).each do |dir| result = process_collection_item(dir, :cloud_object_store_containers) { |c| parse_container(c, dir.project) } diff --git a/app/models/mixins/cinder_manager_mixin.rb b/app/models/mixins/cinder_manager_mixin.rb index 3a816fb2098..c08b92613f7 100644 --- a/app/models/mixins/cinder_manager_mixin.rb +++ b/app/models/mixins/cinder_manager_mixin.rb @@ -18,7 +18,6 @@ module CinderManagerMixin private def ensure_cinder_managers - return false unless cinder_service created = ensure_cinder_manager cinder_manager.name = "#{name} Cinder Manager" cinder_manager.zone_id = zone_id diff --git a/app/models/mixins/swift_manager_mixin.rb b/app/models/mixins/swift_manager_mixin.rb index 9561569991b..8bcb8944749 100644 --- a/app/models/mixins/swift_manager_mixin.rb +++ b/app/models/mixins/swift_manager_mixin.rb @@ -15,7 +15,6 @@ module SwiftManagerMixin private def ensure_swift_managers - return false unless swift_service created = ensure_swift_manager swift_manager.name = "#{name} Swift Manager" swift_manager.zone_id = zone_id diff --git a/spec/models/manageiq/providers/cloud_manager_spec.rb b/spec/models/manageiq/providers/cloud_manager_spec.rb index 7143697386a..78818b0bbf5 100644 --- a/spec/models/manageiq/providers/cloud_manager_spec.rb +++ b/spec/models/manageiq/providers/cloud_manager_spec.rb @@ -27,7 +27,7 @@ end context "OpenStack CloudTenant Mapping" do - let(:ems_cloud) { FactoryGirl.create(:ems_openstack, :tenant_mapping_enabled => true) } + let(:ems_cloud) { FactoryGirl.create(:ems_openstack_with_authentication, :tenant_mapping_enabled => true) } let(:ems_infra) { FactoryGirl.create(:ext_management_system) } describe "#supports_cloud_tenant_mapping" do