diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 96ff4085f4..21aec42601 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -219,6 +219,10 @@ resource_registry: OS::TripleO::Services::Snmp: puppet/services/snmp.yaml OS::TripleO::Services::Tacker: OS::Heat::None OS::TripleO::Services::Timezone: puppet/services/time/timezone.yaml + # Need these in Queens for FFU, Drop them in Rocky + OS::TripleO::Services::CeilometerApi: puppet/services/disabled/ceilometer-api-disabled.yaml + OS::TripleO::Services::CeilometerCollector: puppet/services/disabled/ceilometer-collector-disabled.yaml + OS::TripleO::Services::CeilometerExpirer: puppet/services/disabled/ceilometer-expirer-disabled.yaml OS::TripleO::Services::CeilometerAgentCentral: puppet/services/ceilometer-agent-central.yaml OS::TripleO::Services::CeilometerAgentNotification: puppet/services/ceilometer-agent-notification.yaml OS::TripleO::Services::ComputeCeilometerAgent: puppet/services/ceilometer-agent-compute.yaml diff --git a/puppet/services/disabled/ceilometer-api-disabled.yaml b/puppet/services/disabled/ceilometer-api-disabled.yaml new file mode 100644 index 0000000000..35d6de864e --- /dev/null +++ b/puppet/services/disabled/ceilometer-api-disabled.yaml @@ -0,0 +1,45 @@ +heat_template_version: queens + +description: > + OpenStack Ceilometer API service, disabled since pike + +parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +outputs: + role_data: + description: Role data for the disabled Ceilometer API role. + value: + service_name: ceilometer_api_disabled + fast_forward_upgrade_tasks: + - name: Purge Ceilometer apache config files + file: path=/etc/httpd/conf.d/10-ceilometer_wsgi.conf state=absent + when: step|int == 1 + - name: Clean up ceilometer port from ports.conf + lineinfile: dest=/etc/httpd/conf/ports.conf state=absent regexp="8777$" + when: step|int == 1 diff --git a/puppet/services/disabled/ceilometer-collector-disabled.yaml b/puppet/services/disabled/ceilometer-collector-disabled.yaml new file mode 100644 index 0000000000..0c72eeb92d --- /dev/null +++ b/puppet/services/disabled/ceilometer-collector-disabled.yaml @@ -0,0 +1,42 @@ +heat_template_version: queens + +description: > + OpenStack Ceilometer Collector service, disabled since pike + +parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +outputs: + role_data: + description: Role data for the disabled Ceilometer Collector role. + value: + service_name: ceilometer_collector_disabled + fast_forward_upgrade_tasks: + - name: Stop and disable ceilometer_collector service on upgrade + service: name=openstack-ceilometer-collector state=stopped enabled=no + when: step|int == 2 diff --git a/puppet/services/disabled/ceilometer-expirer-disabled.yaml b/puppet/services/disabled/ceilometer-expirer-disabled.yaml new file mode 100644 index 0000000000..5563aac259 --- /dev/null +++ b/puppet/services/disabled/ceilometer-expirer-disabled.yaml @@ -0,0 +1,44 @@ +heat_template_version: queens + +description: > + OpenStack Ceilometer Expirer service, disabled since pike + +parameters: + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + type: json + +outputs: + role_data: + description: Role data for the disabling Ceilometer Expirer role. + value: + service_name: ceilometer_expirer_disabled + fast_forward_upgrade_tasks: + - name: Remove ceilometer expirer cron tab on upgrade + shell: '/usr/bin/crontab -u ceilometer -r' + register: remove_ceilometer_expirer_crontab + failed_when: (remove_ceilometer_expirer_crontab.rc != 0) and (remove_ceilometer_expirer_crontab.stderr != "no crontab for ceilometer") and (step|int == 1) + changed_when: (remove_ceilometer_expirer_crontab.stderr != "no crontab for ceilometer") and (step|int == 1) diff --git a/releasenotes/notes/restore-ceilometer-disable-templates-82ed8b7d33fc3bda.yaml b/releasenotes/notes/restore-ceilometer-disable-templates-82ed8b7d33fc3bda.yaml new file mode 100644 index 0000000000..6f117ce7a3 --- /dev/null +++ b/releasenotes/notes/restore-ceilometer-disable-templates-82ed8b7d33fc3bda.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Restore ceilometer templates to disable Api, Collector and Expirer. These + are required for fast forward upgrades to remove the services during the + upgrades. diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 09a4bbe5cb..0c2297fa44 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -35,6 +35,9 @@ - OS::TripleO::Services::BarbicanBackendKmip - OS::TripleO::Services::BarbicanBackendPkcs11Crypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal diff --git a/roles/ControllerAllNovaStandalone.yaml b/roles/ControllerAllNovaStandalone.yaml index b5bf3f50dc..caf1638f37 100644 --- a/roles/ControllerAllNovaStandalone.yaml +++ b/roles/ControllerAllNovaStandalone.yaml @@ -25,6 +25,9 @@ - OS::TripleO::Services::BarbicanApi - OS::TripleO::Services::BarbicanBackendSimpleCrypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index bbb0118f95..9947f97952 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -35,6 +35,9 @@ - OS::TripleO::Services::BarbicanBackendKmip - OS::TripleO::Services::BarbicanBackendPkcs11Crypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephClient diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index df74da979c..fe168d9eea 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -24,6 +24,9 @@ - OS::TripleO::Services::BarbicanApi - OS::TripleO::Services::BarbicanBackendSimpleCrypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal diff --git a/roles/ControllerOpenstack.yaml b/roles/ControllerOpenstack.yaml index 662a914049..a3691e56ef 100644 --- a/roles/ControllerOpenstack.yaml +++ b/roles/ControllerOpenstack.yaml @@ -29,6 +29,9 @@ - OS::TripleO::Services::BarbicanBackendKmip - OS::TripleO::Services::BarbicanBackendPkcs11Crypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal diff --git a/roles_data.yaml b/roles_data.yaml index a2d226be1f..0449a147d8 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -38,6 +38,9 @@ - OS::TripleO::Services::BarbicanBackendKmip - OS::TripleO::Services::BarbicanBackendPkcs11Crypto - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CeilometerApi + - OS::TripleO::Services::CeilometerCollector + - OS::TripleO::Services::CeilometerExpirer - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal