summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevin Carlen <devin.carlen@gmail.com>2010-08-30 10:51:54 -0700
committerDevin Carlen <devin.carlen@gmail.com>2010-08-30 10:51:54 -0700
commitdb59c270cd4a3a3f32e73c2ab4bf8f8e1226dd66 (patch)
treef05f9ec64bd8b9a4d25dc3bc19c74166312376de
parent6012ea583426bf76979448e4262a24a6b8fb2f5d (diff)
downloadnova-db59c270cd4a3a3f32e73c2ab4bf8f8e1226dd66.tar.gz
nova-db59c270cd4a3a3f32e73c2ab4bf8f8e1226dd66.tar.xz
nova-db59c270cd4a3a3f32e73c2ab4bf8f8e1226dd66.zip
Making tests pass
-rw-r--r--nova/db/sqlalchemy/api.py11
-rw-r--r--nova/db/sqlalchemy/models.py10
-rw-r--r--nova/tests/network_unittest.py1
3 files changed, 13 insertions, 9 deletions
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 0b6316221..3166d35cc 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -349,7 +349,8 @@ def network_create_fixed_ips(context, network_id, num_vpn_clients):
def network_ensure_indexes(context, num_networks):
with managed_session(autocommit=False) as session:
- if models.NetworkIndex.count() == 0:
+ count = models.NetworkIndex.count(session=session)
+ if count == 0:
for i in range(num_networks):
network_index = models.NetworkIndex()
network_index.index = i
@@ -523,8 +524,12 @@ def volume_create(context, values):
def volume_destroy(context, volume_id):
- volume_ref = volume_get(context, volume_id)
- volume_ref.delete()
+ with managed_session(autocommit=False) as session:
+ session.execute('update volumes set deleted=1 where id=:id',
+ {'id': volume_id})
+ session.execute('update export_devices set deleted=1 where network_id=:id',
+ {'id': volume_id})
+ session.commit()
def volume_detached(context, volume_id):
diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py
index 4fbe2cc5e..10f909d95 100644
--- a/nova/db/sqlalchemy/models.py
+++ b/nova/db/sqlalchemy/models.py
@@ -49,8 +49,8 @@ class NovaBase(object):
.filter_by(deleted=False) \
.all()
else:
- with managed_session() as session:
- return cls.all(session=session)
+ with managed_session() as s:
+ return cls.all(session=s)
@classmethod
def count(cls, session=None):
@@ -73,8 +73,8 @@ class NovaBase(object):
except exc.NoResultFound:
raise exception.NotFound("No model for id %s" % obj_id)
else:
- with managed_session() as session:
- return cls.find(obj_id, session=session)
+ with managed_session() as s:
+ return cls.find(obj_id, session=s)
@classmethod
def find_by_str(cls, str_id, session=None):
@@ -206,6 +206,7 @@ class Instance(Base, NovaBase):
mac_address = Column(String(255))
def set_state(self, state_code, state_description=None):
+ # TODO(devcamcar): Move this out of models and into api
from nova.compute import power_state
self.state = state_code
if not state_description:
@@ -345,7 +346,6 @@ class NetworkIndex(Base, NovaBase):
def register_models():
from sqlalchemy import create_engine
-
models = (Image, PhysicalNode, Daemon, Instance, Volume, ExportDevice,
FixedIp, FloatingIp, Network, NetworkIndex)
engine = create_engine(FLAGS.sql_connection, echo=False)
diff --git a/nova/tests/network_unittest.py b/nova/tests/network_unittest.py
index e0de04be7..d487c2e45 100644
--- a/nova/tests/network_unittest.py
+++ b/nova/tests/network_unittest.py
@@ -105,7 +105,6 @@ class NetworkTestCase(test.TrialTestCase):
db.fixed_ip_deallocate(None, fix_addr)
def test_allocate_deallocate_fixed_ip(self):
- import pdb; pdb.set_trace()
"""Makes sure that we can allocate and deallocate a fixed ip"""
address = self._create_address(0)
self.assertTrue(is_allocated_in_project(address, self.projects[0].id))