Merge "To delete the keypair preparing for update replacement"
This commit is contained in:
commit
f82f7b0a8e
|
@ -135,6 +135,13 @@ class KeyPair(resource.Resource):
|
||||||
def get_reference_id(self):
|
def get_reference_id(self):
|
||||||
return self.resource_id
|
return self.resource_id
|
||||||
|
|
||||||
|
def prepare_for_replace(self):
|
||||||
|
if self.resource_id is None:
|
||||||
|
return
|
||||||
|
|
||||||
|
with self.client_plugin().ignore_not_found:
|
||||||
|
self.client().keypairs.delete(self.resource_id)
|
||||||
|
|
||||||
|
|
||||||
def resource_mapping():
|
def resource_mapping():
|
||||||
return {'OS::Nova::KeyPair': KeyPair}
|
return {'OS::Nova::KeyPair': KeyPair}
|
||||||
|
|
|
@ -145,6 +145,18 @@ class NovaKeyPairTest(common.HeatTestCase):
|
||||||
self.assertIn("boom", six.text_type(exc))
|
self.assertIn("boom", six.text_type(exc))
|
||||||
self.assertEqual((res.CHECK, res.FAILED), res.state)
|
self.assertEqual((res.CHECK, res.FAILED), res.state)
|
||||||
|
|
||||||
|
def test_update_replace(self):
|
||||||
|
res = self._get_test_resource(self.kp_template)
|
||||||
|
res.state_set(res.CHECK, res.FAILED, 'for test')
|
||||||
|
res.resource_id = 'my_key'
|
||||||
|
# to delete the keypair preparing for replace
|
||||||
|
self.fake_keypairs.delete('my_key')
|
||||||
|
self.m.ReplayAll()
|
||||||
|
updater = scheduler.TaskRunner(res.update, res.t)
|
||||||
|
self.assertRaises(exception.UpdateReplace, updater)
|
||||||
|
|
||||||
|
self.m.ReplayAll()
|
||||||
|
|
||||||
def test_delete_key_not_found(self):
|
def test_delete_key_not_found(self):
|
||||||
"""Test delete non-existent key."""
|
"""Test delete non-existent key."""
|
||||||
test_res = self._get_test_resource(self.kp_template)
|
test_res = self._get_test_resource(self.kp_template)
|
||||||
|
|
Loading…
Reference in New Issue