Chapter 9. Updating composable services and parameters

You must complete some composable service configuration to prepare for the overcloud upgrade.

9.1. Updating composable services in custom roles_data files

This section contains information about new and deprecated composable services.

  • If you use the default roles_data file, these services are included automatically.
  • If you use a custom roles_data file, add the new services and remove the deprecated services for each relevant role.
Important

If any overcloud nodes in your deployment are dedicated Object Storage (swift) nodes, you must copy the default roles_data.yaml file and edit ObjectStorage to remove the following line: deprecated_server_resource_name: 'SwiftStorage'

Controller nodes

The following services have been deprecated for Controller nodes. Remove them from your Controller role.

ServiceReason

OS::TripleO::Services::AodhApi

OS::TripleO::Services::AodhEvaluator

OS::TripleO::Services::AodhListener

OS::TripleO::Services::AodhNotifier

The OpenStack Telemetry services are deprecated in favour of Service Telemetry Framework (STF) for metrics and monitoring. The legacy telemetry services are only available in RHOSP 16.2 to help facilitate the transition to STF and will be removed in a future version of RHOSP.

Note

If you use auto scaling, do not remove these services from your Controller nodes.

OS::TripleO::Services::PankoApi

The OpenStack Telemetry services are deprecated in favour of Service Telemetry Framework (STF) for metrics and monitoring. The legacy telemetry services are only available in RHOSP 16.2 to help facilitate the transition to STF and will be removed in a future version of RHOSP.

Note

If you use CloudForms, do not remove these services from your Controller nodes.

OS::TripleO::Services::CeilometerApi

OS::TripleO::Services::CeilometerCollector

OS::TripleO::Services::CeilometerExpirer

OS::TripleO::Services::MongoDb

These services are no longer supported. Remove these services from your Controller nodes.

OS::TripleO::Services::Congress

Congress is no longer supported.

OS::TripleO::Services::GlanceRegistry

This service is no longer supported due to OpenStack Platform Image Service (glance) API v2.

OS::TripleO::Services::NeutronCorePluginPlumgrid

OS::TripleO::Services::NeutronCorePluginMidonet

Deprecated plug-ins for OpenStack Networking (neutron).

OS::TripleO::Services::NeutronLbaasv2Agent

OS::TripleO::Services::NeutronLbaasv2Api

OpenStack Networking (neutron) Load Balancing as a Service deprecated in favour of Octavia.

OS::TripleO::Services::NovaConsoleauth

This service is removed.

OS::TripleO::Services::NovaPlacement

Deprecated in favor of OS::TripleO::Services::PlacementApi.

OS::TripleO::Services::OpenDaylightApi

OS::TripleO::Services::OpenDaylightOvs

OpenDaylight is no longer supported.

OS::TripleO::Services::RabbitMQ

This service has been substituted for two new services:

OS::TripleO::Services::OsloMessagingRpc

OS::TripleO::Services::OsloMessagingNotify

OS::TripleO::Services::SkydiveAgent

OS::TripleO::Services::SkydiveAnalyzer

Skydive is no longer supported.

OS::TripleO::Services::Tacker

Tacker is no longer supported.

OS::TripleO::Services::gnocchi_metricd

OS::TripleO::Services::gnocchi_statsd

OS::TripleO::Services::gnocchi_api

Gnocchi is deprecated and will be removed in a later RHOSP release.

OS::TripleO::Services::panko_api_cron

Panko is deprecated and will be removed in a later RHOSP release.

The following services are new for Controller nodes. Add them to your Controller role.

ServiceReason

OS::TripleO::Services::CephGrafana

Tasks to enable Ceph Dashboard service.

OS::TripleO::Services::CinderBackendDellEMCPowermax

OS::TripleO::Services::CinderBackendDellEMCSc

OS::TripleO::Services::CinderBackendNVMeOF

New backends for Block Storage (cinder).

OS::TripleO::Services::ContainerImagePrepare

Run the commands to automatically pull and prepare container images relevant to the services in your overcloud.

OS::TripleO::Services::DesignateApi

OS::TripleO::Services::DesignateCentral

OS::TripleO::Services::DesignateProducer

OS::TripleO::Services::DesignateWorker

OS::TripleO::Services::DesignateMDNS

OS::TripleO::Services::DesignateSink

Services for DNS-as-a-Service (designate).

OS::TripleO::Services::IronicInspector

Service for Bare Metal Introspection for the overcloud.

OS::TripleO::Services::IronicNeutronAgent

The networking agent for OpenStack Bare Metal (ironic).

OS::TripleO::Services::NeutronAgentsIBConfig

Service for OpenStack Networking (neutron) agent for Mellanox InfiniBand.

OS::TripleO::Services::OpenStackClients

Service for installing the Red Hat OpenStack Platform command line tools.

