Exemple #1
0
 def servers_in_db(cls,
                   name=None,
                   feed=None,
                   provider=None,
                   product=None,
                   server_group=None,
                   strict=True):
     servers = []
     rows = _db_select_query(name=name,
                             feed=feed,
                             provider=provider,
                             product=product,
                             server_group=server_group).all()
     _provider = provider
     for server in rows:
         if strict:
             _provider = get_crud_by_name(server.provider_name)
         servers.append(
             MiddlewareServer(name=server.name,
                              hostname=server.hostname,
                              feed=server.feed,
                              product=server.product,
                              db_id=server.id,
                              provider=_provider,
                              properties=parse_properties(
                                  server.properties)))
     return servers
Exemple #2
0
 def domains(cls, provider=None, strict=True):
     domains = []
     _get_domains_page(provider=provider)
     if sel.is_displayed(list_tbl):
         _provider = provider
         for _ in paginator.pages():
             for row in list_tbl.rows():
                 if strict:
                     _provider = get_crud_by_name(row.provider.text)
                 domains.append(MiddlewareDomain(
                     name=row.domain_name.text,
                     feed=row.feed.text,
                     provider=_provider))
     return domains
Exemple #3
0
 def domains(cls, provider=None, strict=True):
     domains = []
     _get_domains_page(provider=provider)
     if sel.is_displayed(list_tbl):
         _provider = provider
         for _ in paginator.pages():
             for row in list_tbl.rows():
                 if strict:
                     _provider = get_crud_by_name(row.provider.text)
                 domains.append(
                     MiddlewareDomain(name=row.domain_name.text,
                                      feed=row.feed.text,
                                      provider=_provider))
     return domains
Exemple #4
0
 def domains_in_db(cls, name=None, feed=None, provider=None, strict=True):
     domains = []
     rows = _db_select_query(name=name, feed=feed, provider=provider).all()
     _provider = provider
     for domain in rows:
         if strict:
             _provider = get_crud_by_name(domain.provider_name)
         domains.append(MiddlewareDomain(
             name=domain.name,
             feed=domain.feed,
             db_id=domain.id,
             provider=_provider,
             properties=parse_properties(domain.properties)))
     return domains
Exemple #5
0
 def domains_in_db(cls, name=None, feed=None, provider=None, strict=True):
     domains = []
     rows = _db_select_query(name=name, feed=feed, provider=provider).all()
     _provider = provider
     for domain in rows:
         if strict:
             _provider = get_crud_by_name(domain.provider_name)
         domains.append(
             MiddlewareDomain(name=domain.name,
                              feed=domain.feed,
                              db_id=domain.id,
                              provider=_provider,
                              properties=parse_properties(
                                  domain.properties)))
     return domains
Exemple #6
0
 def servers(cls, provider=None, server_group=None, strict=True):
     servers = []
     _get_servers_page(provider=provider, server_group=server_group)
     if sel.is_displayed(list_tbl):
         _provider = provider
         for _ in paginator.pages():
             for row in list_tbl.rows():
                 if strict:
                     _provider = get_crud_by_name(row.provider.text)
                 servers.append(
                     MiddlewareServer(name=row.server_name.text,
                                      feed=row.feed.text,
                                      hostname=row.host_name.text,
                                      product=row.product.text
                                      if row.product.text else None,
                                      provider=_provider))
     return servers
Exemple #7
0
 def deployment_in_db(self):
     deployment = _db_select_query(name=self.name,
                                   server=self.server,
                                   provider=self.provider).first()
     if deployment:
         _provider = get_crud_by_name(deployment.provider_name)
         _server = MiddlewareServer(name=deployment.server_name,
                                    feed=deployment.feed,
                                    provider=_provider)
         return MiddlewareDeployment(nativeid=deployment.nativeid,
                                     name=deployment.name,
                                     hostname=deployment.host_name,
                                     status=deployment.status,
                                     server=_server,
                                     provider=_provider,
                                     db_id=deployment.id)
     return None
Exemple #8
0
 def servers(cls, provider=None, server_group=None, strict=True):
     servers = []
     _get_servers_page(provider=provider, server_group=server_group)
     if sel.is_displayed(list_tbl):
         _provider = provider
         for _ in paginator.pages():
             for row in list_tbl.rows():
                 if strict:
                     _provider = get_crud_by_name(row.provider.text)
                 servers.append(MiddlewareServer(
                     name=row.server_name.text,
                     feed=row.feed.text,
                     hostname=row.host_name.text,
                     product=row.product.text
                     if row.product.text else None,
                     provider=_provider))
     return servers
