summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-03-19 15:47:42 +0000
committerGerrit Code Review <review@openstack.org>2013-03-19 15:47:42 +0000
commit3edd2dd1e2169c726ac0fe62a153f3e770fc14ef (patch)
treea70b4361bf0c7f79285ec0ed9391647fc678751d
parent94630d2e151d2be3325565e3855d0b8c28061a31 (diff)
parentecab528830a294881569aa20a6e07c9bb65ce460 (diff)
Merge "Fixes PowerVM spawn failed as missing attr supported_instances"
-rw-r--r--nova/tests/test_powervm.py23
-rw-r--r--nova/virt/powervm/constants.py1
-rw-r--r--nova/virt/powervm/operator.py1
3 files changed, 25 insertions, 0 deletions
diff --git a/nova/tests/test_powervm.py b/nova/tests/test_powervm.py
index c6a385bdd..946fd15a8 100644
--- a/nova/tests/test_powervm.py
+++ b/nova/tests/test_powervm.py
@@ -393,3 +393,26 @@ class PowerVMDriverTestCase(test.TestCase):
expected_name = 'rsz__really_long_instance_name_00000001'
result = self.powervm_connection._get_resize_name(inst_name)
self.assertEqual(expected_name, result)
+
+ def test_get_host_stats(self):
+ host_stats = self.powervm_connection.get_host_stats(True)
+ self.assertIsNotNone(host_stats)
+ self.assertEquals(host_stats['vcpus'], 8.0)
+ self.assertEquals(round(host_stats['vcpus_used'], 1), 1.7)
+ self.assertEquals(host_stats['host_memory_total'], 65536)
+ self.assertEquals(host_stats['host_memory_free'], 46336)
+ self.assertEquals(host_stats['disk_total'], 10168)
+ self.assertEquals(host_stats['disk_used'], 0)
+ self.assertEquals(host_stats['disk_available'], 10168)
+ self.assertEquals(host_stats['disk_total'],
+ host_stats['disk_used'] +
+ host_stats['disk_available'])
+
+ self.assertEquals(host_stats['cpu_info'], ('ppc64', 'powervm', '3940'))
+ self.assertEquals(host_stats['hypervisor_type'], 'powervm')
+ self.assertEquals(host_stats['hypervisor_version'], '7.1')
+
+ self.assertEquals(host_stats['hypervisor_hostname'], "fake-powervm")
+ self.assertEquals(host_stats['supported_instances'][0][0], "ppc64")
+ self.assertEquals(host_stats['supported_instances'][0][1], "powervm")
+ self.assertEquals(host_stats['supported_instances'][0][2], "hvm")
diff --git a/nova/virt/powervm/constants.py b/nova/virt/powervm/constants.py
index 9c691352d..1be330ca3 100644
--- a/nova/virt/powervm/constants.py
+++ b/nova/virt/powervm/constants.py
@@ -30,6 +30,7 @@ POWERVM_POWER_STATE = {
POWERVM_CPU_INFO = ('ppc64', 'powervm', '3940')
POWERVM_HYPERVISOR_TYPE = 'powervm'
POWERVM_HYPERVISOR_VERSION = '7.1'
+POWERVM_SUPPORTED_INSTANCES = [('ppc64', 'powervm', 'hvm')]
POWERVM_MIN_ROOT_GB = 10
diff --git a/nova/virt/powervm/operator.py b/nova/virt/powervm/operator.py
index 08db2d18a..059935652 100644
--- a/nova/virt/powervm/operator.py
+++ b/nova/virt/powervm/operator.py
@@ -165,6 +165,7 @@ class PowerVMOperator(object):
data['hypervisor_type'] = constants.POWERVM_HYPERVISOR_TYPE
data['hypervisor_version'] = constants.POWERVM_HYPERVISOR_VERSION
data['hypervisor_hostname'] = self._operator.get_hostname()
+ data['supported_instances'] = constants.POWERVM_SUPPORTED_INSTANCES
data['extres'] = ''
self._host_stats = data