Esempio n. 1
0
    def test_instance_type_create_then_delete(self):
        # Ensure instance types can be created.
        name = "Small Flavor"
        flavorid = "flavor1"

        original_list = flavors.get_all_types()

        # create new type and make sure values stick
        inst_type = flavors.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 = flavors.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list), "instance type was not created")

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

        # deleted instance should not be in list anymoer
        new_list = flavors.get_all_types()
        self.assertEqual(original_list, new_list)
Esempio n. 2
0
    def test_basic_create(self):
        # Ensure instance types can be created.
        original_list = flavors.get_all_types()

        # Create new type and make sure values stick
        flavor = flavors.create("flavor", 64, 1, 120)
        self.assertEqual(flavor["name"], "flavor")
        self.assertEqual(flavor["memory_mb"], 64)
        self.assertEqual(flavor["vcpus"], 1)
        self.assertEqual(flavor["root_gb"], 120)

        # Ensure new type shows up in list
        new_list = flavors.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list), "flavor was not created")
Esempio n. 3
0
    def test_basic_create(self):
        # Ensure instance types can be created.
        original_list = flavors.get_all_types()

        # Create new type and make sure values stick
        flavor = flavors.create('flavor', 64, 1, 120)
        self.assertEqual(flavor['name'], 'flavor')
        self.assertEqual(flavor['memory_mb'], 64)
        self.assertEqual(flavor['vcpus'], 1)
        self.assertEqual(flavor['root_gb'], 120)

        # Ensure new type shows up in list
        new_list = flavors.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'flavor was not created')
Esempio n. 4
0
    def test_create_then_delete(self):
        original_list = flavors.get_all_types()

        flavor = flavors.create("flavor", 64, 1, 120)

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

        flavors.destroy("flavor")
        self.assertRaises(exception.InstanceTypeNotFound, flavors.get_instance_type, flavor["id"])

        # Deleted instance should not be in list anymore
        new_list = flavors.get_all_types()
        self.assertEqual(original_list, new_list)
    def test_basic_create(self):
        # Ensure instance types can be created.
        original_list = flavors.get_all_types()

        # Create new type and make sure values stick
        flavor = flavors.create('flavor', 64, 1, 120)
        self.assertEqual(flavor['name'], 'flavor')
        self.assertEqual(flavor['memory_mb'], 64)
        self.assertEqual(flavor['vcpus'], 1)
        self.assertEqual(flavor['root_gb'], 120)

        # Ensure new type shows up in list
        new_list = flavors.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list),
                            'flavor was not created')
Esempio n. 6
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}

        context = req.environ['nova.context']
        if context.is_admin:
            # Only admin has query access to all flavor types
            filters['is_public'] = self._parse_is_public(
                req.params.get('is_public', None))
        else:
            filters['is_public'] = True
            filters['disabled'] = False

        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                msg = _('Invalid minRam filter [%s]') % req.params['minRam']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        limited_flavors = flavors.get_all_types(context, filters=filters)
        flavors_list = limited_flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Esempio n. 7
0
    def _get_flavors(self, req):
        """Helper function that returns a list of flavor dicts."""
        filters = {}

        context = req.environ['nova.context']
        if context.is_admin:
            # Only admin has query access to all flavor types
            filters['is_public'] = self._get_is_public(req)
        else:
            filters['is_public'] = True
            filters['disabled'] = False

        if 'minRam' in req.params:
            try:
                filters['min_memory_mb'] = int(req.params['minRam'])
            except ValueError:
                msg = _('Invalid minRam filter [%s]') % req.params['minRam']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        if 'minDisk' in req.params:
            try:
                filters['min_root_gb'] = int(req.params['minDisk'])
            except ValueError:
                msg = _('Invalid minDisk filter [%s]') % req.params['minDisk']
                raise webob.exc.HTTPBadRequest(explanation=msg)

        limited_flavors = flavors.get_all_types(context, filters=filters)
        flavors_list = limited_flavors.values()
        sorted_flavors = sorted(flavors_list,
                                key=lambda item: item['flavorid'])
        limited_flavors = common.limited_by_marker(sorted_flavors, req)
        return limited_flavors
