summaryrefslogtreecommitdiffstats
path: root/nova/tests/virt/powervm/test_powervm.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/virt/powervm/test_powervm.py')
-rw-r--r--nova/tests/virt/powervm/test_powervm.py35
1 files changed, 32 insertions, 3 deletions
diff --git a/nova/tests/virt/powervm/test_powervm.py b/nova/tests/virt/powervm/test_powervm.py
index 8fe08bdb8..fddd97a9d 100644
--- a/nova/tests/virt/powervm/test_powervm.py
+++ b/nova/tests/virt/powervm/test_powervm.py
@@ -173,7 +173,8 @@ class FakeBlockAdapter(powervm_blockdev.PowerVMLocalVolumeAdapter):
def fake_get_powervm_operator():
- return FakeIVMOperator(None)
+ return FakeIVMOperator(common.Connection('fake_host', 'fake_user',
+ 'fake_password'))
def create_instance(testcase):
@@ -269,9 +270,12 @@ class PowerVMDriverTestCase(test.TestCase):
self._loc_expected_task_state = expected_state
loc_context = context.get_admin_context()
+ arch = 'fake_arch'
properties = {'instance_id': self.instance['id'],
- 'user_id': str(loc_context.user_id)}
- sent_meta = {'name': 'fake_snap', 'is_public': False,
+ 'user_id': str(loc_context.user_id),
+ 'architecture': arch}
+ snapshot_name = 'fake_snap'
+ sent_meta = {'name': snapshot_name, 'is_public': False,
'status': 'creating', 'properties': properties}
image_service = fake.FakeImageService()
recv_meta = image_service.create(loc_context, sent_meta)
@@ -283,6 +287,12 @@ class PowerVMDriverTestCase(test.TestCase):
self.assertTrue(self._loc_task_state == task_states.IMAGE_UPLOADING and
self._loc_expected_task_state == task_states.IMAGE_PENDING_UPLOAD)
+ snapshot = image_service.show(context, recv_meta['id'])
+ self.assertEquals(snapshot['properties']['image_state'], 'available')
+ self.assertEquals(snapshot['properties']['architecture'], arch)
+ self.assertEquals(snapshot['status'], 'active')
+ self.assertEquals(snapshot['name'], snapshot_name)
+
def _set_get_info_stub(self, state):
def fake_get_instance(instance_name):
return {'state': state,
@@ -609,6 +619,25 @@ class PowerVMDriverTestCase(test.TestCase):
self.assertEquals(host_stats['supported_instances'][0][1], "powervm")
self.assertEquals(host_stats['supported_instances'][0][2], "hvm")
+ def test_get_host_uptime(self):
+ """
+ Tests that the get_host_uptime method issues the proper sysstat command
+ and parses the output correctly.
+ """
+ exp_cmd = "ioscli sysstat -short fake_user"
+ output = [("02:54PM up 24 days, 5:41, 1 user, "
+ "load average: 0.06, 0.03, 0.02")]
+
+ fake_op = self.powervm_connection._powervm
+ self.mox.StubOutWithMock(fake_op._operator, 'run_vios_command')
+ fake_op._operator.run_vios_command(exp_cmd).AndReturn(output)
+
+ self.mox.ReplayAll()
+
+ # the host parameter isn't used so we just pass None
+ uptime = self.powervm_connection.get_host_uptime(None)
+ self.assertEquals("02:54PM up 24 days 5:41", uptime)
+
class PowerVMDriverLparTestCase(test.TestCase):
"""Unit tests for PowerVM connection calls."""