def test_power_failure(self, client_mock, add_mock, filters_mock): cli = self._prepare(client_mock) cli.node.set_boot_device.side_effect = exceptions.BadRequest() cli.node.set_power_state.side_effect = exceptions.BadRequest() add_mock.return_value = self.node_info introspect.introspect(self.node.uuid) cli.node.get.assert_called_once_with(self.uuid) add_mock.assert_called_once_with(self.uuid, bmc_address=self.bmc_address, ironic=cli) cli.node.set_boot_device.assert_called_once_with(self.uuid, 'pxe', persistent=False) cli.node.set_power_state.assert_called_once_with(self.uuid, 'reboot') add_mock.return_value.finished.assert_called_once_with( error=mock.ANY)
def test_power_failure(self, client_mock, add_mock, filters_mock): cli = client_mock.return_value cli.node.get.return_value = self.node cli.node.validate.return_value = mock.Mock(power={'result': True}) cli.node.list_ports.return_value = self.ports cli.node.set_boot_device.side_effect = exceptions.BadRequest() cli.node.set_power_state.side_effect = exceptions.BadRequest() add_mock.return_value = self.cached_node introspect.introspect(self.node.uuid) cli.node.get.assert_called_once_with(self.uuid) cli.node.update.assert_called_once_with(self.uuid, self.patch) add_mock.assert_called_once_with(self.uuid, bmc_address=self.bmc_address, mac=self.macs) cli.node.set_boot_device.assert_called_once_with(self.uuid, 'pxe', persistent=False) cli.node.set_power_state.assert_called_once_with(self.uuid, 'reboot') add_mock.return_value.finished.assert_called_once_with(error=mock.ANY)
def test_power_failure(self, client_mock, start_mock): cli = self._prepare(client_mock) cli.node.set_boot_device.side_effect = exceptions.BadRequest() cli.node.set_power_state.side_effect = exceptions.BadRequest() start_mock.return_value = self.node_info introspect.introspect(self.node.uuid) cli.node.get.assert_called_once_with(self.uuid) start_mock.assert_called_once_with(self.uuid, bmc_address=self.bmc_address, manage_boot=True, ironic=cli) cli.node.set_boot_device.assert_called_once_with(self.uuid, 'pxe', persistent=False) cli.node.set_power_state.assert_called_once_with(self.uuid, 'reboot') start_mock.return_value.finished.assert_called_once_with( introspect.istate.Events.error, error=mock.ANY) self.node_info.acquire_lock.assert_called_once_with() self.node_info.release_lock.assert_called_once_with()
def test_failed_to_get_node(self, client_mock, add_mock, filters_mock): cli = client_mock.return_value cli.node.get.side_effect = exceptions.NotFound() self.assertRaisesRegexp(utils.Error, 'Cannot find node', introspect.introspect, self.uuid) cli.node.get.side_effect = exceptions.BadRequest() self.assertRaisesRegexp(utils.Error, 'Cannot get node', introspect.introspect, self.uuid) self.assertEqual(0, cli.node.list_ports.call_count) self.assertEqual(0, filters_mock.call_count) self.assertEqual(0, cli.node.set_power_state.call_count) self.assertEqual(0, cli.node.update.call_count) self.assertFalse(add_mock.called)
def test_failed_to_get_node(self, client_mock, start_mock): cli = client_mock.return_value cli.node.get.side_effect = exceptions.NotFound() self.assertRaisesRegex(utils.Error, 'Node %s was not found' % self.uuid, introspect.introspect, self.uuid) cli.node.get.side_effect = exceptions.BadRequest() self.assertRaisesRegex(utils.Error, '%s: Bad Request' % self.uuid, introspect.introspect, self.uuid) self.assertEqual(0, self.node_info.ports.call_count) self.assertEqual(0, self.sync_filter_mock.call_count) self.assertEqual(0, cli.node.set_power_state.call_count) self.assertFalse(start_mock.called) self.assertFalse(self.node_info.acquire_lock.called)
def test_patch_port_exception(self, mock_patch, mock_log): self.data['all_interfaces'] = { 'em1': { "ip": self.ips[0], "mac": self.macs[0], "lldp_processed": { "switch_chassis_id": "192.0.2.1", "switch_port_id": "Ethernet2/66" } } } mock_patch.side_effect = exceptions.BadRequest('invalid data') self.hook.before_update(self.data, self.node_info) log_msg = ("Failed to update port %(uuid)s: %(error)s") mock_log.warning.assert_called_with(log_msg, mock.ANY, node_info=mock.ANY)