Esempio n. 1
0
 def test_repeated_inst_types_should_raise_api_error(self):
     """Ensures that instance duplicates raises ApiError"""
     new_name = self.name + "dup"
     instance_types.create(new_name, 256, 1, 120, self.flavorid + 1)
     instance_types.destroy(new_name)
     self.assertRaises(exception.ApiError, instance_types.create, new_name,
                       256, 1, 120, self.flavorid)
Esempio n. 2
0
 def test_duplicate_flavorids_fail(self):
     """Ensures that flavorid duplicates raise ApiError"""
     flavorid = 'flavor1'
     instance_types.create('name one', 256, 1, 120, flavorid)
     self.assertRaises(exception.ApiError,
                       instance_types.create,
                       'name two', 256, 1, 120, flavorid)
Esempio n. 3
0
 def test_duplicate_names_fail(self):
     # Ensures that name duplicates raise InstanceTypeCreateFailed.
     name = 'some_name'
     instance_types.create(name, 256, 1, 120, 200, 'flavor1')
     self.assertRaises(exception.InstanceTypeExists,
                       instance_types.create,
                       name, 256, 1, 120, 200, 'flavor2')
Esempio n. 4
0
 def test_duplicate_names_fail(self):
     """Ensures that name duplicates raise InstanceTypeCreateFailed"""
     name = 'some_name'
     instance_types.create(name, 256, 1, 120, 200, 'flavor1')
     self.assertRaises(exception.InstanceTypeExists,
                       instance_types.create,
                       name, 256, 1, 120, 200, 'flavor2')
Esempio n. 5
0
 def test_duplicate_flavorids_fail(self):
     # Ensures that flavorid duplicates raise InstanceTypeCreateFailed.
     flavorid = 'flavor1'
     instance_types.create('name one', 256, 1, 120, 200, flavorid)
     self.assertRaises(exception.InstanceTypeIdExists,
                       instance_types.create,
                       'name two', 256, 1, 120, 200, flavorid)
Esempio n. 6
0
 def test_duplicate_flavorids_fail(self):
     """Ensures that flavorid duplicates raise InstanceTypeCreateFailed"""
     flavorid = 'flavor1'
     instance_types.create('name one', 256, 1, 120, 200, flavorid)
     self.assertRaises(exception.InstanceTypeIdExists,
                       instance_types.create,
                       'name two', 256, 1, 120, 200, flavorid)
Esempio n. 7
0
 def test_duplicate_flavorids_fail(self):
     """Ensures that flavorid duplicates raise ApiError"""
     flavorid = 'flavor1'
     instance_types.create('name one', 256, 1, 120, flavorid)
     self.assertRaises(exception.ApiError,
                       instance_types.create,
                       'name two', 256, 1, 120, flavorid)
Esempio n. 8
0
 def test_duplicate_names_fail(self):
     """Ensures that name duplicates raise ApiError"""
     name = 'some_name'
     instance_types.create(name, 256, 1, 120, 'flavor1')
     self.assertRaises(exception.ApiError,
                       instance_types.create,
                       name, "256", 1, 120, 'flavor2')
Esempio n. 9
0
 def test_duplicate_names_fail(self):
     """Ensures that name duplicates raise ApiError"""
     name = 'some_name'
     instance_types.create(name, 256, 1, 120, 'flavor1')
     self.assertRaises(exception.ApiError,
                       instance_types.create,
                       name, 256, 1, 120, 'flavor2')
 def test_repeated_inst_types_should_raise_api_error(self):
     """Ensures that instance duplicates raises ApiError"""
     new_name = self.name + "dup"
     instance_types.create(new_name, 256, 1, 120, self.flavorid + 1)
     instance_types.destroy(new_name)
     self.assertRaises(
             exception.ApiError,
             instance_types.create, new_name, 256, 1, 120, self.flavorid)
