Skip to content

Commit

Permalink
Remove oslo uuidutils.generate_uuid() call
Browse files Browse the repository at this point in the history
uuidutils.generate_uuid() is going to be removed from oslo, so we
need to remove the call from our Ironic code.
http://lists.openstack.org/pipermail/openstack-dev/2013-November/
018980.html
We create new method in our Ironic common utils to wrap the
generate_uuid methods.

Change-Id: I7bc4ca8fcdb29c4ee5b3e7fc7afb0235812a1c0d
Partial-Bug: #1253497
  • Loading branch information
Haomeng, Wang committed Nov 26, 2013
1 parent e94e918 commit 7fc0cee
Show file tree
Hide file tree
Showing 11 changed files with 65 additions and 52 deletions.
5 changes: 5 additions & 0 deletions ironic/common/utils.py
Expand Up @@ -31,6 +31,7 @@
import signal
import six
import tempfile
import uuid

from eventlet.green import subprocess
from eventlet import greenthread
Expand Down Expand Up @@ -572,3 +573,7 @@ def safe_rstrip(value, chars=None):
return value

return value.rstrip(chars) or value


def generate_uuid():
return str(uuid.uuid4())
2 changes: 1 addition & 1 deletion ironic/db/api.py
Expand Up @@ -103,7 +103,7 @@ def create_node(self, values):
into the Drivers when managing this node. For example:
{
'uuid': uuidutils.generate_uuid(),
'uuid': utils.generate_uuid(),
'instance_uuid': None,
'power_state': states.NOSTATE,
'provision_state': states.NOSTATE,
Expand Down
6 changes: 3 additions & 3 deletions ironic/db/sqlalchemy/api.py
Expand Up @@ -259,7 +259,7 @@ def release_nodes(self, tag, nodes):
def create_node(self, values):
# ensure defaults are present for new nodes
if not values.get('uuid'):
values['uuid'] = uuidutils.generate_uuid()
values['uuid'] = utils.generate_uuid()
if not values.get('power_state'):
values['power_state'] = states.NOSTATE
if not values.get('provision_state'):
Expand Down Expand Up @@ -378,7 +378,7 @@ def get_ports_by_node(self, node_id, limit=None, marker=None,
@objects.objectify(objects.Port)
def create_port(self, values):
if not values.get('uuid'):
values['uuid'] = uuidutils.generate_uuid()
values['uuid'] = utils.generate_uuid()
if not values.get('extra'):
values['extra'] = '{}'
port = models.Port()
Expand Down Expand Up @@ -435,7 +435,7 @@ def get_chassis_list(self, limit=None, marker=None,
@objects.objectify(objects.Chassis)
def create_chassis(self, values):
if not values.get('uuid'):
values['uuid'] = uuidutils.generate_uuid()
values['uuid'] = utils.generate_uuid()
if not values.get('extra'):
values['extra'] = '{}'
chassis = models.Chassis()
Expand Down
19 changes: 10 additions & 9 deletions ironic/tests/api/test_chassis.py
Expand Up @@ -18,6 +18,7 @@

import webtest.app

from ironic.common import utils
from ironic.openstack.common import uuidutils
from ironic.tests.api import base
from ironic.tests.db import utils as dbutils
Expand Down Expand Up @@ -56,7 +57,7 @@ def test_many(self):
ch_list = []
for id in xrange(5):
ndict = dbutils.get_test_chassis(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
chassis = self.dbapi.create_chassis(ndict)
ch_list.append(chassis['uuid'])
data = self.get_json('/chassis')
Expand All @@ -66,7 +67,7 @@ def test_many(self):
self.assertEqual(ch_list.sort(), uuids.sort())

def test_links(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
ndict = dbutils.get_test_chassis(id=1, uuid=uuid)
self.dbapi.create_chassis(ndict)
data = self.get_json('/chassis/1')
Expand All @@ -80,7 +81,7 @@ def test_collection_links(self):
chassis = []
for id in xrange(5):
ndict = dbutils.get_test_chassis(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
ch = self.dbapi.create_chassis(ndict)
chassis.append(ch['uuid'])
data = self.get_json('/chassis/?limit=3')
Expand All @@ -102,7 +103,7 @@ def test_nodes_subresource(self):

for id in xrange(2):
ndict = dbutils.get_test_node(id=id, chassis_id=cdict['id'],
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.dbapi.create_node(ndict)

data = self.get_json('/chassis/%s/nodes' % cdict['uuid'])
Expand Down Expand Up @@ -138,7 +139,7 @@ def setUp(self):
self.post_json('/chassis', cdict)

def test_update_not_found(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
response = self.patch_json('/chassis/%s' % uuid,
[{'path': '/extra/a', 'value': 'b',
'op': 'add'}],
Expand All @@ -161,7 +162,7 @@ def test_replace_singular(self):
def test_replace_multi(self):
extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}
cdict = dbutils.get_test_chassis(extra=extra,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/chassis', cdict)
new_value = 'new value'
response = self.patch_json('/chassis/%s' % cdict['uuid'],
Expand All @@ -176,7 +177,7 @@ def test_replace_multi(self):

def test_remove_singular(self):
cdict = dbutils.get_test_chassis(extra={'a': 'b'},
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/chassis', cdict)
response = self.patch_json('/chassis/%s' % cdict['uuid'],
[{'path': '/description', 'op': 'remove'}])
Expand All @@ -192,7 +193,7 @@ def test_remove_singular(self):
def test_remove_multi(self):
extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}
cdict = dbutils.get_test_chassis(extra=extra, description="foobar",
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/chassis', cdict)

# Removing one item from the collection
Expand Down Expand Up @@ -321,7 +322,7 @@ def test_delete_chassis_with_node(self):
self.assertTrue(response.json['error_message'])

def test_delete_chassis_not_found(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
response = self.delete('/chassis/%s' % uuid, expect_errors=True)
self.assertEqual(response.status_int, 404)
self.assertEqual(response.content_type, 'application/json')
Expand Down
33 changes: 17 additions & 16 deletions ironic/tests/api/test_nodes.py
Expand Up @@ -22,9 +22,10 @@

from ironic.common import exception
from ironic.common import states
from ironic.common import utils
from ironic.conductor import rpcapi
from ironic import objects
from ironic.openstack.common import uuidutils

from ironic.tests.api import base
from ironic.tests.db import utils as dbutils

Expand All @@ -41,7 +42,7 @@ def _create_association_test_nodes(self):
unassociated_nodes = []
for id in xrange(3):
ndict = dbutils.get_test_node(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
unassociated_nodes.append(node['uuid'])

Expand All @@ -50,8 +51,8 @@ def _create_association_test_nodes(self):
for id in xrange(3, 7):
ndict = dbutils.get_test_node(
id=id,
uuid=uuidutils.generate_uuid(),
instance_uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid(),
instance_uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
associated_nodes.append(node['uuid'])
return {'associated': associated_nodes,
Expand Down Expand Up @@ -94,7 +95,7 @@ def test_many(self):
nodes = []
for id in xrange(5):
ndict = dbutils.get_test_node(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
nodes.append(node['uuid'])
data = self.get_json('/nodes')
Expand All @@ -104,7 +105,7 @@ def test_many(self):
self.assertEqual(sorted(nodes), sorted(uuids))

def test_links(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
ndict = dbutils.get_test_node(id=1, uuid=uuid)
self.dbapi.create_node(ndict)
data = self.get_json('/nodes/1')
Expand All @@ -118,7 +119,7 @@ def test_collection_links(self):
nodes = []
for id in xrange(5):
ndict = dbutils.get_test_node(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
nodes.append(node['uuid'])
data = self.get_json('/nodes/?limit=3')
Expand All @@ -140,7 +141,7 @@ def test_ports_subresource(self):

for id in xrange(2):
pdict = dbutils.get_test_port(id=id, node_id=ndict['id'],
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.dbapi.create_port(pdict)

data = self.get_json('/nodes/%s/ports' % ndict['uuid'])
Expand Down Expand Up @@ -200,8 +201,8 @@ def test_provision_state(self):
# in the available list.

def test_node_by_instance_uuid(self):
ndict = dbutils.get_test_node(uuid=uuidutils.generate_uuid(),
instance_uuid=uuidutils.generate_uuid())
ndict = dbutils.get_test_node(uuid=utils.generate_uuid(),
instance_uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
instance_uuid = node['instance_uuid']

Expand All @@ -212,10 +213,10 @@ def test_node_by_instance_uuid(self):
data['nodes'][0]["instance_uuid"])

def test_node_by_instance_uuid_wrong_uuid(self):
ndict = dbutils.get_test_node(uuid=uuidutils.generate_uuid(),
instance_uuid=uuidutils.generate_uuid())
ndict = dbutils.get_test_node(uuid=utils.generate_uuid(),
instance_uuid=utils.generate_uuid())
self.dbapi.create_node(ndict)
wrong_uuid = uuidutils.generate_uuid()
wrong_uuid = utils.generate_uuid()

data = self.get_json('/nodes?instance_uuid=%s' % wrong_uuid)

Expand Down Expand Up @@ -288,8 +289,8 @@ def test_next_link_with_association_with_detail(self):
self.assertIn('associated=true', data['next'])

def test_detail_with_instance_uuid(self):
ndict = dbutils.get_test_node(uuid=uuidutils.generate_uuid(),
instance_uuid=uuidutils.generate_uuid())
ndict = dbutils.get_test_node(uuid=utils.generate_uuid(),
instance_uuid=utils.generate_uuid())
node = self.dbapi.create_node(ndict)
instance_uuid = node['instance_uuid']

Expand Down Expand Up @@ -403,7 +404,7 @@ def test_remove_fail(self):
[{'path': '/extra/non-existent', 'op': 'remove'}])

def test_update_state_in_progress(self):
ndict = dbutils.get_test_node(id=99, uuid=uuidutils.generate_uuid(),
ndict = dbutils.get_test_node(id=99, uuid=utils.generate_uuid(),
target_power_state=states.POWER_OFF)
node = self.dbapi.create_node(ndict)
self.assertRaises(webtest.app.AppError, self.patch_json,
Expand Down
17 changes: 9 additions & 8 deletions ironic/tests/api/test_ports.py
Expand Up @@ -18,6 +18,7 @@

import webtest.app

from ironic.common import utils
from ironic.openstack.common import uuidutils
from ironic.tests.api import base
from ironic.tests.db import utils as dbutils
Expand Down Expand Up @@ -59,7 +60,7 @@ def test_many(self):
ports = []
for id in xrange(5):
ndict = dbutils.get_test_port(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
port = self.dbapi.create_port(ndict)
ports.append(port['uuid'])
data = self.get_json('/ports')
Expand All @@ -69,7 +70,7 @@ def test_many(self):
self.assertEqual(ports.sort(), uuids.sort())

def test_links(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
ndict = dbutils.get_test_port(id=1, uuid=uuid)
self.dbapi.create_port(ndict)
data = self.get_json('/ports/1')
Expand All @@ -83,7 +84,7 @@ def test_collection_links(self):
ports = []
for id in xrange(5):
ndict = dbutils.get_test_port(id=id,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
port = self.dbapi.create_port(ndict)
ports.append(port['uuid'])
data = self.get_json('/ports/?limit=3')
Expand Down Expand Up @@ -127,7 +128,7 @@ def test_update_byaddress(self):
self.assertEqual(result['extra'], extra)

def test_update_not_found(self):
uuid = uuidutils.generate_uuid()
uuid = utils.generate_uuid()
response = self.patch_json('/ports/%s' % uuid,
[{'path': '/extra/a',
'value': 'b',
Expand All @@ -151,7 +152,7 @@ def test_replace_singular(self):
def test_replace_address_already_exist(self):
address = '11:22:33:AA:BB:CC'
pdict = dbutils.get_test_port(address=address,
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/ports', pdict)

pdict = dbutils.get_test_port()
Expand All @@ -178,7 +179,7 @@ def test_replace_multi(self):
extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}
pdict = dbutils.get_test_port(extra=extra,
address="AA:BB:CC:DD:EE:FF",
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/ports', pdict)
new_value = 'new value'
response = self.patch_json('/ports/%s' % pdict['uuid'],
Expand All @@ -195,7 +196,7 @@ def test_remove_multi(self):
extra = {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}
pdict = dbutils.get_test_port(extra=extra,
address="AA:BB:CC:DD:EE:FF",
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/ports', pdict)

# Removing one item from the collection
Expand All @@ -221,7 +222,7 @@ def test_remove_multi(self):

def test_remove_mandatory_field(self):
pdict = dbutils.get_test_port(address="AA:BB:CC:DD:EE:FF",
uuid=uuidutils.generate_uuid())
uuid=utils.generate_uuid())
self.post_json('/ports', pdict)
response = self.patch_json('/ports/%s' % pdict['uuid'],
[{'path': '/address', 'op': 'remove'}],
Expand Down
5 changes: 3 additions & 2 deletions ironic/tests/conductor/test_task_manager.py
Expand Up @@ -21,10 +21,11 @@
from testtools import matchers

from ironic.common import exception
from ironic.common import utils as ironic_utils
from ironic.conductor import task_manager
from ironic.db import api as dbapi
from ironic.openstack.common import context
from ironic.openstack.common import uuidutils

from ironic.tests.conductor import utils as mgr_utils
from ironic.tests.db import base
from ironic.tests.db import utils
Expand All @@ -33,7 +34,7 @@
def create_fake_node(i):
dbh = dbapi.get_instance()
node = utils.get_test_node(id=i,
uuid=uuidutils.generate_uuid())
uuid=ironic_utils.generate_uuid())
dbh.create_node(node)
return node['uuid']

Expand Down
9 changes: 5 additions & 4 deletions ironic/tests/db/test_chassis.py
Expand Up @@ -20,8 +20,9 @@
import six

from ironic.common import exception
from ironic.common import utils as ironic_utils
from ironic.db import api as dbapi
from ironic.openstack.common import uuidutils

from ironic.tests.db import base
from ironic.tests.db import utils

Expand All @@ -44,7 +45,7 @@ def _create_test_node(self, **kwargs):
def test_get_chassis_list(self):
uuids = []
for i in xrange(1, 6):
n = utils.get_test_chassis(id=i, uuid=uuidutils.generate_uuid())
n = utils.get_test_chassis(id=i, uuid=ironic_utils.generate_uuid())
self.dbapi.create_chassis(n)
uuids.append(six.text_type(n['uuid']))
res = self.dbapi.get_chassis_list()
Expand All @@ -69,15 +70,15 @@ def test_get_chassis_that_does_not_exist(self):

def test_update_chassis(self):
ch = self._create_test_chassis()
new_uuid = uuidutils.generate_uuid()
new_uuid = ironic_utils.generate_uuid()

ch['uuid'] = new_uuid
res = self.dbapi.update_chassis(ch['id'], {'uuid': new_uuid})

self.assertEqual(res['uuid'], new_uuid)

def test_update_chassis_that_does_not_exist(self):
new_uuid = uuidutils.generate_uuid()
new_uuid = ironic_utils.generate_uuid()

self.assertRaises(exception.ChassisNotFound,
self.dbapi.update_chassis, 666, {'uuid': new_uuid})
Expand Down

0 comments on commit 7fc0cee

Please sign in to comment.