示例#1
0
    def test_find_free(self):
        self._create_nodes()
        fn = db.bm_node_find_free(self.context, 'host2')
        self.assertEqual(fn['pm_address'], '2')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=500, cpus=2, local_gb=100)
        self.assertEqual(fn['pm_address'], '3')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=1001, cpus=1, local_gb=1000)
        self.assertEqual(fn['pm_address'], '4')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=1, local_gb=1000)
        self.assertEqual(fn['pm_address'], '4')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=2, local_gb=1000)
        self.assertEqual(fn['pm_address'], '5')

        # check memory_mb
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2001, cpus=2, local_gb=1000)
        self.assertIsNone(fn)

        # check cpus
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=3, local_gb=1000)
        self.assertIsNone(fn)

        # check local_gb
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=2, local_gb=1001)
        self.assertIsNone(fn)
示例#2
0
    def test_find_free(self):
        self._create_nodes()
        fn = db.bm_node_find_free(self.context, "host2")
        self.assertEqual(fn["pm_address"], "2")

        fn = db.bm_node_find_free(self.context, "host2", memory_mb=500, cpus=2, local_gb=100)
        self.assertEqual(fn["pm_address"], "3")

        fn = db.bm_node_find_free(self.context, "host2", memory_mb=1001, cpus=1, local_gb=1000)
        self.assertEqual(fn["pm_address"], "4")

        fn = db.bm_node_find_free(self.context, "host2", memory_mb=2000, cpus=1, local_gb=1000)
        self.assertEqual(fn["pm_address"], "4")

        fn = db.bm_node_find_free(self.context, "host2", memory_mb=2000, cpus=2, local_gb=1000)
        self.assertEqual(fn["pm_address"], "5")

        # check memory_mb
        fn = db.bm_node_find_free(self.context, "host2", memory_mb=2001, cpus=2, local_gb=1000)
        self.assertTrue(fn is None)

        # check cpus
        fn = db.bm_node_find_free(self.context, "host2", memory_mb=2000, cpus=3, local_gb=1000)
        self.assertTrue(fn is None)

        # check local_gb
        fn = db.bm_node_find_free(self.context, "host2", memory_mb=2000, cpus=2, local_gb=1001)
        self.assertTrue(fn is None)
示例#3
0
    def test_find_free(self):
        self._create_nodes()
        fn = db.bm_node_find_free(self.context, 'host2')
        self.assertEqual(fn['pm_address'], '2')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=500, cpus=2, local_gb=100)
        self.assertEqual(fn['pm_address'], '3')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=1001, cpus=1, local_gb=1000)
        self.assertEqual(fn['pm_address'], '4')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=1, local_gb=1000)
        self.assertEqual(fn['pm_address'], '4')

        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=2, local_gb=1000)
        self.assertEqual(fn['pm_address'], '5')

        # check memory_mb
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2001, cpus=2, local_gb=1000)
        self.assertTrue(fn is None)

        # check cpus
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=3, local_gb=1000)
        self.assertTrue(fn is None)

        # check local_gb
        fn = db.bm_node_find_free(self.context, 'host2',
                                  memory_mb=2000, cpus=2, local_gb=1001)
        self.assertTrue(fn is None)
示例#4
0
 def get_nodename_for_new_instance(self, context, instance):
     def none_to_0(x):
         if x is None:
             return 0
         else:
             return x
     local_gb = none_to_0(instance.get('root_gb')) + \
                 none_to_0(instance.get('ephemeral_gb'))
     node = bmdb.bm_node_find_free(context, FLAGS.host,
                                   memory_mb=instance['memory_mb'],
                                   cpus=instance['vcpus'],
                                   local_gb=local_gb)
     if not node:
         raise NoSuitableNode(instance_uuid=instance['uuid'])
     return str(node['id'])
示例#5
0
 def get_nodename_for_new_instance(self, context, instance):
     def none_to_0(x):
         if x is None:
             return 0
         else:
             return x
     local_gb = none_to_0(instance.get('root_gb')) + \
                 none_to_0(instance.get('ephemeral_gb'))
     node = bmdb.bm_node_find_free(context,
                                   FLAGS.host,
                                   memory_mb=instance['memory_mb'],
                                   cpus=instance['vcpus'],
                                   local_gb=local_gb)
     if not node:
         raise NoSuitableNode(instance_uuid=instance['uuid'])
     return str(node['id'])