Exemple #9
0
 def deployment_in_db(self):
     deployment = _db_select_query(name=self.name, server=self.server,
                                   provider=self.provider).first()
     if deployment:
         _provider = get_crud_by_name(deployment.provider_name)
         _server = MiddlewareServer(
             name=deployment.server_name,
             feed=deployment.feed,
             provider=_provider)
         return MiddlewareDeployment(
             nativeid=deployment.nativeid,
             name=deployment.name,
             hostname=deployment.host_name,
             status=deployment.status,
             server=_server,
             provider=_provider,
             db_id=deployment.id)
     return None
Exemple #10
0
 def servers_in_db(cls, name=None, feed=None, provider=None, product=None,
                   server_group=None, strict=True):
     servers = []
     rows = _db_select_query(name=name, feed=feed, provider=provider,
         product=product, server_group=server_group).all()
     _provider = provider
     for server in rows:
         if strict:
             _provider = get_crud_by_name(server.provider_name)
         servers.append(MiddlewareServer(
             name=server.name,
             hostname=server.hostname,
             feed=server.feed,
             product=server.product,
             db_id=server.id,
             provider=_provider,
             properties=parse_properties(server.properties)))
     return servers
Exemple #11
0
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))
Exemple #12
0
 def deployments_in_db(cls, server=None, provider=None, strict=True):
     deployments = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for deployment in rows:
         if strict:
             _provider = get_crud_by_name(deployment.provider_name)
         _server = MiddlewareServer(name=deployment.server_name,
                                    feed=deployment.feed,
                                    provider=provider)
         deployments.append(
             MiddlewareDeployment(nativeid=deployment.nativeid,
                                  name=deployment.name,
                                  db_id=deployment.id,
                                  hostname=deployment.host_name,
                                  status=deployment.status,
                                  server=_server,
                                  provider=_provider))
     return deployments
 def messagings_in_db(cls, server=None, provider=None, strict=True):
     messagings = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for messaging in rows:
         if strict:
             _provider = get_crud_by_name(messaging.provider_name)
         _server = MiddlewareServer(name=messaging.server_name,
                                    feed=messaging.feed,
                                    provider=provider)
         messagings.append(
             MiddlewareMessaging(nativeid=messaging.nativeid,
                                 name=messaging.name,
                                 db_id=messaging.id,
                                 server=_server,
                                 provider=_provider,
                                 messaging_type=messaging.messaging_type,
                                 properties=parse_properties(
                                     messaging.properties)))
     return messagings
Exemple #14
0
 def deployments_in_db(cls, server=None, provider=None, strict=True):
     deployments = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for deployment in rows:
         if strict:
             _provider = get_crud_by_name(deployment.provider_name)
         _server = MiddlewareServer(
             name=deployment.server_name,
             feed=deployment.feed,
             provider=provider)
         deployments.append(MiddlewareDeployment(
             nativeid=deployment.nativeid,
             name=deployment.name,
             db_id=deployment.id,
             hostname=deployment.host_name,
             status=deployment.status,
             server=_server,
             provider=_provider))
     return deployments
Exemple #15
0
 def datasources_in_db(cls, server=None, provider=None, strict=True):
     datasources = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for datasource in rows:
         if strict:
             _provider = get_crud_by_name(datasource.provider_name)
         _server = MiddlewareServer(
             name=datasource.server_name,
             feed=datasource.feed,
             provider=provider)
         datasources.append(MiddlewareDatasource(
             nativeid=datasource.nativeid,
             name=datasource.name,
             db_id=datasource.id,
             server=_server,
             provider=_provider,
             hostname=datasource.hostname,
             properties=parse_properties(datasource.properties)))
     return datasources
