Do not assume OS release

The ceilometer charm was assuming grizzly before the ceilometer-common
package was installed to determine the OS release. On queens deploys
this breaks due packages not being installed.

If ceilomter-common is not installed return empty configs.

Change-Id: Ib8bc1b7be3595bd8e64a25d0444dd768b80de881
Closes-Bug: #1759301
This commit is contained in:
David Ames 2018-05-07 16:38:01 -07:00
parent 9dc9ce6e09
commit 7589f3c260
2 changed files with 7 additions and 3 deletions

View File

@ -199,10 +199,14 @@ def register_configs():
# just default to earliest supported release. configs dont get touched
# till post-install, anyway.
release = (get_os_codename_package('ceilometer-common', fatal=False) or
'grizzly')
release = get_os_codename_package('ceilometer-common', fatal=False)
configs = templating.OSConfigRenderer(templates_dir=TEMPLATES,
openstack_release=release)
if not release:
log("Not installed yet, no way to determine the OS release. "
"Skipping register configs", DEBUG)
return configs
if CompareOpenStackReleases(release) >= 'queens':
for conf in QUEENS_CONFIG_FILES:
configs.register(conf, QUEENS_CONFIG_FILES[conf]['hook_contexts'])

View File

@ -141,7 +141,7 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
}
if self._get_openstack_release() >= self.xenial_pike:
configs['ceph-osd'] = {'osd-devices': '/dev/vdb',
'osd-reformat': 'yes',
'osd-reformat': True,
'ephemeral-unmount': '/mnt'}
super(CeilometerBasicDeployment, self)._configure_services(configs)