Merge "Allow a node in service fail state to be unprovisioned"
This commit is contained in:
commit
09ce4dede1
@ -666,3 +666,6 @@ machine.add_transition(SERVICEFAIL, SERVICING, 'service')
|
||||
|
||||
# A node in service fail can be rescued
|
||||
machine.add_transition(SERVICEFAIL, RESCUING, 'rescue')
|
||||
|
||||
# A no in service fail may be deleted.
|
||||
machine.add_transition(SERVICEFAIL, DELETING, 'delete')
|
||||
|
@ -6212,6 +6212,23 @@ ORHMKeXMO8fcK0By7CiMKwHSXCoEQgfQhWwpMdSsO8LgHCjh87DQc= """
|
||||
expect_errors=True)
|
||||
self.assertEqual(http_client.BAD_REQUEST, ret.status_code)
|
||||
|
||||
def test_provision_with_unprovision_after_service_failed(self):
|
||||
node = self.node
|
||||
node.provision_state = states.SERVICEFAIL
|
||||
node.target_provision_state = states.ACTIVE
|
||||
node.save()
|
||||
ret = self.put_json('/nodes/%s/states/provision' % node.uuid,
|
||||
{'target': states.DELETED})
|
||||
self.assertEqual(http_client.ACCEPTED, ret.status_code)
|
||||
self.assertEqual(b'', ret.body)
|
||||
self.mock_dntd.assert_called_once_with(
|
||||
mock.ANY, mock.ANY, node.uuid, 'test-topic')
|
||||
# Check location header
|
||||
self.assertIsNotNone(ret.location)
|
||||
expected_location = '/v1/nodes/%s/states' % node.uuid
|
||||
self.assertEqual(urlparse.urlparse(ret.location).path,
|
||||
expected_location)
|
||||
|
||||
@mock.patch.object(rpcapi.ConductorAPI, 'do_provisioning_action',
|
||||
autospec=True)
|
||||
def test_provide_from_manage(self, mock_dpa):
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Add support for a node in service failed state can be unprovisioned
|
||||
via the ``delete`` provision action.
|
Loading…
x
Reference in New Issue
Block a user