OS::TripleO::Services::OsloMessagingRpc

OS::TripleO::Services::OsloMessagingNotify

Replacement services for the OS::TripleO::Services::RabbitMQ service.

OS::TripleO::Services::PlacementApi

Service for the Placement API.

Compute Nodes

The following services have been deprecated for Compute nodes. Remove them from your Compute role.

ServiceReason

OS::TripleO::Services::OpenDaylightOvs

OpenDaylight is no longer supported.

OS::TripleO::Services::SkydiveAgent

Skydive is no longer supported.

The following services are new for Compute nodes. Add them to your Compute role.

ServiceReason

OS::TripleO::Services::NovaAZConfig

Service to configure host aggregate and availability zone in OpenStack Compute (nova).

All Nodes

The following services have been deprecated for all nodes. Remove them from all roles.

ServiceReason

OS::TripleO::Services::Docker

Replaced with Podman.

OS::TripleO::Services::Fluentd

Deprecated in favour of OS::TripleO::Services::Rsyslog.

OS::TripleO::Services::Ntp

Deprecated in favour of OS::TripleO::Services::Timesync.

OS::TripleO::Services::SensuClient

Deprecated service.

OS::TripleO::Services::Ptp

Deprecated in favour of OS::TripleO::Services::Timesync.

The following services are new for all nodes. Add them to all roles.

ServiceReason

OS::TripleO::Services::BootParams

Service to set Kernel arguments, Tuned profiles, and CPU isolation.

OS::TripleO::Services::Collectd

Service to configure Collectd.

OS::TripleO::Services::Multipathd

Provides a Multipathd service, which is disabled by default

OS::TripleO::Services::Podman

Service to install and enable Podman.

OS::TripleO::Services::Rear

Service to install and enable Relax-and-Recover (ReaR) backup and restore tools.

OS::TripleO::Services::Rsyslog

Service to configure centralized log collection.

OS::TripleO::Services::Timesync

Service to enable time synchronization method, which is Chronyd by default.

9.2. Updating composable services in custom environment files

If you have any custom environment files with resource_registry sections, check the resource_registry sections for changes in composable service template mappings. The composable service files for Red Hat OpenStack Platform 16.2 reside in a new location within /usr/share/openstack-tripleo-heat-templates/:

Red Hat OpenStack Platform 13Red Hat OpenStack Platform 16.2

docker/services/

deployment

The deployment directory contains a set of sub-directories to group composable services. For example, the keystone sub-directory contains composable service templates for OpenStack Identity (keystone).

To remap composable services in custom environment files, check the template location for the current service mapping and edit the mapping to the new location. This procedure uses ceph-mgr.yaml as an example.

Important

This procedure acts as guidance only for remapping composable services. If you are unsure of any mapping, contact Red Hat and request advice on the correct mapping.

