Пример #1
0
 def test_convert_ini_to_dict(self):
     self.assertEqual(functest_utils.convert_ini_to_dict(""), {})
     self.assertEqual(functest_utils.convert_ini_to_dict("a:b"), {"a": "b"})
     self.assertEqual(functest_utils.convert_ini_to_dict("a:b,c:d"), {
         "a": "b",
         "c": "d"
     })
     self.assertEqual(functest_utils.convert_ini_to_dict("a:b:c,d:e:f"), {
         "a:b": "c",
         "d:e": "f"
     })
     with self.assertRaises(AssertionError):
         functest_utils.convert_list_to_ini({})
Пример #2
0
    def publish_image(self, name=None):
        """Publish image

        It allows publishing multiple images for the child testcases. It forces
        the same configuration for all subtestcases.

        Returns: image

        Raises: expection on error
        """
        assert self.cloud
        extra_properties = self.extra_properties.copy()
        if env.get('IMAGE_PROPERTIES'):
            extra_properties.update(
                functest_utils.convert_ini_to_dict(
                    env.get('IMAGE_PROPERTIES')))
        extra_properties.update(
            getattr(config.CONF, '{}_extra_properties'.format(
                self.case_name), {}))
        image = self.cloud.create_image(
            name if name else '{}-img_{}'.format(self.case_name, self.guid),
            filename=getattr(
                config.CONF, '{}_image'.format(self.case_name),
                self.filename),
            meta=extra_properties,
            disk_format=getattr(
                config.CONF, '{}_image_format'.format(self.case_name),
                self.image_format),
            visibility=getattr(
                config.CONF, '{}_visibility'.format(self.case_name),
                self.visibility),
            wait=True)
        self.__logger.debug("image: %s", image)
        return image
Пример #3
0
    def create_flavor_alt(self, name=None):
        """Create flavor

        It allows creating multiple alt flavors for the child testcases. It
        forces the same configuration for all subtestcases.

        Returns: flavor

        Raises: expection on error
        """
        assert self.orig_cloud
        flavor = self.orig_cloud.create_flavor(
            name if name else '{}-flavor_alt_{}'.format(
                self.case_name, self.guid),
            getattr(config.CONF, '{}_flavor_alt_ram'.format(self.case_name),
                    self.flavor_alt_ram),
            getattr(config.CONF, '{}_flavor_alt_vcpus'.format(self.case_name),
                    self.flavor_alt_vcpus),
            getattr(config.CONF, '{}_flavor_alt_disk'.format(self.case_name),
                    self.flavor_alt_disk))
        self.__logger.debug("flavor: %s", flavor)
        flavor_alt_extra_specs = self.flavor_alt_extra_specs.copy()
        if env.get('FLAVOR_EXTRA_SPECS'):
            flavor_alt_extra_specs.update(
                functest_utils.convert_ini_to_dict(
                    env.get('FLAVOR_EXTRA_SPECS')))
        flavor_alt_extra_specs.update(
            getattr(config.CONF,
                    '{}_flavor_alt_extra_specs'.format(self.case_name), {}))
        self.orig_cloud.set_flavor_specs(
            flavor.id, flavor_alt_extra_specs)
        return flavor
Пример #4
0
 def update_scenario_section(self):
     """Update scenario section in tempest.conf"""
     rconfig = configparser.RawConfigParser()
     rconfig.read(self.conf_file)
     filename = getattr(config.CONF, '{}_image'.format(self.case_name),
                        self.filename)
     if not rconfig.has_section('scenario'):
         rconfig.add_section('scenario')
     rconfig.set('scenario', 'img_file', os.path.basename(filename))
     rconfig.set('scenario', 'img_dir', os.path.dirname(filename))
     rconfig.set(
         'scenario', 'img_disk_format',
         getattr(config.CONF, '{}_image_format'.format(self.case_name),
                 self.image_format))
     extra_properties = self.extra_properties.copy()
     if env.get('IMAGE_PROPERTIES'):
         extra_properties.update(
             functest_utils.convert_ini_to_dict(
                 env.get('IMAGE_PROPERTIES')))
     extra_properties.update(
         getattr(config.CONF, '{}_extra_properties'.format(self.case_name),
                 {}))
     rconfig.set('scenario', 'img_properties',
                 functest_utils.convert_dict_to_ini(extra_properties))
     with open(self.conf_file, 'wb') as config_file:
         rconfig.write(config_file)