summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-09-21 15:44:49 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-09-21 15:44:49 -0700
commitf3698b8da4bd63abfade32c9894ac2095672344e (patch)
treeb66b5f020629732974c816f7748d711a97ab11eb
parenta39c49d1b2f011b022662ef483252b91800c6f2e (diff)
downloadnova-f3698b8da4bd63abfade32c9894ac2095672344e.tar.gz
nova-f3698b8da4bd63abfade32c9894ac2095672344e.tar.xz
nova-f3698b8da4bd63abfade32c9894ac2095672344e.zip
cleaned up exception handling for fixed_ip_get
-rw-r--r--nova/db/sqlalchemy/api.py23
1 files changed, 9 insertions, 14 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 026cdf10d..daa9e991e 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -19,15 +19,13 @@
Implementation of SQLAlchemy backend
"""
-import sys
-
from nova import db
from nova import exception
from nova import flags
from nova.db.sqlalchemy import models
from nova.db.sqlalchemy.session import get_session
from sqlalchemy import or_
-from sqlalchemy.orm import exc, joinedload_all
+from sqlalchemy.orm import joinedload_all
from sqlalchemy.sql import func
FLAGS = flags.FLAGS
@@ -352,17 +350,14 @@ def fixed_ip_disassociate_all_by_timeout(_context, host, time):
def fixed_ip_get_by_address(_context, address):
session = get_session()
- with session.begin():
- try:
- return session.query(models.FixedIp
- ).options(joinedload_all('instance')
- ).filter_by(address=address
- ).filter_by(deleted=False
- ).one()
- except exc.NoResultFound:
- new_exc = exception.NotFound("No model for address %s" % address)
- raise new_exc.__class__, new_exc, sys.exc_info()[2]
-
+ result = session.query(models.FixedIp
+ ).options(joinedload_all('instance')
+ ).filter_by(address=address
+ ).filter_by(deleted=False
+ ).first()
+ if not result:
+ raise exception.NotFound("No model for address %s" % address)
+ return result
def fixed_ip_get_instance(_context, address):
session = get_session()