Esempio n. 11
0
 def create(self, name, memory, vcpus, root_gb, ephemeral_gb=0,
            flavorid=None, swap=0, rxtx_factor=1.0, is_public=True):
     """Creates instance types / flavors."""
     try:
         instance_types.create(name, memory, vcpus, root_gb,
                               ephemeral_gb, flavorid, swap, rxtx_factor,
                               is_public)
     except exception.InvalidInput, e:
         print _("Must supply valid parameters to create instance_type")
         print e
         return(1)
 def test_instance_type_create_then_delete(self):
     """Ensure instance types can be created"""
     starting_inst_list = instance_types.get_all_types()
     instance_types.create(self.name, 256, 1, 120, self.flavorid)
     new = instance_types.get_all_types()
     self.assertNotEqual(len(starting_inst_list), len(new), "instance type was not created")
     instance_types.destroy(self.name)
     self.assertEqual(1, instance_types.get_instance_type(self.id)["deleted"])
     self.assertEqual(starting_inst_list, instance_types.get_all_types())
     instance_types.purge(self.name)
     self.assertEqual(len(starting_inst_list), len(instance_types.get_all_types()), "instance type not purged")
    def test_read_deleted_false_converting_flavorid(self):
        """
        Ensure deleted instance types are not returned when not needed (for
        example when creating a server and attempting to translate from
        flavorid to instance_type_id.
        """
        instance_types.create("instance_type1", 256, 1, 120, 100, "test1")
        instance_types.destroy("instance_type1")
        instance_types.create("instance_type1_redo", 256, 1, 120, 100, "test1")

        instance_type = instance_types.get_instance_type_by_flavor_id("test1", read_deleted="no")
        self.assertEqual("instance_type1_redo", instance_type["name"])
Esempio n. 14
0
    def test_read_deleted_false_converting_flavorid(self):
        """
        Ensure deleted instance types are not returned when not needed (for
        example when creating a server and attempting to translate from
        flavorid to instance_type_id.
        """
        instance_types.create("instance_type1", 256, 1, 120, 100, "test1")
        instance_types.destroy("instance_type1")
        instance_types.create("instance_type1_redo", 256, 1, 120, 100, "test1")

        instance_type = instance_types.get_instance_type_by_flavor_id(
                "test1", read_deleted="no")
        self.assertEqual("instance_type1_redo", instance_type["name"])
Esempio n. 15
0
 def test_instance_type_create_then_delete(self):
     """Ensure instance types can be created"""
     starting_inst_list = instance_types.get_all_types()
     instance_types.create(self.name, 256, 1, 120, self.flavorid)
     new = instance_types.get_all_types()
     self.assertNotEqual(len(starting_inst_list), len(new),
                         'instance type was not created')
     instance_types.destroy(self.name)
     self.assertEqual(1,
                      instance_types.get_instance_type(self.id)["deleted"])
     self.assertEqual(starting_inst_list, instance_types.get_all_types())
     instance_types.purge(self.name)
     self.assertEqual(len(starting_inst_list),
                      len(instance_types.get_all_types()),
                      'instance type not purged')
Esempio n. 16
0
    def _create(self, req, body):
        context = req.environ['nova.context']
        authorize(context)

        vals = body['flavor']
        name = vals['name']
        flavorid = vals.get('id')
        memory_mb = vals.get('ram')
        vcpus = vals.get('vcpus')
        root_gb = vals.get('disk')
        ephemeral_gb = vals.get('OS-FLV-EXT-DATA:ephemeral')
        swap = vals.get('swap')
        rxtx_factor = vals.get('rxtx_factor')
        is_public = vals.get('os-flavor-access:is_public', True)

        try:
            flavor = instance_types.create(name, memory_mb, vcpus, root_gb,
                                           ephemeral_gb, flavorid, swap,
                                           rxtx_factor, is_public)
            req.cache_db_flavor(flavor)
        except (exception.InstanceTypeExists,
                exception.InstanceTypeIdExists) as err:
            raise webob.exc.HTTPConflict(explanation=err.format_message())

        return self._view_builder.show(req, flavor)
Esempio n. 17
0
    def test_instance_type_create_then_delete(self):
        """Ensure instance types can be created"""
        name = 'Small Flavor'
        flavorid = 'flavor1'

        original_list = instance_types.get_all_types()

        # create new type and make sure values stick
        inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
        inst_type_id = inst_type['id']
        self.assertEqual(inst_type['flavorid'], flavorid)
        self.assertEqual(inst_type['name'], name)
        self.assertEqual(inst_type['memory_mb'], 256)
        self.assertEqual(inst_type['vcpus'], 1)
        self.assertEqual(inst_type['root_gb'], 120)
        self.assertEqual(inst_type['ephemeral_gb'], 100)
        self.assertEqual(inst_type['swap'], 0)
        self.assertEqual(inst_type['rxtx_factor'], 1)

        # make sure new type shows up in list
        new_list = instance_types.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'instance type was not created')

        instance_types.destroy(name)
        self.assertRaises(exception.InstanceTypeNotFound,
                          instance_types.get_instance_type, inst_type_id)

        # deleted instance should not be in list anymoer
        new_list = instance_types.get_all_types()
        self.assertEqual(original_list, new_list)
Esempio n. 18
0
    def test_instance_type_create(self):
        # Ensure instance types can be created.
        name = 'Instance create test'
        flavor_id = '512'

        original_list = instance_types.get_all_types()

        # create new type and make sure values stick
        inst_type = instance_types.create(name,
                                          256,
                                          1,
                                          120,
                                          flavorid=flavor_id)
        self.assertEqual(inst_type['flavorid'], flavor_id)
        self.assertEqual(inst_type['name'], name)
        self.assertEqual(inst_type['memory_mb'], 256)
        self.assertEqual(inst_type['vcpus'], 1)
        self.assertEqual(inst_type['root_gb'], 120)
        self.assertEqual(inst_type['ephemeral_gb'], 0)
        self.assertEqual(inst_type['swap'], 0)
        self.assertEqual(inst_type['rxtx_factor'], 1.0)

        # make sure new type shows up in list
        new_list = instance_types.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'instance type was not created')
Esempio n. 19
0
    def test_instance_type_create_then_delete(self):
        # Ensure instance types can be created.
        name = 'Small Flavor'
        flavorid = 'flavor1'

        original_list = instance_types.get_all_types()

        # create new type and make sure values stick
        inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
        inst_type_id = inst_type['id']
        self.assertEqual(inst_type['flavorid'], flavorid)
        self.assertEqual(inst_type['name'], name)
        self.assertEqual(inst_type['memory_mb'], 256)
        self.assertEqual(inst_type['vcpus'], 1)
        self.assertEqual(inst_type['root_gb'], 120)
        self.assertEqual(inst_type['ephemeral_gb'], 100)
        self.assertEqual(inst_type['swap'], 0)
        self.assertEqual(inst_type['rxtx_factor'], 1.0)

        # make sure new type shows up in list
        new_list = instance_types.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'instance type was not created')

        instance_types.destroy(name)
        self.assertRaises(exception.InstanceTypeNotFound,
                          instance_types.get_instance_type, inst_type_id)

        # deleted instance should not be in list anymoer
        new_list = instance_types.get_all_types()
        self.assertEqual(original_list, new_list)
    def test_instance_type_create_then_delete(self):
        # Ensure instance types can be created.
        name = "Small Flavor"
        flavorid = "flavor1"

        original_list = instance_types.get_all_types()

        # create new type and make sure values stick
        inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
        inst_type_id = inst_type["id"]
        self.assertEqual(inst_type["flavorid"], flavorid)
        self.assertEqual(inst_type["name"], name)
        self.assertEqual(inst_type["memory_mb"], 256)
        self.assertEqual(inst_type["vcpus"], 1)
        self.assertEqual(inst_type["root_gb"], 120)
        self.assertEqual(inst_type["ephemeral_gb"], 100)
        self.assertEqual(inst_type["swap"], 0)
        self.assertEqual(inst_type["rxtx_factor"], 1.0)

        # make sure new type shows up in list
        new_list = instance_types.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list), "instance type was not created")

        instance_types.destroy(name)
        self.assertRaises(exception.InstanceTypeNotFound, instance_types.get_instance_type, inst_type_id)

        # deleted instance should not be in list anymoer
        new_list = instance_types.get_all_types()
        self.assertEqual(original_list, new_list)
