diff --git a/cfme/infrastructure/cluster.py b/cfme/infrastructure/cluster.py index dbdcce7707..cf44d4afa6 100644 --- a/cfme/infrastructure/cluster.py +++ b/cfme/infrastructure/cluster.py @@ -334,7 +334,7 @@ def all(self): providers_db = { prov.id: get_crud_by_name(prov.name) for prov in providers - if not (getattr(prov, "parent_ems_id", False) and ("Manager" in prov.name)) + if not (getattr(prov, "parent_ems_id", False) or ("Manager" in prov.name)) } cluster_obj = [ self.instantiate(name=cluster.name, provider=providers_db[cluster.ems_id]) diff --git a/cfme/infrastructure/datastore.py b/cfme/infrastructure/datastore.py index 6b8b510647..adf8112b04 100644 --- a/cfme/infrastructure/datastore.py +++ b/cfme/infrastructure/datastore.py @@ -331,11 +331,18 @@ def all(self): datastores = self.appliance.rest_api.collections.data_stores.all_include_attributes( attributes=["hosts"] ) - datastore_db = {ds.name: ds.hosts[0]["ems_id"] for ds in datastores if ds.hosts} + datastore_db = {} + + for ds in datastores: + for host in ds.hosts: + if host.get("ems_id"): + datastore_db.update({ds.name: host.get("ems_id")}) + break + provider_db = { prov.id: get_crud_by_name(prov.name) for prov in self.appliance.rest_api.collections.providers.all - if not (getattr(prov, "parent_ems_id", False) and ("Manager" in prov.name)) + if not (getattr(prov, "parent_ems_id", False) or ("Manager" in prov.name)) } datastores = [ self.instantiate(name=name, provider=provider_db[prov_id])