summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-02-16 00:27:46 +0000
committerGerrit Code Review <review@openstack.org>2018-02-16 00:27:46 +0000
commit35a60f8dce12bb28caa689f5ec144f6572dbcf49 (patch)
treedbd6e286cb0ff5c28b08ff4bf9f2a832016c6021
parent62c5c727a9be0ff40392c089f9a762053e0ea3e0 (diff)
parenta01caaa30bd44d1836c5b191b7cf9b573a1d2eff (diff)
downloadnova-35a60f8dce12bb28caa689f5ec144f6572dbcf49.tar.gz
Merge "Use correct arguments in task inits" into stable/queens
-rw-r--r--nova/tests/unit/virt/powervm/tasks/test_network.py17
-rw-r--r--nova/tests/unit/virt/powervm/tasks/test_storage.py37
-rw-r--r--nova/tests/unit/virt/powervm/tasks/test_vm.py20
-rw-r--r--nova/virt/powervm/tasks/network.py6
-rw-r--r--nova/virt/powervm/tasks/storage.py12
-rw-r--r--nova/virt/powervm/tasks/vm.py8
6 files changed, 87 insertions, 13 deletions
diff --git a/nova/tests/unit/virt/powervm/tasks/test_network.py b/nova/tests/unit/virt/powervm/tasks/test_network.py
index 08bceffca7..9d6951eceb 100644
--- a/nova/tests/unit/virt/powervm/tasks/test_network.py
+++ b/nova/tests/unit/virt/powervm/tasks/test_network.py
@@ -78,6 +78,11 @@ class TestNetwork(test.NoDBTestCase):
# code was called
self.assertEqual(3, mock_unplug.call_count)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_net.UnplugVifs(self.apt, inst, net_info)
+ tf.assert_called_once_with(name='unplug_vifs')
+
@mock.patch('nova.virt.powervm.vm.get_instance_wrapper')
def test_unplug_vifs_invalid_state(self, mock_get_wrap):
"""Tests that the delete raises an exception if bad VM state."""
@@ -129,6 +134,12 @@ class TestNetwork(test.NoDBTestCase):
# created.
self.assertEqual(pre_cnas + [mock_new_cna], all_cnas)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_net.PlugVifs(mock.MagicMock(), self.apt, inst, net_info)
+ tf.assert_called_once_with(
+ name='plug_vifs', provides='vm_cnas', requires=['lpar_wrap'])
+
@mock.patch('nova.virt.powervm.vif.plug')
@mock.patch('nova.virt.powervm.vm.get_cnas')
def test_plug_vifs_rmc_no_create(self, mock_vm_get, mock_plug):
@@ -288,6 +299,12 @@ class TestNetwork(test.NoDBTestCase):
mock_vm_get.assert_not_called()
mock_crt_cna.assert_not_called()
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_net.PlugMgmtVif(self.apt, inst)
+ tf.assert_called_once_with(
+ name='plug_mgmt_vif', provides='mgmt_cna', requires=['vm_cnas'])
+
def test_get_vif_events(self):
# Set up common mocks.
inst = powervm.TEST_INSTANCE
diff --git a/nova/tests/unit/virt/powervm/tasks/test_storage.py b/nova/tests/unit/virt/powervm/tasks/test_storage.py
index 1ff78aa3e2..7df5170284 100644
--- a/nova/tests/unit/virt/powervm/tasks/test_storage.py
+++ b/nova/tests/unit/virt/powervm/tasks/test_storage.py
@@ -63,6 +63,13 @@ class TestStorage(test.NoDBTestCase):
task.revert('mgmt_cna', 'result', 'flow_failures')
self.mock_mb.assert_not_called()
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.CreateAndConnectCfgDrive(
+ self.adapter, self.instance, 'injected_files',
+ 'network_info', 'stg_ftsk', admin_pass='admin_pass')
+ tf.assert_called_once_with(name='cfg_drive', requires=['mgmt_cna'])
+
def test_delete_vopt(self):
# Test with no FeedTask
task = tf_stg.DeleteVOpt(self.adapter, self.instance)
@@ -81,6 +88,11 @@ class TestStorage(test.NoDBTestCase):
self.mock_mb.dlt_vopt.assert_called_once_with(
self.instance, stg_ftsk='ftsk')
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.DeleteVOpt(self.adapter, self.instance)
+ tf.assert_called_once_with(name='vopt_delete')
+
def test_delete_disk(self):
stor_adpt_mappings = mock.Mock()
@@ -88,11 +100,23 @@ class TestStorage(test.NoDBTestCase):
task.execute(stor_adpt_mappings)
self.disk_dvr.delete_disks.assert_called_once_with(stor_adpt_mappings)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.DeleteDisk(self.disk_dvr)
+ tf.assert_called_once_with(
+ name='delete_disk', requires=['stor_adpt_mappings'])
+
def test_detach_disk(self):
task = tf_stg.DetachDisk(self.disk_dvr, self.instance)
task.execute()
self.disk_dvr.detach_disk.assert_called_once_with(self.instance)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.DetachDisk(self.disk_dvr, self.instance)
+ tf.assert_called_once_with(
+ name='detach_disk', provides='stor_adpt_mappings')
+
def test_attach_disk(self):
stg_ftsk = mock.Mock()
disk_dev_info = mock.Mock()
@@ -113,6 +137,12 @@ class TestStorage(test.NoDBTestCase):
task.revert(disk_dev_info, 'result', 'flow failures')
self.disk_dvr.detach_disk.assert_called_once_with(self.instance)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.AttachDisk(self.disk_dvr, self.instance, stg_ftsk)
+ tf.assert_called_once_with(
+ name='attach_disk', requires=['disk_dev_info'])
+
def test_create_disk_for_img(self):
image_meta = mock.Mock()
@@ -136,3 +166,10 @@ class TestStorage(test.NoDBTestCase):
"timed out")
task.revert('result', 'flow failures')
self.disk_dvr.delete_disks.assert_called_once_with(['result'])
+
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_stg.CreateDiskForImg(
+ self.disk_dvr, self.context, self.instance, image_meta)
+ tf.assert_called_once_with(
+ name='create_disk_from_img', provides='disk_dev_info')
diff --git a/nova/tests/unit/virt/powervm/tasks/test_vm.py b/nova/tests/unit/virt/powervm/tasks/test_vm.py
index 08a841c664..2a5988b723 100644
--- a/nova/tests/unit/virt/powervm/tasks/test_vm.py
+++ b/nova/tests/unit/virt/powervm/tasks/test_vm.py
@@ -47,12 +47,22 @@ class TestVMTasks(test.NoDBTestCase):
mock_stg.assert_called_once_with([mock_vm_crt.return_value.id], 'ftsk',
lpars_exist=True)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_vm.Create(self.apt, 'host_wrapper', self.instance, 'ftsk')
+ tf.assert_called_once_with(name='crt_vm', provides='lpar_wrap')
+
@mock.patch('nova.virt.powervm.vm.power_on')
def test_power_on(self, mock_pwron):
pwron = tf_vm.PowerOn(self.apt, self.instance)
pwron.execute()
mock_pwron.assert_called_once_with(self.apt, self.instance)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_vm.PowerOn(self.apt, self.instance)
+ tf.assert_called_once_with(name='pwr_vm')
+
@mock.patch('nova.virt.powervm.vm.power_on')
@mock.patch('nova.virt.powervm.vm.power_off')
def test_power_on_revert(self, mock_pwroff, mock_pwron):
@@ -96,8 +106,18 @@ class TestVMTasks(test.NoDBTestCase):
mock_pwroff.assert_called_once_with(self.apt, self.instance,
force_immediate=True)
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_vm.PowerOff(self.apt, self.instance)
+ tf.assert_called_once_with(name='pwr_off_vm')
+
@mock.patch('nova.virt.powervm.vm.delete_lpar')
def test_delete(self, mock_dlt):
delete = tf_vm.Delete(self.apt, self.instance)
delete.execute()
mock_dlt.assert_called_once_with(self.apt, self.instance)
+
+ # Validate args on taskflow.task.Task instantiation
+ with mock.patch('taskflow.task.Task.__init__') as tf:
+ tf_vm.Delete(self.apt, self.instance)
+ tf.assert_called_once_with(name='dlt_vm')
diff --git a/nova/virt/powervm/tasks/network.py b/nova/virt/powervm/tasks/network.py
index 12f3030109..d96ff25d9d 100644
--- a/nova/virt/powervm/tasks/network.py
+++ b/nova/virt/powervm/tasks/network.py
@@ -59,7 +59,7 @@ class PlugVifs(task.Task):
self.cnas = None
super(PlugVifs, self).__init__(
- 'plug_vifs', provides='vm_cnas', requires=['lpar_wrap'])
+ name='plug_vifs', provides='vm_cnas', requires=['lpar_wrap'])
def _vif_exists(self, network_info):
"""Does the instance have a CNA for a given net?
@@ -180,7 +180,7 @@ class UnplugVifs(task.Task):
self.instance = instance
self.network_infos = network_infos or []
- super(UnplugVifs, self).__init__('unplug_vifs')
+ super(UnplugVifs, self).__init__(name='unplug_vifs')
def execute(self):
# If the LPAR is not in an OK state for deleting, then throw an
@@ -222,7 +222,7 @@ class PlugMgmtVif(task.Task):
self.instance = instance
super(PlugMgmtVif, self).__init__(
- 'plug_mgmt_vif', provides='mgmt_cna', requires=['vm_cnas'])
+ name='plug_mgmt_vif', provides='mgmt_cna', requires=['vm_cnas'])
def execute(self, vm_cnas):
LOG.info('Plugging the Management Network Interface to instance.',
diff --git a/nova/virt/powervm/tasks/storage.py b/nova/virt/powervm/tasks/storage.py
index 50d14af1cf..5b72ac010c 100644
--- a/nova/virt/powervm/tasks/storage.py
+++ b/nova/virt/powervm/tasks/storage.py
@@ -39,7 +39,7 @@ class CreateDiskForImg(task.Task):
The metadata of the image of the instance.
"""
super(CreateDiskForImg, self).__init__(
- 'create_disk_from_img', provides='disk_dev_info')
+ name='create_disk_from_img', provides='disk_dev_info')
self.disk_dvr = disk_dvr
self.instance = instance
self.context = context
@@ -80,7 +80,7 @@ class AttachDisk(task.Task):
:param stg_ftsk: FeedTask to defer storage connectivity operations.
"""
super(AttachDisk, self).__init__(
- 'attach_disk', requires=['disk_dev_info'])
+ name='attach_disk', requires=['disk_dev_info'])
self.disk_dvr = disk_dvr
self.instance = instance
self.stg_ftsk = stg_ftsk
@@ -111,7 +111,7 @@ class DetachDisk(task.Task):
:param instance: The nova instance.
"""
super(DetachDisk, self).__init__(
- 'detach_disk', provides='stor_adpt_mappings')
+ name='detach_disk', provides='stor_adpt_mappings')
self.instance = instance
self.disk_dvr = disk_dvr
@@ -131,7 +131,7 @@ class DeleteDisk(task.Task):
:param disk_dvr: The DiskAdapter for the VM.
"""
super(DeleteDisk, self).__init__(
- 'delete_disk', requires=['stor_adpt_mappings'])
+ name='delete_disk', requires=['stor_adpt_mappings'])
self.disk_dvr = disk_dvr
def execute(self, stor_adpt_mappings):
@@ -158,7 +158,7 @@ class CreateAndConnectCfgDrive(task.Task):
VM.
"""
super(CreateAndConnectCfgDrive, self).__init__(
- instance, 'cfg_drive', requires=['mgmt_cna'])
+ name='cfg_drive', requires=['mgmt_cna'])
self.adapter = adapter
self.instance = instance
self.injected_files = injected_files
@@ -197,7 +197,7 @@ class DeleteVOpt(task.Task):
:param instance: The nova instance.
:param stg_ftsk: FeedTask to defer storage connectivity operations.
"""
- super(DeleteVOpt, self).__init__(instance, 'vopt_delete')
+ super(DeleteVOpt, self).__init__(name='vopt_delete')
self.adapter = adapter
self.instance = instance
self.stg_ftsk = stg_ftsk
diff --git a/nova/virt/powervm/tasks/vm.py b/nova/virt/powervm/tasks/vm.py
index 773b199656..58f33012c3 100644
--- a/nova/virt/powervm/tasks/vm.py
+++ b/nova/virt/powervm/tasks/vm.py
@@ -48,7 +48,7 @@ class Create(task.Task):
:param instance: The nova instance.
:param stg_ftsk: FeedTask to defer storage connectivity operations.
"""
- super(Create, self).__init__('crt_vm', provides='lpar_wrap')
+ super(Create, self).__init__(name='crt_vm', provides='lpar_wrap')
self.instance = instance
self.adapter = adapter
self.host_wrapper = host_wrapper
@@ -74,7 +74,7 @@ class PowerOn(task.Task):
:param adapter: The pypowervm adapter.
:param instance: The nova instance.
"""
- super(PowerOn, self).__init__('pwr_vm')
+ super(PowerOn, self).__init__(name='pwr_vm')
self.adapter = adapter
self.instance = instance
@@ -107,7 +107,7 @@ class PowerOff(task.Task):
:param instance: The nova instance.
:param force_immediate: Boolean. Perform a VSP hard power off.
"""
- super(PowerOff, self).__init__('pwr_off_vm')
+ super(PowerOff, self).__init__(name='pwr_off_vm')
self.instance = instance
self.adapter = adapter
self.force_immediate = force_immediate
@@ -126,7 +126,7 @@ class Delete(task.Task):
:param adapter: The adapter for the pypowervm API.
:param instance: The nova instance.
"""
- super(Delete, self).__init__('dlt_vm')
+ super(Delete, self).__init__(name='dlt_vm')
self.adapter = adapter
self.instance = instance