Fix formatting of vendordata_providers config

Align formatting of vendordata_providers configuration for nova
with changes in neutron-gateway; values must be strings, delimited
by a comma.

Change-Id: I5293edd77387347f8c012521f4bdeffadc919438
Closes-Bug: 1810953
This commit is contained in:
James Page 2019-02-22 10:17:05 +00:00
parent 1d626ff983
commit d746152fb8
2 changed files with 8 additions and 7 deletions

View File

@ -471,17 +471,18 @@ class NovaMetadataContext(ch_context.OSContextGenerator):
ch_utils.os_release('nova-common'))
ctxt = {}
if cmp_os_release >= 'rocky':
ctxt['vendordata_providers'] = []
vdata_providers = []
vdata = hookenv.config('vendor-data')
vdata_url = hookenv.config('vendor-data-url')
if vdata:
ctxt['vendor_data'] = True
ctxt['vendordata_providers'].append('StaticJSON')
vdata_providers.append('StaticJSON')
if vdata_url:
ctxt['vendor_data_url'] = vdata_url
ctxt['vendordata_providers'].append('DynamicJSON')
vdata_providers.append('DynamicJSON')
ctxt['vendordata_providers'] = ','.join(vdata_providers)
ctxt['metadata_proxy_shared_secret'] = hookenv.leader_get(
'shared-metadata-secret')
ctxt['enable_metadata'] = True

View File

@ -504,7 +504,7 @@ class NovaComputeContextTests(CharmTestCase):
ctxt = context.NovaMetadataContext()()
self.assertTrue(ctxt['vendor_data'])
self.assertEqual(ctxt['vendordata_providers'], ['StaticJSON'])
self.assertEqual(ctxt['vendordata_providers'], 'StaticJSON')
def test_vendordata_dynamic(self):
_vdata_url = 'http://example.org/vdata'
@ -514,7 +514,7 @@ class NovaComputeContextTests(CharmTestCase):
ctxt = context.NovaMetadataContext()()
self.assertEqual(ctxt['vendor_data_url'], _vdata_url)
self.assertEqual(ctxt['vendordata_providers'], ['DynamicJSON'])
self.assertEqual(ctxt['vendordata_providers'], 'DynamicJSON')
def test_vendordata_static_and_dynamic(self):
self.os_release.return_value = 'rocky'
@ -527,8 +527,8 @@ class NovaComputeContextTests(CharmTestCase):
self.assertTrue(ctxt['vendor_data'])
self.assertEqual(ctxt['vendor_data_url'], _vdata_url)
self.assertEqual(ctxt['vendordata_providers'], ['StaticJSON',
'DynamicJSON'])
self.assertEqual(ctxt['vendordata_providers'],
'StaticJSON,DynamicJSON')
def test_vendordata_mitaka(self):
self.os_release.return_value = 'mitaka'