summaryrefslogtreecommitdiffstats
path: root/nova/virt
diff options
context:
space:
mode:
authorChris Behrens <cbehrens@codestud.com>2013-02-22 16:37:28 +0000
committerChris Behrens <cbehrens@codestud.com>2013-02-25 21:32:59 +0000
commit625ecb610cd491933dec311ba07ce50aa04bd8e2 (patch)
treeb1f951bb00395153d0c659131a2e9b3da70f74af /nova/virt
parent42d058b2a1364266560dcd0aa205e743741d0a41 (diff)
downloadnova-625ecb610cd491933dec311ba07ce50aa04bd8e2.tar.gz
nova-625ecb610cd491933dec311ba07ce50aa04bd8e2.tar.xz
nova-625ecb610cd491933dec311ba07ce50aa04bd8e2.zip
Sync nova with oslo DB exception cleanup.
DB exceptions have moved to openstack/common/db/exception module so that they can be shared with multiple DB implementations. Deadlock checking was also added to oslo to consolidate with DuplicateKey checking. This allows us to clean up our _retry_on_deadlock decorator in sqlalchemy/api.py Fixes unrelated pep8 issue with duplicate test in test_compute also. Change-Id: I7e985b384d1ef345e0d67c919b84b4faff869699
Diffstat (limited to 'nova/virt')
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/api.py3
-rw-r--r--nova/virt/baremetal/db/sqlalchemy/session.py2
-rw-r--r--nova/virt/baremetal/pxe.py4
3 files changed, 4 insertions, 5 deletions
diff --git a/nova/virt/baremetal/db/sqlalchemy/api.py b/nova/virt/baremetal/db/sqlalchemy/api.py
index d64bc4872..d117ad46d 100644
--- a/nova/virt/baremetal/db/sqlalchemy/api.py
+++ b/nova/virt/baremetal/db/sqlalchemy/api.py
@@ -28,6 +28,7 @@ from sqlalchemy.sql.expression import literal_column
import nova.context
from nova.db.sqlalchemy import api as sqlalchemy_api
from nova import exception
+from nova.openstack.common.db import exception as db_exc
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
from nova.openstack.common import uuidutils
@@ -399,7 +400,7 @@ def bm_interface_set_vif_uuid(context, if_id, vif_uuid):
try:
session.add(bm_interface)
session.flush()
- except db_session.DBError, e:
+ except db_exc.DBError, e:
# TODO(deva): clean up when db layer raises DuplicateKeyError
if str(e).find('IntegrityError') != -1:
raise exception.NovaException(_("Baremetal interface %s "
diff --git a/nova/virt/baremetal/db/sqlalchemy/session.py b/nova/virt/baremetal/db/sqlalchemy/session.py
index 585096c94..fc045d5ca 100644
--- a/nova/virt/baremetal/db/sqlalchemy/session.py
+++ b/nova/virt/baremetal/db/sqlalchemy/session.py
@@ -44,8 +44,6 @@ CONF.import_opt('sqlite_db', 'nova.openstack.common.db.sqlalchemy.session')
_ENGINE = None
_MAKER = None
-DBError = nova_session.DBError
-
def get_session(autocommit=True, expire_on_commit=False):
"""Return a SQLAlchemy session."""
diff --git a/nova/virt/baremetal/pxe.py b/nova/virt/baremetal/pxe.py
index 813f95c05..1e98126e2 100644
--- a/nova/virt/baremetal/pxe.py
+++ b/nova/virt/baremetal/pxe.py
@@ -27,7 +27,7 @@ from oslo.config import cfg
from nova.compute import instance_types
from nova import exception
-from nova.openstack.common.db.sqlalchemy import session as db_session
+from nova.openstack.common.db import exception as db_exc
from nova.openstack.common import fileutils
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
@@ -428,7 +428,7 @@ class PXE(base.NodeDriver):
bm_utils.unlink_without_raise(get_pxe_config_file_path(instance))
try:
macs = self._collect_mac_addresses(context, node)
- except db_session.DBError:
+ except db_exc.DBError:
pass
else:
for mac in macs: