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. Service Reason 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. Service Reason 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. Service Reason 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. Service Reason 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. Service Reason 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. Service Reason 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 13 Red 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 Search for custom environment files that use composable services. You usually store custom environment files in the /home/stack/templates directory: In this scenario, one of the files shows an outdated mapping: 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: Edit the service in the custom environment file: 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 Log in to the undercloud as the stack user. Obtain the control plane host name on the undercloud: 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: 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: Filter Status 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 Log in to the undercloud as the stack user. 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: 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: 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 Log in to the undercloud host as the stack user. Source the stackrc undercloud credentials file: Open an environment file. Add the following configuration to your environment file to specify that the instance serial number is based on the serial number of the host: Save the updates to your environment file. 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 Log in to the undercloud as the stack user. Source the stackrc file: Edit your custom overcloud SSL/TLS public endpoint file, which is usually named ~/templates/enable-tls.yaml . 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. 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 Edit the post-configuration template. Under the parameters section, add the EndpointMap parameter and its sub-parameters: 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.

Commands:
cd ~/templates/ grep "OS::TripleO::Services" *
OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/docker/services/ceph-ansible/ceph-mgr.yaml
find /usr/share/openstack-tripleo-heat-templates/ -name ceph-mgr.yaml /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml
resource_registry: OS::TripleO::Services::CephMgr: /usr/share/openstack-tripleo-heat-templates/deployment/ceph-ansible/ceph-mgr.yaml
sudo hiera container_image_prepare_node_names ["undercloud.ctlplane.localdomain"]
parameter_defaults: DockerInsecureRegistryAddress: - undercloud.ctlplane.localdomain:8787 - 192.168.24.1:8787
- name: Compute ... HostnameFormatDefault: '%stackname%-compute-%index%' ...
parameter_defaults: ... ComputeHostnameFormat: '%stackname%-compute-%index%' ...
[stack@director ~]USD source ~/stackrc
parameter_defaults: <Role>ExtraConfig: nova::compute::libvirt::sysinfo_serial: auto
source ~/stackrc
resource_registry: OS::TripleO::NodeTLSData: /usr/share/openstack-tripleo-heat-templates/puppet/extraconfig/tls/tls-cert-inject.yaml
parameters: servers: type: json nameserver_ip: type: string DeployIdentifier: type: string EndpointMap: default: {} type: json