Exemplo n.º 1
0
def ha(name, iterations=1, progress=False):
    """Test an OpenStack deployment."""
    data.load_config(name)
    deployment = data.load_deployment(name)
    test_object = HATest(deployment, progress)
    local = "./results/{0}/".format(deployment.name)
    run_cmd("mkdir -p {}".format(local))

    for controller in deployment.controllers:
        ip, user, password = (controller.ipaddress, controller.user,
                              controller.password)
        remote = "{0}@{1}:~/*.xml".format(user, ip)
        get_file(ip, user, password, remote, local)

    for i in xrange(iterations):
        logger.info(Color.cyan('HA: running iteration {0} of {1}!'
                         .format(i + 1, iterations)))
        test_object.test(iterations)

    logger.info(Color.cyan("HA tests completed..."))
Exemplo n.º 2
0
def tempest(name, iterations=1):
    """Test an OpenStack deployment."""
    data.load_config(name)
    deployment = data.load_deployment(name)
    branch = TempestQuantum.tempest_branch(deployment.branch)
    if "grizzly" in branch:
        test_object = TempestQuantum(deployment)
    else:
        test_object = TempestNeutron(deployment)
    local = "./results/{}/".format(deployment.name)
    run_cmd("mkdir -p {}".format(local))

    for controller in deployment.controllers:
        ip, user, password = (controller.ipaddress, controller.user,
                              controller.password)
        remote = "{0}@{1}:~/*.xml".format(user, ip)
        get_file(ip, user, password, remote, local)

    for i in range(iterations):
        logger.info(Color.cyan('Tempest: running iteration {0} of {1}!'
                         .format(i + 1, iterations)))
        test_object.test()

    logger.info(Color.cyan("Tempest tests completed..."))
Exemplo n.º 3
0
    def config(self, cmd, network_name="ENV01-FLAT", files=None):
        endpoint = self.get_endpoint()
        admin_user, admin_password, admin_tenant = self.get_admin_user()
        admin_tenant_id, admin_user_id, admin_project_id = self.get_admin_ids(
            admin_user, admin_password, admin_tenant)
        second_user, second_password, second_tenant = self.get_non_admin_user()
        primary_image_id, secondary_image_id = self.get_image_ids()
        if self.deployment.has_feature("neutron"):
            network_id = self.get_network_id(network_name)
            networks = "{'%s':{'v4': True, 'v6': False}}" % network_name
        else:
            # How connectivity works in cloudcafe for novanet needs work
            # May not be possible atm due to floating ips
            network_name = "public"
            network_id = "0000" * 5
            networks = "{'%s':{'v4': True, 'v6': False}}" % network_name

        endpoint_versioned = "{0}/v2.0".format(endpoint)
        admin_endpoint_versioned = endpoint_versioned.replace("5000", "35357")

        args = {
            "compute_admin_user": {
                "username": admin_user,
                "password": admin_password,
                "tenant_name": admin_tenant
            },
            "user_auth_config": {
                "endpoint": endpoint
            },
            "coumpute_admin_auth_config": {
                "endpoint": endpoint
            },
            "user": {
                "username": admin_user,
                "password": admin_password,
                "tenant_name": admin_tenant,
                "tenant_id": admin_tenant_id,
                "user_id": admin_user_id,
                "project_id": admin_project_id
            },
            "compute_secondary_user": {
                "username": second_user,
                "password": second_password,
                "tenant_name": second_tenant
            },
            "images": {
                "primary_image": primary_image_id,
                "secondary_image": secondary_image_id
            },
            "servers": {
                "network_for_ssh": network_name,
                "expected_networks": networks,
                "default_network": network_id
            },
            "identity_v2_user": {
                "username": second_user,
                "password": second_password,
                "tenant_name": second_tenant,
                "authentication_endpoint": endpoint_versioned
            },
            "identity_v2_admin": {
                "username": admin_user,
                "password": admin_password,
                "tenant_name": admin_tenant,
                "authentication_endpoint": admin_endpoint_versioned
            }
        }

        for section, values in args.items():
            self.export_variables(section, values)

        run_cmd(cmd)