Procedure

  1. Search for custom environment files that use composable services. You usually store custom environment files in the /home/stack/templates directory:

    $ cd ~/templates/
    $ grep "OS::TripleO::Services" *

    In this scenario, one of the files shows an outdated mapping:

      OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mgr.yaml
  2. Identify the new ceph-mgr.yaml location in /usr/share/openstack-tripleo-heat-templates/. This file is now located in the `deployment/ceph-ansible' directory:

    $ find /usr/share/openstack-tripleo-heat-templates/ -name ceph-mgr.yaml
    /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml
  3. Edit the service in the custom environment file:

    resource_registry:
      OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml

    Save the file.

9.3. Configuring access to the undercloud registry

To configure access to the undercloud registry, add the control plane host name of the undercloud and the IP address of the undercloud on the provisioning network to the DockerInsecureRegistryAddress parameter. Place this parameter in the containers-prepare-parameter.yaml file to ensure that the parameter is included in future overcloud deployments.

Procedure

  1. Log in to the undercloud as the stack user.
  2. Obtain the control plane host name on the undercloud:

    $ sudo hiera container_image_prepare_node_names
    ["undercloud.ctlplane.localdomain"]
  3. Edit the containers-prepare-parameter.yaml file and add the DockerInsecureRegistryAddress parameter with a YAML list that contains the control plane host name of the undercloud and the IP address of the undercloud on the provisioning network:

    parameter_defaults:
      DockerInsecureRegistryAddress:
      - undercloud.ctlplane.localdomain:8787
      - 192.168.24.1:8787
      ...

    You must also append the port number of the overcloud registry to the host name and IP address values. The port number is 8787.

9.4. Deprecated and removed filters for the NovaSchedulerDefaultFilters parameter

If your environment uses a custom NovaSchedulerDefaultFilters parameter, edit the parameter to remove the following deprecated and removed filters:

FilterStatus

AggregateCoreFilter

Deprecated

AggregateRamFilter

Deprecated

AggregateDiskFilter

Deprecated

ExactCoreFilter

Removed

ExactRamFilter

Removed

ExactDiskFilter

Removed

CoreFilter

Removed

RamFilter

Removed

DiskFilter

Removed

RetryFilter

Deprecated

Important

Avoid using filters marked Deprecated. Red Hat OpenStack Platform 16.2 still includes deprecated filters but future versions of Red Hat OpenStack Platform will not include these filters.

9.5. Setting the Compute name format

Red Hat OpenStack Platform 13 uses %stackname%-compute-%index% as the default naming format for Compute nodes. Red Hat OpenStack Platform 16.2 uses %stackname%-novacompute-%index% as the default naming format for Compute nodes. Change the default naming format to retain the original Red Hat OpenStack Platform 13 naming format. If you do not use the original naming format, director configures new OpenStack Compute (nova) agents with the new naming format and keeps the existing OpenStack Compute (nova) agents with the old naming format as orphaned services.

Procedure

  1. Log in to the undercloud as the stack user.
  2. Set the Compute naming format:

    • If you use a custom roles_data file, edit the custom roles_data file and set the HostnameFormatDefault parameter for the Compute role:

      - name: Compute
        …​
        HostnameFormatDefault: '%stackname%-compute-%index%'
        …​

      Save the custom roles_data file.

    • If you use the default roles_data file in openstack-tripleo-heat-templates, set the naming format in an environment file. Edit the environment file with your node counts and flavors, which is usually named node-info.yaml. Add the ComputeHostnameFormat parameter to the parameter_defaults section:

      parameter_defaults:
        …​
        ComputeHostnameFormat: '%stackname%-compute-%index%'
        …​

      Save the node-info.yaml file.

9.6. Configuring the instance serial number

In Red Hat OpenStack Platform 13, the serial number for instances that are stored in the virtual BIOS of the virtual machine is based on the serial number of the host.

In Red Hat OpenStack Platform 16.2, the serial number for instances that are stored in the virtual BIOS of the virtual machine is based on the UUID of the instance by default.

If you want to retain the behavior of your Red Hat OpenStack Platform 13 deployment when you upgrade to Red Hat OpenStack Platform 16.2, you must configure [libvirt]sysinfo_serial.

Procedure

  1. Log in to the undercloud host as the stack user.
  2. Source the stackrc undercloud credentials file:

    [stack@director ~]$ source ~/stackrc
  3. Open an environment file.
  4. Add the following configuration to your environment file to specify that the instance serial number is based on the serial number of the host:

    parameter_defaults:
      <Role>ExtraConfig:
        nova::compute::libvirt::sysinfo_serial: auto
  5. Save the updates to your environment file.
  6. Add the file to your overcloud upgrade and deployment commands.

9.7. Updating the SSL/TLS configuration

Remove the NodeTLSData resource from the resource_registry to update your SSL/TLS configuration.

Procedure

  1. Log in to the undercloud as the stack user.
  2. Source the stackrc file:

    $ source ~/stackrc
  3. Edit your custom overcloud SSL/TLS public endpoint file, which is usually named ~/templates/enable-tls.yaml.
  4. Remove the NodeTLSData resource from the resource_registry:

    resource_registry:
      OS::TripleO::NodeTLSData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/tls-cert-inject.yaml
      ...

    The overcloud deployment uses a new service in HAProxy to determine if SSL/TLS is enabled.

    Note

    If this is the only resource in the resource_registry section of the enable-tls.yaml file, remove the complete resource_registry section.

  5. Save the SSL/TLS public endpoint file.

9.8. Updating post configuration templates

If you use the OS::TripleO::NodeExtraConfigPost resource to register and run a post-configuration template, you must add the EndpointMap parameter to the template.

Procedure

  1. Edit the post-configuration template.
  2. Under the parameters section, add the EndpointMap parameter and its sub-parameters:

    parameters:
      servers:
        type: json
      nameserver_ip:
        type: string
      DeployIdentifier:
        type: string
      EndpointMap:
        default: {}
        type: json
  3. Save the template.

9.9. Considerations when retaining legacy telemetry services

In Red Hat OpenStack Platform (RHOSP) 16.2, the OpenStack Telemetry components are deprecated in favor of the Service Telemetry Framework (STF), therefore the legacy telemetry components are not enabled after the upgrade.

If you use auto scaling or CloudForms services, you must retain the legacy telemetry services.

To retain legacy RHOSP 13 telemetry services, include the /usr/share/openstack-tripleo-heat-templates/environments/enable-legacy-telemetry.yaml environment file when you run the openstack overcloud upgrade prepare and openstack overcloud upgrade converge commands.

You must also include the enable-legacy-telemetry.yaml environment file every time you update the overcloud after the upgrade.

The legacy telemetry services are only available to help facilitate the transition to STF and will be removed in a future version of RHOSP.