Exemple #16
0
 def messagings_in_db(cls, server=None, provider=None, strict=True):
     messagings = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for messaging in rows:
         if strict:
             _provider = get_crud_by_name(messaging.provider_name)
         _server = MiddlewareServer(
             name=messaging.server_name,
             feed=messaging.feed,
             provider=provider)
         messagings.append(MiddlewareMessaging(
             nativeid=messaging.nativeid,
             name=messaging.name,
             db_id=messaging.id,
             server=_server,
             provider=_provider,
             messaging_type=messaging.messaging_type,
             properties=parse_properties(messaging.properties)))
     return messagings
 def datasources_in_db(cls, server=None, provider=None, strict=True):
     datasources = []
     rows = _db_select_query(server=server, provider=provider).all()
     _provider = provider
     for datasource in rows:
         if strict:
             _provider = get_crud_by_name(datasource.provider_name)
         _server = MiddlewareServer(
             name=datasource.server_name,
             feed=datasource.feed,
             provider=provider)
         datasources.append(MiddlewareDatasource(
             nativeid=datasource.nativeid,
             name=datasource.name,
             db_id=datasource.id,
             server=_server,
             provider=_provider,
             hostname=datasource.hostname,
             properties=parse_properties(datasource.properties)))
     return datasources
def test_custom_vm_report(soft_assert, report_vms):
    if since_date_or_version(version="5.4.0.0.25"):
        cluster = "Cluster / Deployment Role Name"
        host = "Host / Node Name"
    else:
        cluster = "Cluster Name"
        host = "Host Name"
    for row in report_vms:
        if row["Name"].startswith("test_"):
            continue  # Might disappear meanwhile
        provider_name = row["Cloud/Infrastructure Provider Name"]
        provider = get_crud_by_name(provider_name).mgmt
        provider_hosts_and_ips = utils.net.resolve_ips(provider.list_host())
        provider_datastores = provider.list_datastore()
        provider_clusters = provider.list_cluster()
        soft_assert(provider.does_vm_exist(row["Name"]), "VM {} does not exist in {}!".format(
            row["Name"], provider_name
        ))
        if row[cluster]:
            soft_assert(
                row[cluster] in provider_clusters,
                "Cluster {} not found in {}!".format(row[cluster], str(provider_clusters))
            )
        if row["Datastore Name"]:
            soft_assert(
                row["Datastore Name"] in provider_datastores,
                "Datastore {} not found in {}!".format(
                    row["Datastore Name"], str(provider_datastores))
            )
        # Because of mixing long and short host names, we have to use both-directional `in` op.
        if row[host]:
            found = False
            possible_ips_or_hosts = utils.net.resolve_ips((row[host], ))
            for possible_ip_or_host in possible_ips_or_hosts:
                for host_ip in provider_hosts_and_ips:
                    if possible_ip_or_host in host_ip or host_ip in possible_ip_or_host:
                        found = True
            soft_assert(
                found,
                "Host {} not found in {}!".format(possible_ips_or_hosts, provider_hosts_and_ips)
            )
def test_custom_vm_report(soft_assert, report_vms):
    if since_date_or_version(version="5.4.0.0.25"):
        cluster = "Cluster / Deployment Role Name"
        host = "Host / Node Name"
    else:
        cluster = "Cluster Name"
        host = "Host Name"
    for row in report_vms:
        if row["Name"].startswith("test_"):
            continue  # Might disappear meanwhile
        provider_name = row["Cloud/Infrastructure Provider Name"]
        provider = get_crud_by_name(provider_name).mgmt
        provider_hosts_and_ips = utils.net.resolve_ips(provider.list_host())
        provider_datastores = provider.list_datastore()
        provider_clusters = provider.list_cluster()
        soft_assert(
            provider.does_vm_exist(row["Name"]),
            "VM {} does not exist in {}!".format(row["Name"], provider_name))
        if row[cluster]:
            soft_assert(
                row[cluster] in provider_clusters,
                "Cluster {} not found in {}!".format(row[cluster],
                                                     str(provider_clusters)))
        if row["Datastore Name"]:
            soft_assert(
                row["Datastore Name"] in provider_datastores,
                "Datastore {} not found in {}!".format(
                    row["Datastore Name"], str(provider_datastores)))
        # Because of mixing long and short host names, we have to use both-directional `in` op.
        if row[host]:
            found = False
            possible_ips_or_hosts = utils.net.resolve_ips((row[host], ))
            for possible_ip_or_host in possible_ips_or_hosts:
                for host_ip in provider_hosts_and_ips:
                    if possible_ip_or_host in host_ip or host_ip in possible_ip_or_host:
                        found = True
            soft_assert(
                found,
                "Host {} not found in {}!".format(possible_ips_or_hosts,
                                                  provider_hosts_and_ips))
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))
 def parent_provider(self):
     """ Return object of parent cloud provider """
     view = navigate_to(self, 'Details')
     provider_name = view.entities.relationships.get_text_of(
         'Parent ems cloud')
     return providers.get_crud_by_name(provider_name)