Esempio n. 21
0
    def _create(self, req, body):
        context = req.environ['nova.context']
        authorize(context)

        vals = body['flavor']
        name = vals['name']
        flavorid = vals.get('id')
        memory_mb = vals.get('ram')
        vcpus = vals.get('vcpus')
        root_gb = vals.get('disk')
        ephemeral_gb = vals.get('OS-FLV-EXT-DATA:ephemeral')
        swap = vals.get('swap')
        rxtx_factor = vals.get('rxtx_factor')
        is_public = vals.get('os-flavor-access:is_public', True)

        try:
            flavor = instance_types.create(name, memory_mb, vcpus,
                                           root_gb, ephemeral_gb, flavorid,
                                           swap, rxtx_factor, is_public)
            req.cache_db_flavor(flavor)
        except (exception.InstanceTypeExists,
                exception.InstanceTypeIdExists) as err:
            raise webob.exc.HTTPConflict(explanation=str(err))

        return self._view_builder.show(req, flavor)
    def test_instance_type_create_with_long_flavor_name(self):
        # Flavor name with 255 characters or less is valid.
        name = "a" * 255
        inst_type = instance_types.create(name, 64, 1, 120, flavorid=11)
        self.assertEqual(inst_type["name"], name)

        # Flavor name which is more than 255 characters will cause error.
        name = "a" * 256
        self.assertRaises(exception.InvalidInput, instance_types.create, name, 64, 1, 120, flavorid=11)
 def test_remove_instance_type_access_doesnt_exists(self):
     user_id = "fake"
     project_id = "fake"
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = "flavor1"
     type_ref = instance_types.create("some flavor", 256, 1, 120, 100, flavorid=flavor_id)
     self.assertRaises(
         exception.FlavorAccessNotFound, instance_types.remove_instance_type_access, flavor_id, project_id, ctxt=ctxt
     )
 def test_add_instance_type_access(self):
     user_id = "fake"
     project_id = "fake"
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = "flavor1"
     type_ref = instance_types.create("some flavor", 256, 1, 120, 100, flavorid=flavor_id)
     access_ref = instance_types.add_instance_type_access(flavor_id, project_id, ctxt=ctxt)
     self.assertEqual(access_ref["project_id"], project_id)
     self.assertEqual(access_ref["instance_type_id"], type_ref["id"])
Esempio n. 25
0
    def test_instance_type_create_with_long_flavor_name(self):
        # Flavor name with 255 characters or less is valid.
        name = 'a' * 255
        inst_type = instance_types.create(name, 64, 1, 120, flavorid=11)
        self.assertEqual(inst_type['name'], name)

        # Flavor name which is more than 255 characters will cause error.
        name = 'a' * 256
        self.assertRaises(exception.InvalidInput, instance_types.create,
                          name, 64, 1, 120, flavorid=11)
 def test_add_instance_type_access_already_exists(self):
     user_id = "fake"
     project_id = "fake"
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = "flavor1"
     type_ref = instance_types.create("some flavor", 256, 1, 120, 100, flavorid=flavor_id)
     access_ref = instance_types.add_instance_type_access(flavor_id, project_id, ctxt=ctxt)
     self.assertRaises(
         exception.FlavorAccessExists, instance_types.add_instance_type_access, flavor_id, project_id, ctxt
     )
Esempio n. 27
0
 def test_remove_instance_type_access_doesnt_exists(self):
     user_id = 'fake'
     project_id = 'fake'
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = 'flavor1'
     type_ref = instance_types.create('some flavor', 256, 1, 120, 100,
                                       flavorid=flavor_id)
     self.assertRaises(exception.FlavorAccessNotFound,
                       instance_types.remove_instance_type_access,
                       flavor_id, project_id, ctxt=ctxt)
 def test_instance_type_create_without_flavorid(self):
     name = "Small Flavor"
     inst_type = instance_types.create(name, 256, 1, 120, 100)
     self.assertNotEqual(inst_type["flavorid"], None)
     self.assertEqual(inst_type["name"], name)
     self.assertEqual(inst_type["memory_mb"], 256)
     self.assertEqual(inst_type["vcpus"], 1)
     self.assertEqual(inst_type["root_gb"], 120)
     self.assertEqual(inst_type["ephemeral_gb"], 100)
     self.assertEqual(inst_type["swap"], 0)
     self.assertEqual(inst_type["rxtx_factor"], 1.0)
Esempio n. 29
0
 def test_instance_type_create_without_flavorid(self):
     name = 'Small Flavor'
     inst_type = instance_types.create(name, 256, 1, 120, 100)
     self.assertNotEqual(inst_type['flavorid'], None)
     self.assertEqual(inst_type['name'], name)
     self.assertEqual(inst_type['memory_mb'], 256)
     self.assertEqual(inst_type['vcpus'], 1)
     self.assertEqual(inst_type['root_gb'], 120)
     self.assertEqual(inst_type['ephemeral_gb'], 100)
     self.assertEqual(inst_type['swap'], 0)
     self.assertEqual(inst_type['rxtx_factor'], 1)
