def test_cluster_relationships(appliance, soft_assert): """Tests vm power options from on Metadata: test_flag: inventory Polarion: assignee: pvala casecomponent: Reporting caseimportance: high initialEstimate: 1/6h """ report = appliance.collections.reports.instantiate( type="Relationships", subtype="Virtual Machines, Folders, Clusters", menu_name="Cluster Relationships").queue(wait_for_finish=True) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name) host_name = relation["Host Name"].strip() cluster_list = provider.mgmt.list_clusters() if isinstance( provider, SCVMMProvider) else provider.mgmt.list_cluster() verified_cluster = [item for item in cluster_list if name in item] soft_assert(verified_cluster, "Cluster {} not found in {}".format(name, provider_name)) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue host_list = provider.mgmt.list_host() for host in host_list: if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert( False, "Hostname {} not found in {}".format(host_name, provider_name))
def test_cluster_relationships(appliance, soft_assert): """Tests vm power options from on Metadata: test_flag: inventory Polarion: assignee: pvala casecomponent: Reporting caseimportance: high initialEstimate: 1/6h """ report = appliance.collections.reports.instantiate( type="Relationships", subtype="Virtual Machines, Folders, Clusters", menu_name="Cluster Relationships" ).queue(wait_for_finish=True) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name) host_name = relation["Host Name"].strip() cluster_list = provider.mgmt.list_clusters() if isinstance( provider, SCVMMProvider) else provider.mgmt.list_cluster() verified_cluster = [item for item in cluster_list if name in item] soft_assert(verified_cluster, "Cluster {} not found in {}".format(name, provider_name)) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue host_list = provider.mgmt.list_hosts() if isinstance( provider, SCVMMProvider) else provider.mgmt.list_host() for host in host_list: if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert(False, "Hostname {} not found in {}".format(host_name, provider_name))
def test_cluster_relationships(soft_assert): path = [ "Relationships", "Virtual Machines, Folders, Clusters", "Cluster Relationships" ] report = CannedSavedReport.new(path) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name).mgmt host_name = relation["Host Name"].strip() verified_cluster = [ item for item in provider.list_cluster() if name in item ] soft_assert(verified_cluster, "Cluster {} not found in {}".format(name, provider_name)) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue for host in provider.list_host(): if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert( False, "Hostname {} not found in {}".format(host_name, provider_name))
def test_cluster_relationships(appliance, soft_assert): report = appliance.collections.reports.instantiate( type="Relationships", subtype="Virtual Machines, Folders, Clusters", menu_name="Cluster Relationships").queue(wait_for_finish=True) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name).mgmt host_name = relation["Host Name"].strip() verified_cluster = [ item for item in provider.list_cluster() if name in item ] soft_assert(verified_cluster, "Cluster {} not found in {}".format(name, provider_name)) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue for host in provider.list_host(): if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert( False, "Hostname {} not found in {}".format(host_name, provider_name))
def test_cluster_relationships(appliance, soft_assert): report = appliance.collections.reports.instantiate( type="Relationships", subtype="Virtual Machines, Folders, Clusters", menu_name="Cluster Relationships" ).queue(wait_for_finish=True) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name).mgmt host_name = relation["Host Name"].strip() verified_cluster = [item for item in provider.list_cluster() if name in item] soft_assert(verified_cluster, "Cluster {} not found in {}".format(name, provider_name)) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue for host in provider.list_host(): if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert(False, "Hostname {} not found in {}".format(host_name, provider_name))
def test_cluster_relationships(soft_assert): path = ["Relationships", "Virtual Machines, Folders, Clusters", "Cluster Relationships"] report = CannedSavedReport.new(path) for relation in report.data.rows: name = relation["Name"] provider_name = relation["Provider Name"] if not provider_name.strip(): # If no provider name specified, ignore it continue provider = get_crud_by_name(provider_name).mgmt host_name = relation["Host Name"].strip() soft_assert(name in provider.list_cluster(), "Cluster {} not found in {}".format( name, provider_name )) if not host_name: continue # No host name host_ip = resolve_hostname(host_name, force=True) if host_ip is None: # Don't check continue for host in provider.list_host(): if ip_address.match(host) is None: host_is_ip = False ip_from_provider = resolve_hostname(host, force=True) else: host_is_ip = True ip_from_provider = host if not host_is_ip: # Strings first if host == host_name: break elif host_name.startswith(host): break elif ip_from_provider is not None and ip_from_provider == host_ip: break else: if host_ip == ip_from_provider: break else: soft_assert(False, "Hostname {} not found in {}".format(host_name, provider_name))