Always use context manager for DB transactions
An exception could occur at any time, so we want to make sure we roll back any uncompleted transaction when that happens. Change-Id: Id0d5b65f44981bde24840b8a0d5fdc0b88f24d8a Related-bug: #1546431
This commit is contained in:
parent
f067a4e3a0
commit
6d0e8e9f68
|
@ -348,14 +348,12 @@ def resource_data_set(context, resource_id, key, value, redact=False):
|
||||||
def resource_exchange_stacks(context, resource_id1, resource_id2):
|
def resource_exchange_stacks(context, resource_id1, resource_id2):
|
||||||
query = context.session.query(models.Resource)
|
query = context.session.query(models.Resource)
|
||||||
session = query.session
|
session = query.session
|
||||||
session.begin()
|
|
||||||
|
|
||||||
res1 = query.get(resource_id1)
|
with session.begin():
|
||||||
res2 = query.get(resource_id2)
|
res1 = query.get(resource_id1)
|
||||||
|
res2 = query.get(resource_id2)
|
||||||
|
|
||||||
res1.stack, res2.stack = res2.stack, res1.stack
|
res1.stack, res2.stack = res2.stack, res1.stack
|
||||||
|
|
||||||
session.commit()
|
|
||||||
|
|
||||||
|
|
||||||
def resource_data_delete(context, resource_id, key):
|
def resource_data_delete(context, resource_id, key):
|
||||||
|
@ -1030,9 +1028,10 @@ def software_deployment_create(context, values):
|
||||||
obj_ref = models.SoftwareDeployment()
|
obj_ref = models.SoftwareDeployment()
|
||||||
obj_ref.update(values)
|
obj_ref.update(values)
|
||||||
session = context.session
|
session = context.session
|
||||||
session.begin()
|
|
||||||
obj_ref.save(session)
|
with session.begin():
|
||||||
session.commit()
|
obj_ref.save(session)
|
||||||
|
|
||||||
return obj_ref
|
return obj_ref
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue