Change default value of multi_instance_display_name_template
As per bug 1238910, instance names longer then 63 characters get truncated when turned into hostnames. Previously multi_instance_display_name_template defaulted to appending a entire 37 character uuid to each instance name, leaving only 26 characters left before the hostname gets truncated. Instead of using over half the possible hostname with a UUID, default to just appending the count. Add unit test to test default multi_instance_display_name_template value. DocImpact UpgradeImpact Change-Id: I111ceae5df56a9b3050e4a7c97a0320fb3c0ff23 Closes-Bug: 1403312
This commit is contained in:
parent
372e2aac7f
commit
609b2df339
|
@ -101,7 +101,7 @@ compute_opts = [
|
|||
help='Kernel image that indicates not to use a kernel, but to '
|
||||
'use a raw disk image instead'),
|
||||
cfg.StrOpt('multi_instance_display_name_template',
|
||||
default='%(name)s-%(uuid)s',
|
||||
default='%(name)s-%(count)d',
|
||||
help='When creating multiple instances with a single request '
|
||||
'using the os-multiple-create API extension, this '
|
||||
'template will be used to build the display name for '
|
||||
|
|
|
@ -127,14 +127,14 @@ class CellsSchedulerTestCase(test.TestCase):
|
|||
['default'], block_device_mapping)
|
||||
self.assertEqual(instance_uuids, call_info['uuids'])
|
||||
|
||||
for instance_uuid in instance_uuids:
|
||||
for count, instance_uuid in enumerate(instance_uuids):
|
||||
instance = db.instance_get_by_uuid(self.ctxt, instance_uuid)
|
||||
meta = utils.instance_meta(instance)
|
||||
self.assertEqual('cow', meta['moo'])
|
||||
sys_meta = utils.instance_sys_meta(instance)
|
||||
self.assertEqual('cat', sys_meta['meow'])
|
||||
self.assertEqual('meow', instance['hostname'])
|
||||
self.assertEqual('moo-%s' % instance['uuid'],
|
||||
self.assertEqual('moo-%d' % (count + 1),
|
||||
instance['display_name'])
|
||||
self.assertEqual('fake_image_ref', instance['image_ref'])
|
||||
|
||||
|
|
|
@ -8780,14 +8780,8 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
self.assertEqual(refs[1]['display_name'], 'x')
|
||||
self.assertEqual(refs[1]['hostname'], 'x')
|
||||
|
||||
self.flags(multi_instance_display_name_template='%(name)s-%(count)s')
|
||||
(refs, resv_id) = self.compute_api.create(self.context,
|
||||
flavors.get_default_flavor(), image_href='some-fake-image',
|
||||
min_count=2, max_count=2, display_name='x')
|
||||
self.assertEqual(refs[0]['display_name'], 'x-1')
|
||||
self.assertEqual(refs[0]['hostname'], 'x-1')
|
||||
self.assertEqual(refs[1]['display_name'], 'x-2')
|
||||
self.assertEqual(refs[1]['hostname'], 'x-2')
|
||||
self.flags(multi_instance_display_name_template='%(name)s-%(count)d')
|
||||
self._multi_instance_display_name_default()
|
||||
|
||||
self.flags(multi_instance_display_name_template='%(name)s-%(uuid)s')
|
||||
(refs, resv_id) = self.compute_api.create(self.context,
|
||||
|
@ -8798,6 +8792,18 @@ class ComputeAPITestCase(BaseTestCase):
|
|||
self.assertEqual(refs[1]['display_name'], 'x-%s' % refs[1]['uuid'])
|
||||
self.assertEqual(refs[1]['hostname'], 'x-%s' % refs[1]['uuid'])
|
||||
|
||||
def test_multi_instance_display_name_default(self):
|
||||
self._multi_instance_display_name_default()
|
||||
|
||||
def _multi_instance_display_name_default(self):
|
||||
(refs, resv_id) = self.compute_api.create(self.context,
|
||||
flavors.get_default_flavor(), image_href='some-fake-image',
|
||||
min_count=2, max_count=2, display_name='x')
|
||||
self.assertEqual(refs[0]['display_name'], 'x-1')
|
||||
self.assertEqual(refs[0]['hostname'], 'x-1')
|
||||
self.assertEqual(refs[1]['display_name'], 'x-2')
|
||||
self.assertEqual(refs[1]['hostname'], 'x-2')
|
||||
|
||||
def test_instance_architecture(self):
|
||||
# Test the instance architecture.
|
||||
i_ref = self._create_fake_instance()
|
||||
|
|
Loading…
Reference in New Issue