py3: improve release determination

Inline with the neutron-openvswitch charm approach, install
ceilometer-common before determining which packages to install.

This will ensure that the charm then installs the right package
set for the remaining packages including the switch to py3
for rocky.

Fixup functional tests to include nova-cloud-controller.

Change-Id: I42be224113a599c0a07aa61a06e23911b8ff51fe
This commit is contained in:
James Page 2018-10-17 12:07:16 +01:00
parent 715baa3f92
commit 628a2cda97
2 changed files with 13 additions and 11 deletions

View File

@ -43,7 +43,6 @@ from ceilometer_utils import (
restart_map,
services,
register_configs,
CEILOMETER_AGENT_PACKAGES,
NOVA_SETTINGS,
do_openstack_upgrade,
assess_status,
@ -63,14 +62,9 @@ def install():
configure_installation_source(origin)
status_set('maintenance', 'Installing apt packages')
apt_update(fatal=True)
apt_install(
filter_installed_packages(CEILOMETER_AGENT_PACKAGES),
fatal=True)
# Call apt_install a 2nd time to allow packages which are enabled
# for specific OpenStack version to be installed . This is because
# Openstack version for a subordinate should be derived from the
# version of an installed package rather than relying on
# openstack-origin which would not be present in a subordinate.
# Install -common package so we get accurate version determination
apt_install(filter_installed_packages(['ceilometer-common']),
fatal=True)
apt_install(
filter_installed_packages(get_packages()),
fatal=True)

View File

@ -66,7 +66,8 @@ class CeiloAgentBasicDeployment(OpenStackAmuletDeployment):
{'name': 'keystone'},
{'name': 'glance'}, # to satisfy workload status
{'name': 'ceilometer'},
{'name': 'nova-compute'}
{'name': 'nova-compute'},
{'name': 'nova-cloud-controller'},
]
if self._get_openstack_release() >= self.xenial_pike:
other_services.extend([
@ -98,7 +99,14 @@ class CeiloAgentBasicDeployment(OpenStackAmuletDeployment):
'glance:identity-service': 'keystone:identity-service',
'glance:shared-db': 'percona-cluster:shared-db',
'glance:amqp': 'rabbitmq-server:amqp',
'nova-compute:image-service': 'glance:image-service'
'nova-compute:image-service': 'glance:image-service',
'nova-cloud-controller:shared-db': 'percona-cluster:shared-db',
'nova-cloud-controller:amqp': 'rabbitmq-server:amqp',
'nova-cloud-controller:identity-service': 'keystone:'
'identity-service',
'nova-cloud-controller:cloud-compute': 'nova-compute:'
'cloud-compute',
'nova-cloud-controller:image-service': 'glance:image-service',
}
if self._get_openstack_release() >= self.xenial_pike:
additional_relations = {