Ejemplo n.º 1
0
    def test_power_off(self, mock_power_off):
        instance = objects.Instance(**powervm.TEST_INSTANCE)

        self.assertFalse(vm.power_off(
            None, instance, 'host_uuid',
            mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)))
        self.assertFalse(mock_power_off.called)

        stop_states = [
            pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
            pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.SHUTTING_DOWN,
            pvm_bp.LPARState.ERROR, pvm_bp.LPARState.RESUMING,
            pvm_bp.LPARState.SUSPENDING]
        for stop_state in stop_states:
            entry = mock.Mock(state=stop_state)
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(None, instance, 'host_uuid', entry))
            mock_power_off.assert_called_once_with(entry, 'host_uuid',
                                                   force_immediate=False,
                                                   add_parms=None)
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(None, instance, 'host_uuid', entry,
                                         force_immediate=True))
            mock_power_off.assert_called_once_with(entry, 'host_uuid',
                                                   force_immediate=True,
                                                   add_parms=None)
Ejemplo n.º 2
0
    def test_power_off(self, mock_wrap, mock_lock, mock_power_off):
        instance = objects.Instance(**powervm.TEST_INSTANCE)
        entry = mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)
        mock_wrap.return_value = entry

        self.assertFalse(vm.power_off(None, instance))
        mock_power_off.assert_not_called()
        mock_lock.assert_called_once_with('power_%s' % instance.uuid)

        stop_states = [
            pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
            pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.SHUTTING_DOWN,
            pvm_bp.LPARState.ERROR, pvm_bp.LPARState.RESUMING,
            pvm_bp.LPARState.SUSPENDING]
        for stop_state in stop_states:
            entry.state = stop_state
            mock_power_off.reset_mock()
            mock_lock.reset_mock()
            self.assertTrue(vm.power_off(None, instance))
            mock_power_off.assert_called_once_with(
                entry, None, force_immediate=power.Force.ON_FAILURE,
                add_parms=None)
            mock_lock.assert_called_once_with('power_%s' % instance.uuid)
            mock_power_off.reset_mock()
            mock_lock.reset_mock()
            self.assertTrue(vm.power_off(
                None, instance, force_immediate=True, timeout=5))
            mock_power_off.assert_called_once_with(
                entry, None, force_immediate=True, add_parms=None, timeout=5)
            mock_lock.assert_called_once_with('power_%s' % instance.uuid)
Ejemplo n.º 3
0
    def revert_impl(self, result, flow_failures):
        LOG.warning(_LW('Powering off instance: %s'), self.instance.name)

        if isinstance(result, task_fail.Failure):
            # The power on itself failed...can't power off.
            LOG.debug('Power on failed.  Not performing power off.')
            return

        vm.power_off(self.adapter, self.instance, force_immediate=True)
Ejemplo n.º 4
0
    def revert(self, result, flow_failures):
        LOG.warning('Rolling back power-on.', instance=self.instance)

        if isinstance(result, task_fail.Failure):
            # The power on itself failed...can't power off.
            LOG.debug('Power on failed.  Not performing power off.',
                      instance=self.instance)
            return

        vm.power_off(self.adapter, self.instance, force_immediate=True)
Ejemplo n.º 5
0
    def test_power_off(self, mock_power_off):
        self.assertFalse(vm.power_off(
            None, None, 'host_uuid',
            mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)))
        self.assertFalse(mock_power_off.called)

        stop_states = [pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
                       pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.ERROR,
                       pvm_bp.LPARState.RESUMING]
        for stop_state in stop_states:
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(
                None, None, 'host_uuid', mock.Mock(state=stop_state)))
            self.assertTrue(mock_power_off.called)
Ejemplo n.º 6
0
    def test_power_off(self, mock_power_off):
        self.assertFalse(vm.power_off(
            None, None, 'host_uuid',
            mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)))
        self.assertFalse(mock_power_off.called)

        stop_states = [pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
                       pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.ERROR,
                       pvm_bp.LPARState.RESUMING]
        for stop_state in stop_states:
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(
                None, None, 'host_uuid', mock.Mock(state=stop_state)))
            self.assertTrue(mock_power_off.called)
