IPMI sensor 'Current' captures current & power consumption metrics.
With the help of new pollster "hardware.ipmi.power", ceilometer
ipmi agent can differentiate between current and power metrics as
both are generated from the same sensor(Current).
Power metrics are captured using a slightly different command than
other sensors which is "ipmitool get sensor 'Pwr Consumption'".
Closes-Bug: #2038425
Change-Id: I0a8af40626cd44dca9743fba63c8dbda8729d054
Opentelemetry is a standard data protocol of observability.
This patch add a new publisher about 'opentelemetry', it use
http to send data in json format to opentelemetry collector.
In the future, we can try to send data to opentelemetry by gRPC.
Change-Id: Ifa20d29d27e35d98999bf0e7ae519ebcedf811aa
The current OpenContrail neutron plugin, which is available in
GitHub[1] is not compatible with the recent OpenStack releases, mainly
because of openstacksdk pinned to <2.
Because the plugin can't be used with recent releases of OpenStack, we
do not expect any users using it as their network backend in their
OpenStack deployment.
[1] https://github.com/tungstenfabric/tf-neutron-plugin
Change-Id: I66cec47a9238dab68445838e5599bfe1c45d2e4e
The networking-odl project[1] has been retired because of inactivity,
and we no longer expect that any user may use OpenDaylight as network
backend of their OpenStack cluster.
[1] https://opendev.org/openstack/networking-odl
Change-Id: Ie70ffbc20d936a3f4cc2eb37bf7e3dce865a3191
Sometimes we need user_id in prometheus metrics so that we can filter
cpu or memory data by user_id.
Change-Id: I92f2120d707c4288e8a02016e50bb4ce4be32c89
While troubleshooting, we felt the needs to understand the execution
flow when `tenant_name_discovery=True`. Therefore, we added logs to
see its execution.
Change-Id: I711fe20915f4cf88f61b465cda3db91bd41817d3
While troubleshooting the issue reported on [1], we needed
to see the logs for the push workflow. However, there were
some processes that had no logs to help us identify the issue.
This patch is proposing a log addition, and a raise to an exception,
to facilitate future troubleshootings.
[1] https://review.opendev.org/c/openstack/ceilometer/+/901607
Change-Id: I36a195965712469e33e73de809f290edd42c8b51
Patches [1-2] introduced the variables `project_name` and
`user_name` for the Ceilometer samples that are collected.
The gathering of these attributes is controlled with the use
of the parameter `tenant_name_discovery` , which defaults to
False.
However, when it (the parameter) is set as False, an error will
happen at [2], as the key will not exist in the dictionary.
This patch fixes the described issue.
Without this patch, the error that happens is the follwoing:
```
ERROR ceilometer.pipeline.sample [-] Fail to process notification: KeyError: 'user_name'
ERROR ceilometer.pipeline.sample Traceback (most recent call last):
ERROR ceilometer.pipeline.sample File "/usr/lib/python3/dist-packages/ceilometer/pipeline/sample.py", line 44, in process_notifications
ERROR ceilometer.pipeline.sample p(list(self.build_sample(message)))
ERROR ceilometer.pipeline.sample File "/usr/lib/python3/dist-packages/ceilometer/telemetry/notifications.py", line 34, in build_sample
ERROR ceilometer.pipeline.sample user_name=sample_dict['user_name'],
ERROR ceilometer.pipeline.sample KeyError: 'user_name'
ERROR ceilometer.pipeline.sample
```
[1] https://review.opendev.org/c/openstack/ceilometer/+/877647
[2] 2a5f63da95
Change-Id: I54a0fd43ac2da1b9a8bcdeae7ad7d160bc07f35b
This removes the monasca integration. Monasca was recently
declared as inactive project. In addition the monasca related
unit tests were very verbose and they were outputing a lot
of errors. Lately one of the unittests even started failing
randomly.
Change-Id: I468079b2a790245bd682c80d0116fb0da60d0e7c
If ceilometer has invalid or missing caching configurations,
'oslo_cache.dict' will be set as the default caching backend.
Project and user names will be discovered only when caching
and "tenant_name_discovery" parameters are enabled.
Also "tenant_name_discovery" parameter must be evaluated
from "polling" section and not "DEFAULT".
Change-Id: I149e408f5a65f214101c0516ed8046d297127145
If ceilometer is started before the receiving end of the TCP
publisher, the TCP publisher's constructor ends with
an exception "ConnectionRefusedError". After that
ceilometer doesn't try to reconnect again.
I tested the change without and then with sg-core
running as a receiver. When sg-core wasn't running,
ceilometer would keep logging errors as expected. When I
started sg-core, metrics started to flow from ceilometer to
sg-core (without the need to touch the notification agent)
This change adds another "except" to catch the exception.
I also noticed, that the way the LOG.Error(...) is done
in the publisher doesn't work and it ends with a syntax
error. (_() accepts only one parameter, not two). So
I fixed the LOG.Errors.
Change-Id: Ib231dd0e6762159eeb09c02aed84a80561fbe188
... so that operators can review effective values (except for secret
information such as password) from the log.
The same was already implemented in polling agents but has never been
added to agent-notification yet.
Change-Id: I69be0229d7b692ee06fc406e3f15bac33f46ad54
The vmwareapi virt driver in nova was marked experimenta[1] and may be
removed in a future release. Once this driver is removed, we may no
longer have any way to integrate VMWare vSphere hypervisor in OpenStack
deployments.
[1] 713ef7839670bd5d73af52c211a14932adc933ba
Change-Id: Ifb17fed132fb4acb4a23049ed2f4e9eeabd0055d
Implementation to publish event using file publisher already exists.
Due to the missing entrypoint for file publisher, events couldn't
be written to a file.
Closes-Bug: 2033052
Change-Id: Iee69978121874263d6de67dbddd420e44b6bff4c
This change refactors the TCP provider to use socket.create_connection
avoiding the need to guess and do lots of messy handling between IPv6
and IPv4.
Also makes the error handling more specific expecting the errors socket
is emitting rather than catch all. removes logging stack trace on
connection issues.
We introduce break out of the message loop in case reconnect fails to
avoid spamming.
Change-Id: Id40fa0e023ad9ca9c05a06b9053bd97b48b4989c
As of now a single attempt is made to obtain gnocchiclient, if
this request fails due any intermittent issue, ceilometer fails to
load gnocchi publisher.
This change uses tenacity to retry fetching gnocchiclient if it
fails with keystone exceptions "ServiceUnavailable",
"DiscoveryFailure" or "ConnectTimeout" before assuming gnocchi service is not available.
Upon restarting ceilometer services, "event_pipeline.yaml" definitions
file is logged during info mode which is unnecessary . This config
file must be logged only when debug is enabled.
Resolves: rhbz#2167428
Change-Id: Ia223b6518948765a74bb920829b6f76c354a3919
During a troubleshooting session, we needed to discover the time
that it was taking for a polling task to finish. However, there
were no clear logs showing that. We could see when the task would
start, but not when it finished without errors. Therefore, we are
suggesting in this patch this small addition to the code base, which
can help operators to identify when a polling task has finished.
We added it in INFO log level because the message regarding the start
of the polling is also in INFO. However, we can change it to DEBUG if
the community thinks that DEBUG log level is better in this context.
Change-Id: I7358add1e45abe4a1288e51efa2f91d07c6acacd
This change adds "project_name" and "user_name" fields to the
polling samples created from notifications of "event_type".
Also move caching helper functions into "ceilometer/cache_utils.py"
to make them accessible throughout the project.
Change-Id: I68bd4ee096b28a2fd952e749d56a6b3eed9bfb94
The backend_url option can sometimes contain secrets.
For example when redis coordination backend is used and authentication
is enabled in redis, the plain redis password is put as an URL element.
[coordination]
backend_url=redis://:password@127.0.0.1:6379
Closes-Bug: #2012246
Change-Id: I9b61dd459445e0d32a305835fb05a072c32848a4
This change adds "project_name" and "user_name" fields
to polling samples which is related to the identification
of vanity names change 79454d6b22
Change-Id: I5fbe97439e7fadbdd8fd2641c49f1c88fbc416fc