Only delete keypairs if needed

This restores some logic that was inadvertently removed in the
shade transition, without which, we issue an extra delete keypair
API call for every server delete.

Change-Id: Ib1f50c23d61c1d874f2b235fd57d2a2b0defd6c5
This commit is contained in:
James E. Blair 2016-04-01 10:15:16 -07:00
parent cfd5b0c03d
commit cb5a6908fb
1 changed files with 4 additions and 2 deletions

View File

@ -320,8 +320,10 @@ class ProviderManager(TaskManager):
if not server:
raise NotFound()
with shade_inner_exceptions():
self._client.delete_keypair(name=server['key_name'])
key_name = server.get('key_name')
if key_name and key_name != self.provider.keypair:
with shade_inner_exceptions():
self._client.delete_keypair(name=server['key_name'])
self.log.debug('Deleting server %s' % server_id)
self.deleteServer(server_id)