Esempio n. 30
0
 def test_instance_type_create_without_flavorid(self):
     name = 'Small Flavor'
     inst_type = instance_types.create(name, 256, 1, 120, 100)
     self.assertNotEqual(inst_type['flavorid'], None)
     self.assertEqual(inst_type['name'], name)
     self.assertEqual(inst_type['memory_mb'], 256)
     self.assertEqual(inst_type['vcpus'], 1)
     self.assertEqual(inst_type['root_gb'], 120)
     self.assertEqual(inst_type['ephemeral_gb'], 100)
     self.assertEqual(inst_type['swap'], 0)
     self.assertEqual(inst_type['rxtx_factor'], 1.0)
 def test_instance_type_create_with_custom_rxtx_factor(self):
     name = "Custom RXTX Factor"
     inst_type = instance_types.create(name, 256, 1, 120, 100, rxtx_factor=9.9)
     self.assertNotEqual(inst_type["flavorid"], None)
     self.assertEqual(inst_type["name"], name)
     self.assertEqual(inst_type["memory_mb"], 256)
     self.assertEqual(inst_type["vcpus"], 1)
     self.assertEqual(inst_type["root_gb"], 120)
     self.assertEqual(inst_type["ephemeral_gb"], 100)
     self.assertEqual(inst_type["swap"], 0)
     self.assertEqual(inst_type["rxtx_factor"], 9.9)
Esempio n. 32
0
 def test_instance_type_create_with_custom_rxtx_factor(self):
     name = 'Custom RXTX Factor'
     inst_type = instance_types.create(name, 256, 1, 120, 100,
                                       rxtx_factor=9.9)
     self.assertNotEqual(inst_type['flavorid'], None)
     self.assertEqual(inst_type['name'], name)
     self.assertEqual(inst_type['memory_mb'], 256)
     self.assertEqual(inst_type['vcpus'], 1)
     self.assertEqual(inst_type['root_gb'], 120)
     self.assertEqual(inst_type['ephemeral_gb'], 100)
     self.assertEqual(inst_type['swap'], 0)
     self.assertEqual(inst_type['rxtx_factor'], 9.9)
Esempio n. 33
0
 def test_add_instance_type_access(self):
     user_id = 'fake'
     project_id = 'fake'
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = 'flavor1'
     type_ref = instance_types.create('some flavor', 256, 1, 120, 100,
                                       flavorid=flavor_id)
     access_ref = instance_types.add_instance_type_access(flavor_id,
                                                          project_id,
                                                          ctxt=ctxt)
     self.assertEqual(access_ref["project_id"], project_id)
     self.assertEqual(access_ref["instance_type_id"], type_ref["id"])
 def test_instance_type_create_with_empty_flavorid(self):
     # Ensure that auto-generated uuid is assigned.
     name = "Empty String ID Flavor"
     flavorid = ""
     inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
     self.assertEqual(len(inst_type["flavorid"]), 36)
     self.assertEqual(inst_type["name"], name)
     self.assertEqual(inst_type["memory_mb"], 256)
     self.assertEqual(inst_type["vcpus"], 1)
     self.assertEqual(inst_type["root_gb"], 120)
     self.assertEqual(inst_type["ephemeral_gb"], 100)
     self.assertEqual(inst_type["swap"], 0)
     self.assertEqual(inst_type["rxtx_factor"], 1.0)
Esempio n. 35
0
 def test_instance_type_create_with_empty_flavorid(self):
     # Ensure that auto-generated uuid is assigned.
     name = 'Empty String ID Flavor'
     flavorid = ''
     inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
     self.assertEqual(len(inst_type['flavorid']), 36)
     self.assertEqual(inst_type['name'], name)
     self.assertEqual(inst_type['memory_mb'], 256)
     self.assertEqual(inst_type['vcpus'], 1)
     self.assertEqual(inst_type['root_gb'], 120)
     self.assertEqual(inst_type['ephemeral_gb'], 100)
     self.assertEqual(inst_type['swap'], 0)
     self.assertEqual(inst_type['rxtx_factor'], 1.0)
Esempio n. 36
0
 def test_add_instance_type_access_already_exists(self):
     user_id = 'fake'
     project_id = 'fake'
     ctxt = context.RequestContext(user_id, project_id, is_admin=True)
     flavor_id = 'flavor1'
     type_ref = instance_types.create('some flavor', 256, 1, 120, 100,
                                       flavorid=flavor_id)
     access_ref = instance_types.add_instance_type_access(flavor_id,
                                                          project_id,
                                                          ctxt=ctxt)
     self.assertRaises(exception.FlavorAccessExists,
                       instance_types.add_instance_type_access,
                       flavor_id, project_id, ctxt)
    def test_can_read_deleted_types_using_flavor_id(self):
        # Ensure deleted instance types can be read when querying flavor_id.
        inst_type_name = "test"
        inst_type_flavor_id = "test1"

        inst_type = instance_types.create(inst_type_name, 256, 1, 120, 100, inst_type_flavor_id)
        self.assertEqual(inst_type_name, inst_type["name"])

        # NOTE(jk0): The deleted flavor will show up here because the context
        # in get_instance_type_by_flavor_id() is set to use read_deleted by
        # default.
        instance_types.destroy(inst_type["name"])
        deleted_inst_type = instance_types.get_instance_type_by_flavor_id(inst_type_flavor_id)
        self.assertEqual(inst_type_name, deleted_inst_type["name"])