Ejemplo n.º 7
0
    def test_power_off(self, mock_power_off):
        self.assertFalse(vm.power_off(
            None, None, 'host_uuid',
            mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)))
        self.assertFalse(mock_power_off.called)

        stop_states = [pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
                       pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.ERROR,
                       pvm_bp.LPARState.RESUMING]
        for stop_state in stop_states:
            entry = mock.Mock(state=stop_state)
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(None, None, 'host_uuid', entry))
            mock_power_off.assert_called_once_with(entry, 'host_uuid',
                                                   force_immediate=False,
                                                   add_parms=None)
            mock_power_off.reset_mock()
            self.assertTrue(vm.power_off(None, None, 'host_uuid', entry,
                                         force_immediate=True))
            mock_power_off.assert_called_once_with(entry, 'host_uuid',
                                                   force_immediate=True,
                                                   add_parms=None)
Ejemplo n.º 8
0
    def test_power_off(self, mock_wrap, mock_lock, mock_power_off, mock_pop):
        instance = objects.Instance(**powervm.TEST_INSTANCE)
        entry = mock.Mock(state=pvm_bp.LPARState.NOT_ACTIVATED)
        mock_wrap.return_value = entry

        self.assertFalse(vm.power_off(None, instance))
        self.assertEqual(0, mock_power_off.call_count)
        self.assertEqual(0, mock_pop.stop.call_count)
        mock_lock.assert_called_once_with('power_%s' % instance.uuid)

        stop_states = [
            pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,
            pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.SHUTTING_DOWN,
            pvm_bp.LPARState.ERROR, pvm_bp.LPARState.RESUMING,
            pvm_bp.LPARState.SUSPENDING
        ]
        for stop_state in stop_states:
            entry.state = stop_state
            mock_power_off.reset_mock()
            mock_pop.stop.reset_mock()
            mock_lock.reset_mock()
            self.assertTrue(vm.power_off(None, instance))
            mock_power_off.assert_called_once_with(entry)
            self.assertEqual(0, mock_pop.stop.call_count)
            mock_lock.assert_called_once_with('power_%s' % instance.uuid)
            mock_power_off.reset_mock()
            mock_lock.reset_mock()
            self.assertTrue(
                vm.power_off(None, instance, force_immediate=True, timeout=5))
            self.assertEqual(0, mock_power_off.call_count)
            mock_pop.stop.assert_called_once_with(entry,
                                                  opts=mock.ANY,
                                                  timeout=5)
            self.assertEqual('PowerOff(immediate=true, operation=shutdown)',
                             str(mock_pop.stop.call_args[1]['opts']))
            mock_lock.assert_called_once_with('power_%s' % instance.uuid)
Ejemplo n.º 9
0
 def execute(self):
     vm.power_off(self.adapter,
                  self.instance,
                  force_immediate=self.force_immediate)
Ejemplo n.º 10
0
 def execute(self):
     LOG.info(_LI('Powering off instance %s.'), self.instance.name)
     vm.power_off(self.adapter, self.instance, self.host_uuid,
                  force_immediate=self.force_immediate)
Ejemplo n.º 11
0
 def execute(self):
     LOG.info(_LI('Powering off instance %s.'), self.instance.name)
     vm.power_off(self.adapter,
                  self.instance,
                  self.host_uuid,
                  force_immediate=self.force_immediate)
Ejemplo n.º 12
0
 def execute(self):
     LOG.info(_LI('Powering off instance %s.'), self.instance.name)
     vm.power_off(self.adapter,
                  self.instance,
                  self.host_uuid,
                  add_parms=dict(immediate='true'))
Ejemplo n.º 13
0
 def execute(self):
     LOG.info(_LI("Powering off instance %s."), self.instance.name)
     vm.power_off(self.adapter, self.instance, self.host_uuid, add_parms=dict(immediate="true"))
Ejemplo n.º 14
0
 def execute_impl(self):
     vm.power_off(self.adapter, self.instance, self.host_uuid,
                  force_immediate=self.force_immediate)