CentOS 8¶
This section covers use of Kolla Ansible on CentOS 8 in the Train release. From the 9.1.0 release, Kolla Ansible supports both CentOS 7 and 8.
Scope¶
We must consider the OS distribution and version running on the host, and in the containers. Kolla Ansible does not support mixing different OS distributions between the host and containers, nor does it support mixing different major OS versions between the host and containers. The following combinations are therefore supported:
Host: CentOS 7, containers: CentOS 7
Host: CentOS 8, containers: CentOS 8
Upgrade path¶
The Train release is the last release to support CentOS 7, and the first to support CentOS 8. CentOS 7 users wishing to upgrade beyond Train must therefore migrate to CentOS 8. The upgrade path looks like this:
Stein & earlier (CentOS 7)
Train (CentOS 7)
Train (CentOS 8)
Ussuri & later (CentOS 8)
Feature removal¶
Note that the following features available on CentOS 7 are not available on CentOS 8:
integrated Ceph deployment. External Ceph integration is still supported.
SCSI target daemon has been dropped in favour of LIO.
cinder_target_helper
is nowlio
by default on CentOS 8.
Container images¶
For details on how to build images for CentOS 8, see the Kolla
image building guide. Note
that for the Train release only, Kolla Ansible applies a -centos8
suffix
(configured via openstack_tag_suffix
) to image tags by default on CentOS 8
hosts. The default tag on CentOS 8 hosts is therefore train-centos8
. This
is to differentiate CentOS 7 and CentOS 8 container images.
Migrating from CentOS 7 to CentOS 8¶
This section describes how to migrate an existing Train deployment from CentOS 7 to CentOS 8.
There is no supported upgrade path from CentOS 7 to CentOS 8. Since we want to use the same major versions of CentOS in the host and containers, the hosts must be reinstalled with CentOS 8 before CentOS 8 containers are deployed. Where possible, this should be done in batches to avoid downtime. The high level workflow is:
deploy or upgrade to the Train release onto CentOS 7 hosts
upgrade services to ensure compatibility with those available in CentOS 8
migrate hosts to CentOS 8 in batches
Note that in a multi-node system on the Train release it is possible to have a mix of CentOS 7 and CentOS 8 hosts while the migration takes place.
Service compatibility¶
This section describes how to ensure the services running on CentOS 7 hosts are compatible with those that will be deployed on CentOS 8 hosts.
RabbitMQ¶
CentOS 7 by default uses RabbitMQ 3.7.10. CentOS 8 supports only RabbitMQ
3.7.24+. It is therefore necessary to upgrade RabbitMQ containers on CentOS 7
hosts to be compatible with those on CentOS 8 hosts. This can be done by adding
the following in globals.yml
:
rabbitmq_use_3_7_24_on_centos7: true
Now upgrade RabbitMQ:
kolla-ansible -i <inventory> upgrade -t rabbitmq
Elasticsearch & Kibana¶
CentOS 7 by default uses Elasticsearch and Kibana 5.x. CentOS 8 supports only
6.x. It is therefore necessary to upgrade Elasticsearch and Kibana containers
on CentOS 7 hosts to be compatible with those on CentOS 8 hosts. This can be
done by adding the following in globals.yml
:
elasticsearch_use_v6: true
kibana_use_v6: true
Now upgrade Elasticsearch & Kibana:
kolla-ansible -i <inventory> upgrade -t elasticsearch,kibana
Batched migration¶
This section describes how to perform a batched migration of hosts from CentOS 7 to CentOS 8.
It is recommended to migrate hosts in the following order:
controllers
compute nodes
Within each of the above groups, hosts should be migrated in batches of a suitable size. The batch size should be chosen taking into consideration availability and capacity constraints. Testing should be performed after each batch to verify the system is functioning correctly.
For each batch, the high level workflow is:
remove the batch of hosts from the cluster
reinstall the batch of hosts using CentOS 8 (out of scope for Kolla Ansible)
bootstrap the batch of hosts
deploy services to the batch of hosts
verify the operation was successful
Controllers¶
reinstall host OS using CentOS 8 (out of scope for Kolla Ansible)
verify the controllers are functioning correctly
Compute nodes¶
reinstall host OS using CentOS 8 (out of scope for Kolla Ansible)
verify the compute nodes are functioning correctly