From 6f5c16b62c441c97ade4f2f4b4878e8015c9281e Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 9 Sep 2010 21:52:06 -0700 Subject: make the db creates return refs instead of ids --- nova/api/rackspace/servers.py | 2 +- nova/db/sqlalchemy/api.py | 4 ++-- nova/endpoint/cloud.py | 2 +- nova/service.py | 9 +++++---- nova/tests/compute_unittest.py | 2 +- nova/tests/network_unittest.py | 8 ++++---- nova/tests/service_unittest.py | 4 ++-- nova/tests/volume_unittest.py | 2 +- 8 files changed, 17 insertions(+), 16 deletions(-) (limited to 'nova') diff --git a/nova/api/rackspace/servers.py b/nova/api/rackspace/servers.py index 44174ca52..1815f7523 100644 --- a/nova/api/rackspace/servers.py +++ b/nova/api/rackspace/servers.py @@ -72,7 +72,7 @@ class Controller(base.Controller): inst['reservation_id'] = reservation inst['launch_time'] = ltime inst['mac_address'] = utils.generate_mac() - inst_id = db.instance_create(None, inst) + inst_id = db.instance_create(None, inst)['id'] address = self.network_manager.allocate_fixed_ip(None, inst_id) # key_data, key_name, ami_launch_index # TODO(todd): key data or root password diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index 4ea7a9071..02ebdd222 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -59,7 +59,7 @@ def service_create(_context, values): for (key, value) in values.iteritems(): service_ref[key] = value service_ref.save() - return service_ref.id + return service_ref def service_update(_context, service_id, values): @@ -261,7 +261,7 @@ def instance_create(_context, values): for (key, value) in values.iteritems(): instance_ref[key] = value instance_ref.save() - return instance_ref.id + return instance_ref def instance_destroy(_context, instance_id): diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py index 397c9c554..7f4a901c8 100644 --- a/nova/endpoint/cloud.py +++ b/nova/endpoint/cloud.py @@ -543,7 +543,7 @@ class CloudController(object): base_options['security_group'] = security_group for num in range(int(kwargs['max_count'])): - inst_id = db.instance_create(context, base_options) + inst_id = db.instance_create(context, base_options)['id'] inst = {} inst['mac_address'] = utils.generate_mac() diff --git a/nova/service.py b/nova/service.py index 60583dcdb..870dd6ceb 100644 --- a/nova/service.py +++ b/nova/service.py @@ -62,10 +62,11 @@ class Service(object, service.Service): def _create_service_ref(self): - self.service_id = db.service_create(None, {'host': self.host, - 'binary': self.binary, - 'topic': self.topic, - 'report_count': 0}) + service_ref = db.service_create(None, {'host': self.host, + 'binary': self.binary, + 'topic': self.topic, + 'report_count': 0}) + self.service_id = service_ref['id'] def __getattr__(self, key): try: diff --git a/nova/tests/compute_unittest.py b/nova/tests/compute_unittest.py index 8a7f7b649..de2bf3d3b 100644 --- a/nova/tests/compute_unittest.py +++ b/nova/tests/compute_unittest.py @@ -62,7 +62,7 @@ class ComputeTestCase(test.TrialTestCase): inst['instance_type'] = 'm1.tiny' inst['mac_address'] = utils.generate_mac() inst['ami_launch_index'] = 0 - return db.instance_create(self.context, inst) + return db.instance_create(self.context, inst)['id'] @defer.inlineCallbacks def test_run_terminate(self): diff --git a/nova/tests/network_unittest.py b/nova/tests/network_unittest.py index a89f1d622..9958600e0 100644 --- a/nova/tests/network_unittest.py +++ b/nova/tests/network_unittest.py @@ -56,12 +56,12 @@ class NetworkTestCase(test.TrialTestCase): name)) # create the necessary network data for the project self.network.set_network_host(self.context, self.projects[i].id) - instance_id = db.instance_create(None, + instance_ref = db.instance_create(None, {'mac_address': utils.generate_mac()}) - self.instance_id = instance_id - instance_id = db.instance_create(None, + self.instance_id = instance_ref['id'] + instance_ref = db.instance_create(None, {'mac_address': utils.generate_mac()}) - self.instance2_id = instance_id + self.instance2_id = instance_ref['id'] def tearDown(self): # pylint: disable-msg=C0103 super(NetworkTestCase, self).tearDown() diff --git a/nova/tests/service_unittest.py b/nova/tests/service_unittest.py index 097a045e0..01da0eb8a 100644 --- a/nova/tests/service_unittest.py +++ b/nova/tests/service_unittest.py @@ -87,7 +87,7 @@ class ServiceTestCase(test.BaseTestCase): host, binary).AndRaise(exception.NotFound()) service.db.service_create(None, - service_create).AndReturn(service_ref['id']) + service_create).AndReturn(service_ref) self.mox.ReplayAll() app = service.Service.create(host=host, binary=binary) @@ -131,7 +131,7 @@ class ServiceTestCase(test.BaseTestCase): host, binary).AndRaise(exception.NotFound()) service.db.service_create(None, - service_create).AndReturn(service_ref['id']) + service_create).AndReturn(service_ref) service.db.service_get(None, service_ref['id']).AndReturn(service_ref) service.db.service_update(None, service_ref['id'], mox.ContainsKeyValue('report_count', 1)) diff --git a/nova/tests/volume_unittest.py b/nova/tests/volume_unittest.py index 9e35d2a1c..1d665b502 100644 --- a/nova/tests/volume_unittest.py +++ b/nova/tests/volume_unittest.py @@ -108,7 +108,7 @@ class VolumeTestCase(test.TrialTestCase): inst['instance_type'] = 'm1.tiny' inst['mac_address'] = utils.generate_mac() inst['ami_launch_index'] = 0 - instance_id = db.instance_create(self.context, inst) + instance_id = db.instance_create(self.context, inst)['id'] mountpoint = "/dev/sdf" volume_id = self._create_volume() yield self.volume.create_volume(self.context, volume_id) -- cgit