예제 #1
0
파일: test_api.py 프로젝트: plomakin/rally
 def test_get_all(self):
     deployment0 = db.deployment_create({})
     deployment1 = db.deployment_create({})
     res0 = db.resource_create({"deployment_uuid": deployment0["uuid"]})
     res1 = db.resource_create({"deployment_uuid": deployment1["uuid"]})
     res2 = db.resource_create({"deployment_uuid": deployment1["uuid"]})
     resources = db.resource_get_all(deployment1["uuid"])
     self.assertEqual(sorted([res1["id"], res2["id"]]),
                      sorted([r["id"] for r in resources]))
     resources = db.resource_get_all(deployment0["uuid"])
     self.assertEqual(len(resources), 1)
     self.assertEqual(res0["id"], resources[0]["id"])
예제 #2
0
 def test_get_all(self):
     deployment0 = db.deployment_create({})
     deployment1 = db.deployment_create({})
     res0 = db.resource_create({"deployment_uuid": deployment0["uuid"]})
     res1 = db.resource_create({"deployment_uuid": deployment1["uuid"]})
     res2 = db.resource_create({"deployment_uuid": deployment1["uuid"]})
     resources = db.resource_get_all(deployment1["uuid"])
     self.assertEqual(sorted([res1["id"], res2["id"]]),
                      sorted([r["id"] for r in resources]))
     resources = db.resource_get_all(deployment0["uuid"])
     self.assertEqual(1, len(resources))
     self.assertEqual(res0["id"], resources[0]["id"])
예제 #3
0
파일: test_api.py 프로젝트: plomakin/rally
 def test_get_all_by_provider_type(self):
     deployment = db.deployment_create({})
     res_one = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "type": "one",
     })
     res_two = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "type": "two",
     })
     resources = db.resource_get_all(deployment["uuid"], type="one")
     self.assertEqual(len(resources), 1)
     self.assertEqual(res_one["id"], resources[0]["id"])
     resources = db.resource_get_all(deployment["uuid"], type="two")
     self.assertEqual(len(resources), 1)
     self.assertEqual(res_two["id"], resources[0]["id"])
예제 #4
0
 def test_get_all_by_provider_type(self):
     deployment = db.deployment_create({})
     res_one = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "type": "one",
     })
     res_two = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "type": "two",
     })
     resources = db.resource_get_all(deployment["uuid"], type="one")
     self.assertEqual(1, len(resources))
     self.assertEqual(res_one["id"], resources[0]["id"])
     resources = db.resource_get_all(deployment["uuid"], type="two")
     self.assertEqual(1, len(resources))
     self.assertEqual(res_two["id"], resources[0]["id"])
예제 #5
0
    def setup(self):

        LOG.debug("Setup ovn sandbox context")
        deploy_uuid = self.task["deployment_uuid"]
        deployments = db.deployment_list(parent_uuid=deploy_uuid)

        farm = self.config.get("farm", "")
        tag = self.config.get("tag", "")

        sandboxes = []
        for dep in deployments:
            res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
            if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
                continue

            info = res[0].info
            if farm and farm != info["farm"]:
                continue

            for k,v in six.iteritems(info["sandboxes"]):
                if tag == "all" or v == tag:
                    sandbox = {"name": k, "tag": v, "farm": info["farm"]}
                    sandboxes.append(sandbox)

        self.context["sandboxes"] = sandboxes
예제 #6
0
def get_sandboxes(deploy_uuid, farm="", tag=""):

    sandboxes = []
    deployments = db.deployment_list(parent_uuid=deploy_uuid)
    for dep in deployments:
        res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
        if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
            continue

        info = res[0].info

        if farm and farm != info["farm"]:
            continue

        for k, v in six.iteritems(info["sandboxes"]):
            if tag and tag != v:
                continue

            sandbox = {
                "name": k,
                "tag": v,
                "farm": info["farm"],
                "host_container": info["host_container"]
            }
            sandboxes.append(sandbox)

    return sandboxes
예제 #7
0
    def setup(self):

        LOG.debug("Setup ovn sandbox context")
        deploy_uuid = self.task["deployment_uuid"]
        deployments = db.deployment_list(parent_uuid=deploy_uuid)

        farm = self.config.get("farm", "")
        tag = self.config.get("tag", "")

        sandboxes = []
        for dep in deployments:
            res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
            if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
                continue

            info = res[0].info
            if farm and farm != info["farm"]:
                continue

            for k,v in six.iteritems(info["sandboxes"]):
                if tag == "all" or v == tag:
                    sandbox = {"name": k, "tag": v, "farm": info["farm"],
                               "host_container": info["host_container"]}
                    sandboxes.append(sandbox)

        self.context["sandboxes"] = sandboxes
예제 #8
0
def get_ovn_multihost_info(deploy_uuid, controller_name):

    deployments = db.deployment_list(parent_uuid=deploy_uuid)

    multihost_info = {
        "controller": {},
        "farms": {},
        "install_method": "sandbox"
    }

    for dep in deployments:
        cred = db.resource_get_all(dep["uuid"],
                                   type=ResourceType.CREDENTIAL)[0]
        cred = copy.deepcopy(cred.info)
        name = dep["name"]

        info = {"name": name, "credential": cred}

        if name == controller_name:
            multihost_info["controller"][name] = info
        else:
            multihost_info["farms"][name] = info

        if 'install_method' in dep.config:
            multihost_info["install_method"] = dep.config["install_method"]

    return multihost_info
