-
Bug
-
Resolution: Unresolved
-
Normal
-
rhos-18.0.17 FR 5
-
None
-
0
-
False
-
-
False
-
?
-
rhos-conplat-observability
-
None
-
-
Known Issue
-
-
-
-
Bug Delivery Tracker
-
1
-
Important
Goal
When telemetry is enabled with metricStorage on an RHOSO 18 deployment, the ceilometer compute agent (ceilometer_agent_compute) deployed on EDPM nodes fails to start due to missing TLS configuration. The data plane telemetry service sets prometheus_tls_enable = True and references /etc/ceilometer/tls/tls.crt and /etc/ceilometer/tls/tls.key in the generated ceilometer.conf, but neither the TLS certificates nor the required volume mounts are provisioned during the data plane deployment. Additionally, the [service_credentials] section lacks a cafile setting, preventing ceilometer from verifying Keystone's SSL certificate.
The telemetry data plane Ansible roles should provision TLS certificates for the ceilometer prometheus exporter, mount them into the container, and configure the CA trust chain for Keystone authentication.
Problem details
Issue 1 — Missing TLS cert/key for prometheus exporter:
The container crashes on startup with:
FileNotFoundError: Cannot load server certificate file '/etc/ceilometer/tls/tls.crt' or its private key file '/etc/ceilometer/tls/tls.key': [Errno 2] No such file or directory
The config references these files but nothing generates or deploys them. The container also lacks a volume mount for /etc/ceilometer/tls/.
Issue 2 — Keystone SSL verification failure (missing CA bundle):
After fixing Issue 1, ceilometer cannot authenticate to Keystone:
SSLCertVerificationError: certificate verify failed: unable to get local issuer certificate
The [service_credentials] section of ceilometer.conf has no cafile set. The container bind-mounts /etc/pki/ca-trust/source/anchors from the host (which contains the OpenStack internal root CA), but the ceilometer user inside the container cannot read that directory due to permissions.
Acceptance Criteria
- Verify that when telemetry with metricStorage is enabled, TLS certificates signed by rootca-internal are generated and deployed to /etc/ceilometer/tls/ on each EDPM compute node during the data plane deployment
- Verify that the ceilometer_agent_compute container is created with a volume mount for /etc/ceilometer/tls so the certificates are accessible inside the container
- Verify that the generated ceilometer.conf includes cafile in the [service_credentials] section pointing to a CA bundle that contains the rootca-internal certificate, at a path readable by the ceilometer user inside the container
- Verify that ceilometer_agent_compute starts without TLS-related errors and the prometheus exporter listens on port 9101 with TLS
- Verify that ceilometer can authenticate to Keystone and successfully discover/poll compute instances
- Alternatively, if TLS for the prometheus exporter is not required on compute nodes, verify that the config sets prometheus_tls_enable = False so certificates are not needed