summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-05-29 21:12:21 +0000
committerGerrit Code Review <review@openstack.org>2013-05-29 21:12:21 +0000
commit5a1e8e15d7f79bbdbe135315bf5be3b7ce6563af (patch)
tree90fa1fd4e6c926069dc0f8d7a6a1dd80fa517832
parent987a1c5a50b4291f5d6ca21ab41b866f108c58f9 (diff)
parentda2638b0e04f77e10b54ca4622e863319896aa53 (diff)
Merge "Raise AgentBuildNotFound on updating/destroying deleted object"
-rw-r--r--nova/db/sqlalchemy/api.py25
-rw-r--r--nova/tests/test_db_api.py2
2 files changed, 8 insertions, 19 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index a27e8df08..95cbb6efa 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -4274,28 +4274,19 @@ def agent_build_get_all(context, hypervisor=None):
@require_admin_context
def agent_build_destroy(context, agent_build_id):
- session = get_session()
- with session.begin():
- count = model_query(context, models.AgentBuild,
- session=session, read_deleted="yes").\
- filter_by(id=agent_build_id).\
- soft_delete()
- if count == 0:
- raise exception.AgentBuildNotFound(id=agent_build_id)
+ rows_affected = model_query(context, models.AgentBuild).filter_by(
+ id=agent_build_id).soft_delete()
+ if rows_affected == 0:
+ raise exception.AgentBuildNotFound(id=agent_build_id)
@require_admin_context
def agent_build_update(context, agent_build_id, values):
- session = get_session()
- with session.begin():
- agent_build_ref = model_query(context, models.AgentBuild,
- session=session, read_deleted="yes").\
+ rows_affected = model_query(context, models.AgentBuild).\
filter_by(id=agent_build_id).\
- first()
- if not agent_build_ref:
- raise exception.AgentBuildNotFound(id=agent_build_id)
- agent_build_ref.update(values)
- agent_build_ref.save(session=session)
+ update(values)
+ if rows_affected == 0:
+ raise exception.AgentBuildNotFound(id=agent_build_id)
####################
diff --git a/nova/tests/test_db_api.py b/nova/tests/test_db_api.py
index 19607a2db..8dbfa7010 100644
--- a/nova/tests/test_db_api.py
+++ b/nova/tests/test_db_api.py
@@ -4083,14 +4083,12 @@ class AgentBuildTestCase(test.TestCase, ModelsObjectComparatorMixin):
db.agent_build_update(self.ctxt, agent_build.id, {'os': 'ReactOS'})
self.assertEqual('ReactOS', db.agent_build_get_all(self.ctxt)[0].os)
- @test.testtools.skip("bug 1181967")
def test_agent_build_destroy_destroyed(self):
agent_build = db.agent_build_create(self.ctxt, {})
db.agent_build_destroy(self.ctxt, agent_build.id)
self.assertRaises(exception.AgentBuildNotFound,
db.agent_build_destroy, self.ctxt, agent_build.id)
- @test.testtools.skip("bug 1181967")
def test_agent_build_update_destroyed(self):
agent_build = db.agent_build_create(self.ctxt, {'os': 'HaikuOS'})
db.agent_build_destroy(self.ctxt, agent_build.id)