Esempio n. 38
0
    def create(self, req, body):
        name = body["flavor"].get("name")
        memory_mb = body["flavor"].get("memory_mb")
        vcpus = body["flavor"].get("vcpus")
        local_gb = body["flavor"].get("local_gb")
        flavorid = body["flavor"].get("flavorid")
        swap = body["flavor"].get("swap", 0)
        rxtx_factor = body["flavor"].get("rxtx_factor", 1)

        context = req.environ["nova.context"]
        flavor = instance_types.create(name, memory_mb, vcpus, local_gb, flavorid, swap, rxtx_factor)
        builder = self._get_view_builder(req)
        values = builder.show(req, flavor)
        return dict(flavor=values)
Esempio n. 39
0
    def create(self, req, body):
        name = body["flavor"].get("name")
        memory_mb = body["flavor"].get("memory_mb")
        vcpus = body["flavor"].get("vcpus")
        local_gb = body["flavor"].get("local_gb")
        flavorid = body["flavor"].get("flavorid")
        swap = body["flavor"].get("swap")
        rxtx_quota = body["flavor"].get("rxtx_quota")
        rxtx_cap = body["flavor"].get("rxtx_cap")

        context = req.environ["nova.context"]
        flavor = instance_types.create(name, memory_mb, vcpus, local_gb, flavorid, swap, rxtx_quota, rxtx_cap)
        builder = self._get_view_builder(req)
        values = builder.build(body["flavor"], is_detail=True)
        return dict(flavor=values)
Esempio n. 40
0
 def create(self, name, memory, vcpus, root_gb, ephemeral_gb=0,
            flavorid=None, swap=0, rxtx_factor=1.0, is_public=True):
     """Creates instance types / flavors."""
     try:
         instance_types.create(name, memory, vcpus, root_gb,
                               ephemeral_gb, flavorid, swap, rxtx_factor,
                               is_public)
     except exception.InvalidInput as e:
         print _("Must supply valid parameters to create instance_type")
         print e
         return(1)
     except exception.InstanceTypeExists:
         print _("Instance Type exists.")
         print _("Please ensure instance_type name and flavorid are "
                 "unique.")
         print _("Currently defined instance_type names and flavorids:")
         print
         self.list()
         return(2)
     except Exception:
         print _("Unknown error")
         return(3)
     else:
         print _("%s created") % name
Esempio n. 41
0
    def test_can_read_deleted_types_using_flavor_id(self):
        """Ensure deleted instance types can be read when querying flavor_id"""
        inst_type_name = "test"
        inst_type_flavor_id = "test1"

        inst_type = instance_types.create(inst_type_name, 256, 1, 120, 100,
                                          inst_type_flavor_id)
        self.assertEqual(inst_type_name, inst_type["name"])

        # NOTE(jk0): The deleted flavor will show up here because the context
        # in get_instance_type_by_flavor_id() is set to use read_deleted.
        instance_types.destroy(inst_type["name"])
        deleted_inst_type = instance_types.get_instance_type_by_flavor_id(
            inst_type_flavor_id)
        self.assertEqual(inst_type_name, deleted_inst_type["name"])
Esempio n. 42
0
    def create(self, req, body):
        name = body['flavor'].get('name')
        memory_mb = body['flavor'].get('memory_mb')
        vcpus = body['flavor'].get('vcpus')
        local_gb = body['flavor'].get('local_gb')
        flavorid = body['flavor'].get('flavorid')
        swap = body['flavor'].get('swap', 0)
        rxtx_factor = body['flavor'].get('rxtx_factor', 1)

        context = req.environ['nova.context']
        flavor = instance_types.create(name, memory_mb, vcpus, local_gb,
                                       flavorid, swap, rxtx_factor)
        builder = self._get_view_builder(req)
        values = builder.show(req, flavor)
        return dict(flavor=values)
    def test_will_list_deleted_type_for_active_instance(self):
        # Ensure deleted instance types with active instances can be read.
        ctxt = context.get_admin_context()
        inst_type = instance_types.create("test", 256, 1, 120, 100, "test1")

        instance_params = {"instance_type_id": inst_type["id"]}
        instance = db.instance_create(ctxt, instance_params)

        # NOTE(jk0): Delete the instance type and reload the instance from the
        # DB. The instance_type object will still be available to the active
        # instance, otherwise being None.
        instance_types.destroy(inst_type["name"])
        instance = db.instance_get_by_uuid(ctxt, instance["uuid"])

        self.assertRaises(exception.InstanceTypeNotFound, instance_types.get_instance_type, inst_type["name"])
        self.assertTrue(instance["instance_type"])
Esempio n. 44
0
    def create(self, req, body):
        name = body['flavor'].get('name')
        memory_mb = body['flavor'].get('memory_mb')
        vcpus = body['flavor'].get('vcpus')
        local_gb = body['flavor'].get('local_gb')
        flavorid = body['flavor'].get('flavorid')
        swap = body['flavor'].get('swap', 0)
        rxtx_factor = body['flavor'].get('rxtx_factor', 1)

        context = req.environ['nova.context']
        flavor = instance_types.create(name, memory_mb, vcpus,
                                       local_gb, flavorid,
                                       swap, rxtx_factor)
        builder = self._get_view_builder(req)
        values = builder.show(req, flavor)
        return dict(flavor=values)
Esempio n. 45
0
    def _create(self, req, body):
        context = req.environ["nova.context"]
        authorize(context)

        vals = body["flavor"]
        name = vals["name"]
        flavorid = vals["id"]
        memory_mb = vals.get("ram")
        vcpus = vals.get("vcpus")
        root_gb = vals.get("disk")
        ephemeral_gb = vals.get("disk")
        swap = vals.get("swap")
        rxtx_factor = vals.get("rxtx_factor")

        flavor = instance_types.create(name, memory_mb, vcpus, root_gb, ephemeral_gb, flavorid, swap, rxtx_factor)

        return self._view_builder.show(req, flavor)
Esempio n. 46
0
    def test_will_list_deleted_type_for_active_instance(self):
        """Ensure deleted instance types with active instances can be read"""
        ctxt = context.get_admin_context()
        inst_type = instance_types.create("test", 256, 1, 120, 100, "test1")

        instance_params = {"instance_type_id": inst_type["id"]}
        instance = db.instance_create(ctxt, instance_params)

        # NOTE(jk0): Delete the instance type and reload the instance from the
        # DB. The instance_type object will still be available to the active
        # instance, otherwise being None.
        instance_types.destroy(inst_type["name"])
        instance = db.instance_get_by_uuid(ctxt, instance["uuid"])

        self.assertRaises(exception.InstanceTypeNotFound,
                instance_types.get_instance_type, inst_type["name"])
        self.assertTrue(instance["instance_type"])
Esempio n. 47
0
    def create(self, req, body):
        name = body['flavor'].get('name')
        memory_mb = body['flavor'].get('memory_mb')
        vcpus = body['flavor'].get('vcpus')
        local_gb = body['flavor'].get('local_gb')
        flavorid = body['flavor'].get('flavorid')
        swap = body['flavor'].get('swap')
        rxtx_quota = body['flavor'].get('rxtx_quota')
        rxtx_cap = body['flavor'].get('rxtx_cap')

        context = req.environ['nova.context'].elevated()
        flavor = instance_types.create(name, memory_mb, vcpus,
                                       local_gb, flavorid,
                                       swap, rxtx_quota, rxtx_cap)
        builder = self._get_view_builder(req)
        values = builder.build(body['flavor'], is_detail=True)
        return dict(flavor=values)
Esempio n. 48
0
    def create(self, req, body):
        name = body['flavor'].get('name')
        memory_mb = body['flavor'].get('memory_mb')
        vcpus = body['flavor'].get('vcpus')
        local_gb = body['flavor'].get('local_gb')
        flavorid = body['flavor'].get('flavorid')
        swap = body['flavor'].get('swap')
        rxtx_quota = body['flavor'].get('rxtx_quota')
        rxtx_cap = body['flavor'].get('rxtx_cap')

        context = req.environ['nova.context']
        flavor = instance_types.create(name, memory_mb, vcpus,
                                       local_gb, flavorid,
                                       swap, rxtx_quota, rxtx_cap)
        builder = self._get_view_builder(req)
        values = builder.build(body['flavor'], is_detail=True)
        return dict(flavor=values)