예제 #9
0
def get_farm_nodes(deploy_uuid):
    deployments = db.deployment_list(parent_uuid=deploy_uuid)

    farm_nodes = []
    for dep in deployments:
        res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
        if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
            continue

        farm_nodes.append(res[0].info["farm"])

    return farm_nodes
예제 #10
0
def get_farm_nodes(deploy_uuid):
    deployments = db.deployment_list(parent_uuid=deploy_uuid)

    farm_nodes = []
    for dep in deployments:
        res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
        if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
            continue

        farm_nodes.append(res[0].info["farm"])

    return farm_nodes
예제 #11
0
파일: test_api.py 프로젝트: plomakin/rally
 def test_create(self):
     deployment = db.deployment_create({})
     resource = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "provider_name": "fakeprovider",
         "type": "faketype",
     })
     resources = db.resource_get_all(deployment["uuid"])
     self.assertTrue(resource["id"])
     self.assertEqual(len(resources), 1)
     self.assertTrue(resource["id"], resources[0]["id"])
     self.assertEqual(resource["deployment_uuid"], deployment["uuid"])
     self.assertEqual(resource["provider_name"], "fakeprovider")
     self.assertEqual(resource["type"], "faketype")
예제 #12
0
 def test_create(self):
     deployment = db.deployment_create({})
     resource = db.resource_create({
         "deployment_uuid": deployment["uuid"],
         "provider_name": "fakeprovider",
         "type": "faketype",
     })
     resources = db.resource_get_all(deployment["uuid"])
     self.assertTrue(resource["id"])
     self.assertEqual(1, len(resources))
     self.assertTrue(resources[0]["id"], resource["id"])
     self.assertEqual(deployment["uuid"], resource["deployment_uuid"])
     self.assertEqual("fakeprovider", resource["provider_name"])
     self.assertEqual("faketype", resource["type"])
예제 #13
0
    def setup(self):

        multihost_uuid = self.task["deployment_uuid"]
        controller_name = self.config["controller"]

        multihost_info = get_ovn_multihost_info(multihost_uuid, controller_name)
        self.context["ovn_multihost"] = multihost_info

        try:
            controller_dep = db.deployment_get(controller_name)
        except exceptions.DeploymentNotFound:
            raise

        try:
            res = db.resource_get_all(controller_dep["uuid"],
                                        type=ResourceType.CONTROLLER)[0]
        except:
            raise exceptions.GetResourceNotFound(resource="controller")


        self.context["controller"] = res["info"]
예제 #14
0
def get_ovn_multihost_info(deploy_uuid, controller_name):

    deployments = db.deployment_list(parent_uuid=deploy_uuid)

    multihost_info = {"controller" : {}, "farms" : {} }


    for dep in deployments:

        cred = db.resource_get_all(dep["uuid"], type=ResourceType.CREDENTIAL)[0]
        cred = copy.deepcopy(cred.info)
        name = dep["name"]

        info = { "name" : name, "credential" :  cred}

        if name == controller_name:
            multihost_info["controller"][name] = info
        else:
            multihost_info["farms"][name] = info

    return multihost_info
예제 #15
0
    def setup(self):

        multihost_uuid = self.task["deployment_uuid"]
        controller_name = self.config["controller"]

        multihost_info = get_ovn_multihost_info(multihost_uuid,
                                                controller_name)
        self.context["ovn_multihost"] = multihost_info

        try:
            controller_dep = db.deployment_get(controller_name)
        except exceptions.DeploymentNotFound:
            raise

        try:
            res = db.resource_get_all(controller_dep["uuid"],
                                      type=ResourceType.CONTROLLER)[0]
        except:
            raise exceptions.GetResourceNotFound(resource="controller")

        self.context["controller"] = res["info"]
예제 #16
0
def get_sandboxes(deploy_uuid, farm="", tag=""):

    sandboxes = []
    deployments = db.deployment_list(parent_uuid=deploy_uuid)
    for dep in deployments:
        res = db.resource_get_all(dep["uuid"], type=ResourceType.SANDBOXES)
        if len(res) == 0 or len(res[0].info["sandboxes"]) == 0:
            continue

        info = res[0].info

        if farm and farm != info["farm"]:
            continue

        for k,v in six.iteritems(info["sandboxes"]):
            if tag and tag != v:
                continue

            sandbox = {"name": k, "tag": v, "farm": info["farm"]}
            sandboxes.append(sandbox)


    return sandboxes
예제 #17
0
파일: test_api.py 프로젝트: plomakin/rally
 def test_delete(self):
     deployment = db.deployment_create({})
     res = db.resource_create({"deployment_uuid": deployment["uuid"]})
     db.resource_delete(res["id"])
     resources = db.resource_get_all(deployment["uuid"])
     self.assertEqual(len(resources), 0)
예제 #18
0
 def get_resources(self, provider_name=None, type=None):
     return db.resource_get_all(self.deployment["uuid"],
                                provider_name=provider_name, type=type)
예제 #19
0
 def get_resources(self, provider_name=None, type=None):
     return db.resource_get_all(self.deployment["uuid"],
                                provider_name=provider_name,
                                type=type)
예제 #20
0
 def test_delete(self):
     deployment = db.deployment_create({})
     res = db.resource_create({"deployment_uuid": deployment["uuid"]})
     db.resource_delete(res["id"])
     resources = db.resource_get_all(deployment["uuid"])
     self.assertEqual(0, len(resources))