Merge "Support quota rollback when creating/importing keypair failed"

This commit is contained in:
Jenkins 2017-09-19 03:45:44 +00:00 committed by Gerrit Code Review
commit 59fe888b3e
1 changed files with 10 additions and 2 deletions

View File

@ -553,7 +553,11 @@ class API(object):
keypair.fingerprint = fingerprint
keypair.public_key = public_key
keypair.project_id = context.tenant
keypair.create()
try:
keypair.create()
except Exception:
with excutils.save_and_reraise_exception():
self.quota.rollback(context, reservations)
# Commit keypairs reservations
if reservations:
self.quota.commit(context, reservations)
@ -577,7 +581,11 @@ class API(object):
keypair.fingerprint = fingerprint
keypair.public_key = public_key
keypair.project_id = context.tenant
keypair.create()
try:
keypair.create()
except Exception:
with excutils.save_and_reraise_exception():
self.quota.rollback(context, reservations)
# Commit keypairs reservations
if reservations:
self.quota.commit(context, reservations)