Esempio n. 49
0
    def create(self, req):
        env = self._deserialize(req.body, req.get_content_type())

        name = env['flavor'].get('name')
        memory_mb = env['flavor'].get('memory_mb')
        vcpus = env['flavor'].get('vcpus')
        local_gb = env['flavor'].get('local_gb')
        flavorid = env['flavor'].get('flavorid')
        swap = env['flavor'].get('swap')
        rxtx_quota = env['flavor'].get('rxtx_quota')
        rxtx_cap = env['flavor'].get('rxtx_cap')

        context = req.environ['nova.context'].elevated()
        flavor = instance_types.create(name, memory_mb, vcpus, local_gb,
                                       flavorid, swap, rxtx_quota, rxtx_cap)
        builder = self._get_view_builder(req)
        values = builder.build(env['flavor'], is_detail=True)
        return dict(flavor=values)
Esempio n. 50
0
    def _create(self, req, body):
        context = req.environ['nova.context']
        authorize(context)

        vals = body['flavor']
        name = vals['name']
        flavorid = vals['id']
        memory_mb = vals.get('ram')
        vcpus = vals.get('vcpus')
        root_gb = vals.get('disk')
        ephemeral_gb = vals.get('disk')
        swap = vals.get('swap')
        rxtx_factor = vals.get('rxtx_factor')

        flavor = instance_types.create(name, memory_mb, vcpus,
                                       root_gb, ephemeral_gb, flavorid,
                                       swap, rxtx_factor)

        return self._view_builder.show(req, flavor)
Esempio n. 51
0
    def _create(self, req, body):
        context = req.environ['nova.context']

        if not context.is_admin:
            return webob.Response(status_int=403)

        vals = body['flavor']
        name = vals['name']
        flavorid = vals['id']
        memory_mb = vals.get('ram')
        vcpus = vals.get('vcpus')
        root_gb = vals.get('disk')
        ephemeral_gb = vals.get('disk')
        swap = vals.get('swap')
        rxtx_factor = vals.get('rxtx_factor')

        flavor = instance_types.create(name, memory_mb, vcpus, root_gb,
                                       ephemeral_gb, flavorid, swap,
                                       rxtx_factor)

        return self._view_builder.show(req, flavor)
Esempio n. 52
0
    def _create(self, req, body):
        context = req.environ['nova.context']
        authorize(context)

        vals = body['flavor']
        name = vals['name']
        flavorid = vals['id']
        memory_mb = vals.get('ram')
        vcpus = vals.get('vcpus')
        root_gb = vals.get('disk')
        ephemeral_gb = vals.get('OS-FLV-EXT-DATA:ephemeral')
        swap = vals.get('swap')
        rxtx_factor = vals.get('rxtx_factor')

        try:
            flavor = instance_types.create(name, memory_mb, vcpus,
                                           root_gb, ephemeral_gb, flavorid,
                                           swap, rxtx_factor)
        except exception.InstanceTypeExists as err:
            raise webob.exc.HTTPConflict(explanation=str(err))

        return self._view_builder.show(req, flavor)
Esempio n. 53
0
    def test_instance_type_create_then_delete(self):
        """Ensure instance types can be created"""
        name = 'Small Flavor'
        flavorid = 'flavor1'

        original_list = instance_types.get_all_types()

        # create new type and make sure values stick
        inst_type = instance_types.create(name, 256, 1, 120, 100, flavorid)
        inst_type_id = inst_type['id']
        self.assertEqual(inst_type['flavorid'], flavorid)
        self.assertEqual(inst_type['name'], name)
        self.assertEqual(inst_type['memory_mb'], 256)
        self.assertEqual(inst_type['vcpus'], 1)
        self.assertEqual(inst_type['root_gb'], 120)
        self.assertEqual(inst_type['ephemeral_gb'], 100)
        self.assertEqual(inst_type['swap'], 0)
        self.assertEqual(inst_type['rxtx_factor'], 1)

        # make sure new type shows up in list
        new_list = instance_types.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'instance type was not created')

        # destroy instance and make sure deleted flag is set to True
        instance_types.destroy(name)
        inst_type = instance_types.get_instance_type(inst_type_id)
        self.assertEqual(1, inst_type["deleted"])

        # deleted instance should not be in list anymoer
        new_list = instance_types.get_all_types()
        self.assertEqual(original_list, new_list)

        # ensure instances are gone after purge
        instance_types.purge(name)
        new_list = instance_types.get_all_types()
        self.assertEqual(original_list, new_list, 'instance type not purged')