Kolla

Preparations

Notes

  • Horizon: after the upgrade cleanup and regenerate the cached files with docker exec -it horizon rm /var/lib/kolla/.local_settings.md5sum.txt && docker restart horizon

  • Nova: Upgrade the controller (osism-kolla upgrade nova -l controller) followed by the compute nodes (osism-kolla upgrade nova -l compute)

Ocata -> Pike

Docker

Note

This task is only necessary on Ubuntu 16.04 because there the python-docker package is too old.

Note

It’s a good idea to do a Docker upgrade as part of an OpenStack upgrade.

fatal: [20-10.betacloud.xyz]: FAILED! => {"changed": true, "failed": true, "msg": "'Traceback (most recent call last):\\n  File \"/tmp/ansible_Lrxpgg/ansible_module_kolla_docker.py\", line 804, in main\\n    dw = DockerWorker(module)\\n  File \"/tmp/ansible_Lrxpgg/ansible_module_kolla_docker.py\", line 218, in __init__\\n    self.dc = get_docker_client()(**options)\\n  File \"/tmp/ansible_Lrxpgg/ansible_module_kolla_docker.py\", line 201, in get_docker_client\\n    return docker.APIClient\\nAttributeError: \\'module\\' object has no attribute \\'APIClient\\'\\n'"}
$ osism-generic docker

Inventory

  • Add new host groups to inventory/hosts to the environment: kolla section

# neutron

[...]

[neutron-bgp-dragent:children]
network
# neutron

[...]

[openvswitch:children]
network
compute
##########################################################
# environment: kolla

[...]

[redis:children]
control

Configuration

  • Mistral: Redis is now required by default, enabled & deploy it (add redis host group to inventory, enable deployment with enable_redis: "yes", add redis_master_password to secrets.yml)

  • Ceilometer: The Ceilometer API was dropped. Remove all ceilometer / metering endpoints from Keystone and remove the ceilometer-api host group from the inventory

Notes

  • Ceilometer: After the upgrade remove the ceilometer_api container & image from all controller nodes and remove the configuration directory /etc/koll/ceilometer-api

Pike -> Queens

Configuration

  • RabbitMQ: add new parameter rabbitmq_monitoring_password to secrets.yml

Queens -> Rocky

Inventory

  • Add new host groups to inventory/hosts to the environment: kolla section

    # neutron
    
    [...]
    
    [neutron-infoblox-ipam-agent:children]
    network
    
    [ironic-neutron-agent:children]
    network
    

Configuration

  • in environments/kolla/configuration.yml change serial to kolla_serial

  • in environments/kolla/files/overlays add the gnocci ceph keyfile and configuration file to the gnocchi directory, the ceph keyfiles and configuration files in the gnocchi-metricd, gnocchi-statsd, and gnocchi-api directories can be removed

  • the glance_registry containers on the controller nodes can be removed, the service was deprecated in Queens and will be removed in Stein

Elasticsearch

Upgrading Elasticsearch might fail, because it still has pending operations when trying to perform a synced flush. Normally it does not matter if you loose some logging data while upgrading Elasticsearch, so you can use osism-kolla deploy elasticsearch instead of osism-kolla upgrade elasticsearch. It basically does the same, but does not wait for Elasticsearch to stop all operations on the cluster before restarting it.

Kibana

You might have to delete (or update) the .kibana index in Elasticsearch after the Upgrade. You will loose dashboards and saved searches in Kibana, if you delete the index.