Esempio n. 8
0
 def _generate_name(self):
     """return a name not in the DB."""
     nonexistent_flavor = str(int(time.time()))
     all_flavors = flavors.get_all_types()
     while nonexistent_flavor in all_flavors:
         nonexistent_flavor += "z"
     else:
         return nonexistent_flavor
Esempio n. 9
0
    def _get_flavor_refs(self, context):
        """Return a dictionary mapping flavorid to flavor_ref."""

        flavor_refs = flavors.get_all_types(context)
        rval = {}
        for name, obj in flavor_refs.iteritems():
            rval[obj['flavorid']] = obj
        return rval
Esempio n. 10
0
 def _generate_name(self):
     """return a name not in the DB."""
     nonexistent_flavor = str(int(time.time()))
     all_flavors = flavors.get_all_types()
     while nonexistent_flavor in all_flavors:
         nonexistent_flavor += "z"
     else:
         return nonexistent_flavor
Esempio n. 11
0
 def _generate_flavorid(self):
     """return a flavorid not in the DB."""
     nonexistent_flavor = 2700
     flavor_ids = [value["id"] for key, value in flavors.get_all_types().iteritems()]
     while nonexistent_flavor in flavor_ids:
         nonexistent_flavor += 1
     else:
         return nonexistent_flavor
Esempio n. 12
0
    def test_create_then_delete(self):
        original_list = flavors.get_all_types()

        flavor = flavors.create('flavor', 64, 1, 120)

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

        flavors.destroy('flavor')
        self.assertRaises(exception.InstanceTypeNotFound,
                          flavors.get_instance_type, flavor['id'])

        # Deleted instance should not be in list anymore
        new_list = flavors.get_all_types()
        self.assertEqual(original_list, new_list)
Esempio n. 13
0
 def _generate_flavorid(self):
     """return a flavorid not in the DB."""
     nonexistent_flavor = 2700
     flavor_ids = [
         value["id"] for key, value in flavors.get_all_types().iteritems()
     ]
     while nonexistent_flavor in flavor_ids:
         nonexistent_flavor += 1
     else:
         return nonexistent_flavor
Esempio n. 14
0
    def test_instance_type_create(self):
        # Ensure instance types can be created.
        name = "Instance create test"
        flavor_id = "512"

        original_list = flavors.get_all_types()

        # create new type and make sure values stick
        inst_type = flavors.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 = flavors.get_all_types()
        self.assertNotEqual(len(original_list), len(new_list), "instance type was not created")
Esempio n. 15
0
 def list(self, name=None):
     """Lists all active or specific instance types / flavors."""
     try:
         if name is None:
             inst_types = flavors.get_all_types()
         else:
             inst_types = flavors.get_instance_type_by_name(name)
     except db_exc.DBError as e:
         _db_error(e)
     if isinstance(inst_types.values()[0], dict):
         for k, v in inst_types.iteritems():
             self._print_instance_types(k, v)
     else:
         self._print_instance_types(name, inst_types)
Esempio n. 16
0
 def test_get_all_instance_types(self):
     # Ensures that all instance types can be retrieved.
     session = sql_session.get_session()
     total_instance_types = session.query(models.InstanceTypes).count()
     inst_types = flavors.get_all_types()
     self.assertEqual(total_instance_types, len(inst_types))
Esempio n. 17
0
 def _existing_flavor(self):
     """return first instance type name."""
     return flavors.get_all_types().keys()[0]
Esempio n. 18
0
 def _existing_flavor(self):
     """return first instance type name."""
     return flavors.get_all_types().keys()[0]
Esempio n. 19
0
 def test_get_all_instance_types(self):
     # Ensures that all instance types can be retrieved.
     session = sql_session.get_session()
     total_instance_types = session.query(models.InstanceTypes).count()
     inst_types = flavors.get_all_types()
     self.assertEqual(total_instance_types, len(inst_types))