Ejemplo n.º 1
0
    def setup(self):
        image_url = self.config["image_url"]
        image_type = self.config["image_type"]
        image_container = self.config["image_container"]
        images_per_tenant = self.config["images_per_tenant"]
        image_name = self.config.get("image_name")

        for user, tenant_id in rutils.iterate_per_tenants(
                self.context["users"]):
            current_images = []
            clients = osclients.Clients(user["endpoint"])
            glance_scenario = glance_utils.GlanceScenario(
                clients=clients)
            for i in range(images_per_tenant):
                if image_name and i > 0:
                    cur_name = image_name + str(i)
                elif image_name:
                    cur_name = image_name
                else:
                    cur_name = glance_scenario._generate_random_name(
                        prefix="rally_ctx_image_")

                image = glance_scenario._create_image(
                    cur_name, image_container, image_url, image_type,
                    min_ram=self.config.get("min_ram", 0),
                    min_disk=self.config.get("min_disk", 0))
                current_images.append(image.id)

            self.context["tenants"][tenant_id]["images"] = current_images
Ejemplo n.º 2
0
    def setup(self):
        image_url = self.config["image_url"]
        image_type = self.config["image_type"]
        image_container = self.config["image_container"]
        images_per_tenant = self.config["images_per_tenant"]
        current_tenants = []

        for user in self.context["users"]:
            if user["tenant_id"] not in current_tenants:
                current_tenants.append(user["tenant_id"])
                current_images = []

                clients = osclients.Clients(user["endpoint"])
                glance_util_class = glance_utils.GlanceScenario(
                    clients=clients)
                for i in range(images_per_tenant):
                    rnd_name = scenario_base.Scenario._generate_random_name()

                    image = glance_util_class._create_image(
                        rnd_name, image_container, image_url, image_type)
                    current_images.append(image.id)

                self.context["images"].append({
                    "image_id": current_images,
                    "endpoint": user["endpoint"],
                    "tenant_id": user["tenant_id"]
                })
Ejemplo n.º 3
0
    def setup(self):
        image_url = self.config["image_url"]
        plugin_name = self.config["plugin_name"]
        hadoop_version = self.config["hadoop_version"]
        user_name = self.config["username"]

        for user in self.context.get("users", []):
            tenant_id = user["tenant_id"]
            if tenant_id not in self.context["sahara_images"]:

                clients = osclients.Clients(user["endpoint"])
                glance_util_class = glance_utils.GlanceScenario(
                    clients=clients)

                image_name = scenarios_base.Scenario._generate_random_name(
                    prefix="sahara_image_", length=15)
                image = glance_util_class._create_image(
                    image_name, "bare", image_url, "qcow2")

                clients.sahara().images.update_image(image_id=image.id,
                                                     user_name=user_name,
                                                     desc="")

                clients.sahara().images.update_tags(
                    image_id=image.id, new_tags=[plugin_name, hadoop_version])

                self.context["sahara_images"][tenant_id] = image.id
Ejemplo n.º 4
0
 def test_list_images(self, mock_clients):
     images_list = []
     mock_clients("glance").images.list.return_value = images_list
     scenario = utils.GlanceScenario()
     return_images_list = scenario._list_images()
     self.assertEqual(images_list, return_images_list)
     self._test_atomic_action_timer(scenario.atomic_actions(),
                                    'glance.list_images')
Ejemplo n.º 5
0
 def test_delete_image(self):
     scenario = utils.GlanceScenario()
     scenario._delete_image(self.image)
     self.image.delete.assert_called_once_with()
     self.wait_for_delete.mock.assert_called_once_with(
         self.image,
         update_resource=self.gfm(),
         check_interval=1,
         timeout=120)
     self._test_atomic_action_timer(scenario.atomic_actions(),
                                    'glance.delete_image')
Ejemplo n.º 6
0
 def test_create_image_with_location(self, mock_clients):
     mock_clients("glance").images.create.return_value = self.image
     scenario = utils.GlanceScenario()
     return_image = scenario._create_image("image_name", "container_format",
                                           "image_location", "disk_format")
     self.wait_for.mock.assert_called_once_with(self.image,
                                                update_resource=self.gfm(),
                                                is_ready=self.res_is.mock(),
                                                check_interval=1,
                                                timeout=120)
     self.res_is.mock.assert_has_calls([mock.call("active")])
     self.assertEqual(self.wait_for.mock(), return_image)
     self._test_atomic_action_timer(scenario.atomic_actions(),
                                    "glance.create_image")
Ejemplo n.º 7
0
 def setUp(self):
     super(GlanceScenarioTestCase, self).setUp()
     self.image = mock.Mock()
     self.image1 = mock.Mock()
     self.res_is = mockpatch.Patch(BM_UTILS + ".resource_is")
     self.get_fm = mockpatch.Patch(BM_UTILS + '.get_from_manager')
     self.wait_for = mockpatch.Patch(GLANCE_UTILS + ".bench_utils.wait_for")
     self.wait_for_delete = mockpatch.Patch(GLANCE_UTILS +
                                            ".bench_utils.wait_for_delete")
     self.useFixture(self.wait_for)
     self.useFixture(self.wait_for_delete)
     self.useFixture(self.res_is)
     self.useFixture(self.get_fm)
     self.gfm = self.get_fm.mock
     self.useFixture(mockpatch.Patch('time.sleep'))
     self.scenario = utils.GlanceScenario()
Ejemplo n.º 8
0
    def setup(self):
        image_url = self.config["image_url"]
        image_type = self.config["image_type"]
        image_container = self.config["image_container"]
        images_per_tenant = self.config["images_per_tenant"]

        for user, tenant_id in rutils.iterate_per_tenants(
                self.context["users"]):
            current_images = []
            clients = osclients.Clients(user["endpoint"])
            glance_util_class = glance_utils.GlanceScenario(
                                clients=clients)
            for i in range(images_per_tenant):
                rnd_name = scenario_base.Scenario._generate_random_name()

                image = glance_util_class._create_image(rnd_name,
                                                        image_container,
                                                        image_url,
                                                        image_type)
                current_images.append(image.id)

            self.context["tenants"][tenant_id]["images"] = current_images