Commit Graph

813 Commits

Author SHA1 Message Date
Takashi Kajinami ac8db26993 doc: Remove remaining reference to Xen hypervisor
Xen support was already removed[1].

[1] 99bdd78d95

Change-Id: Ia2d29d1adfd6164dacc6663009ba896f77168343
2024-01-22 11:00:13 +09:00
Takashi Kajinami 44a2711bfd doc: Drop DJANGO_SETTINGS_MODULE environment
... because django is not relevant to ceilometer.

Change-Id: Ia0bcc7dda26c8632fe1f932946268bfeb5bb18dc
2023-12-18 21:02:25 +09:00
Takashi Kajinami 37bc5bb1bb doc: Fix wrong unit of "current" type ipmi sensor
The current type ipmi sensor measures amperes instead of watts.

Change-Id: I5e3b20fe1e838697f4a4ca4dbf70bf43887855ed
2023-12-15 17:52:08 +09:00
Jaromir Wysoglad d2e247cf38 Remove monasca
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
2023-11-08 04:30:36 -05:00
Zuul 23299e55d6 Merge "Update the installation guide for RHEL8/CentOS8" 2022-12-20 13:37:38 +00:00
Taketani Ryo f0730df40c Update the installation guide for RHEL8/CentOS8
The openstack Ussuri and Victoria versions no longer support the
RHEL7/CentOS7 and python2 environment packages. Correct the
problems in the latest installation document for RDO.

Change-Id: Ie03815f25d3a9ec99506a9dc14810a6800d3c42c
2022-10-28 09:22:07 +09:00
Zuul 5106f4acc4 Merge "Add extra metadata fields skip" 2022-10-11 15:35:19 +00:00
Zuul c7b53e0afb Merge "Add support to host command dynamic pollster definitions" 2022-10-11 15:28:38 +00:00
Zuul 934333f06c Merge "Add response handlers to support different response types" 2022-10-11 13:23:31 +00:00
Pedro Henrique 090a0eb6d0 Add support to namespaces on dynamic pollsters
Problem description
===================
The hardcoded pollsters are defined by namespaces, so they
are instantied based on the namespaces provided to the
'AgentManager'.

The dynamic pollsters, on the other hand, are always instantied,
independent of the provided namespaces.

Proposal
========
To allow operators to define in which namespaces the dynamic
pollster will be deployed, we propose to add a new configuration
'namespaces' in the dynamic pollsters yaml configuration.
This configuration will support a single entry or a list of the
namespaces that the pollster must be instantiated.

Change-Id: I39ba0c3dd312a0601e02f8cfcab7a44e585a8a7f
2022-09-16 12:53:30 -03:00
Pedro Henrique bff9879e34 Add extra metadata fields skip
Problem description
===================
Some OpenStack APIs do not always return exactly the
same metadata for all resources. As an example, we
have the server API, which might not return the
'OS-EXT-SRV-ATTR:host' attribute; it depends on the
virtual machine status.

Therefore, if the operator configures to retrieve
the value of the 'OS-EXT-SRV-ATTR:host' attribute in
the response, when the VM is in the 'RUNNING' state,
it will work properly; however, if it is in 'ERROR'
or other state, it will throw a 'key not found'
error when we are collecting the metadata.

Proposal
========
To allow operators to skip the extra_metadata_fields
gathering based on the collected sample attributes. We
propose to add a new 'extra_metadata_fields_skip' in
the dynamic pollster YAML definition where operators
can define some rules to skip gathering extra_metadata
for some samples based on their attributes.

Change-Id: I40176328e1863283890870098418c0944a75bad9
Depends-On: https://review.opendev.org/c/openstack/ceilometer/+/852021
2022-09-13 15:05:59 -03:00
Pedro Henrique cb448a1dbc Add support to host command dynamic pollster definitions
Problem description
===================
Today we have some hardcoded pollsters that are gathering
data from running virtual machines through libvirt or
different programs running in the compute nodes. However,
the Dynamic pollster definition does not support this kind of
operations to gather data, it only supports HTTP Rest
requests to collect data. Therefore, it is not possible to
use the dynamic pollster definition to create a YML based
pollster that runs and collects data from Libvirt in the
compute nodes.

Proposal
========
To allow host commands/scripts in the Dynamic pollsters,
we propose to add a new pollster definition using the
`os.subprocess` lib to run host commands to collect
Host/VMs data and store them in the configured backend.
This will provide more flexibility and make the
Dynamic pollsters able to be used in Ceilometer compute
 instances as well.

Change-Id: I50b8dc341ce457780416b41d138e35f5a0d083b6
Depends-On: https://review.opendev.org/c/openstack/ceilometer/+/850253
2022-09-13 15:04:58 -03:00
Pedro Henrique 225f1cd776 Add response handlers to support different response types
Problem description
===================
The dynamic pollsters only support APIs that produce
JSON responses. Therefore the dynamic pollsters do not
support APIs where the response is an XML or not Restful
compliant APIs with HTTP 200 within a plain text message
on errors.

Proposal
========
To allow the dynamic pollsters to support other APIs
response formats, we propose to add a response handling
that supports multiple response types. It must be
configurable in the dynamic pollsters YAML. The default
continues to be JSON.

Change-Id: I4886cefe06eccac2dc24adbc2fad2166bcbfdd2c
2022-09-01 10:07:29 -03:00
Zuul 1342cc7427 Merge "Remove unicode prefixes" 2022-08-22 19:03:40 +00:00
Zuul ab0f5a27f5 Merge "Remove GenericHardwareDeclarativePollster" 2022-08-12 10:34:47 +00:00
Takashi Kajinami 373b8f01e4 Remove unicode prefixes
A unicode prefix is meaningless in Python 3. Because now ceilometer
supports only Python 3, we can remove the prefix.

Change-Id: I7bc91be21df646d8bbc7793eec28a93179a3eefa
2022-08-07 13:56:52 +09:00
Takashi Kajinami a28cef7036 Remove GenericHardwareDeclarativePollster
... and discovery/inspector plugins depending on the pollster. These
were implemented to gather metrics via SNMP daemon in TripleO-managed
deployment but these are no longer valid since Telemetry services and
Nova were removed from undercloud.

Change-Id: If9a6b695ba799c766314a88328ea8a779407acc0
2022-07-01 01:39:46 +09:00
Takashi Kajinami 318c54648c Remove support for neutron-lbaas
... because it is of no use since neutron-lbaas was retired and was
replaced by Octavia. This feature was officially deprecated during
Yoga cycle[1] so we are ready to remove it.

[1] 8917c73964

Change-Id: Ic145c23cc0b0372ef78f4a45ffb084bec24936c3
2022-06-08 14:44:35 +00:00
Rafael Weingärtner fbb4b6d264 OpenStack Dynamic pollsters metadata enrichment with other OpenStack API's data
Sometimes we want/need to add/gather extra metadata for the samples
being handled by Ceilometer Dynamic pollsters, such as the project
name, domain id, domain name, and other metadata that are not always
accessible via the OpenStack component where the sample is gathered.

For instance, when gathering the status of virtual machines (VMs) from
Nova, we only have the tenant_id, which must be used as the project_id.
However, for billing and later invoicing one might need/want the
project name, domain id, and other metadata that are available in
Keystone (and maybe some others that are scattered over other
components). To achieve that, one can use the OpenStack metadata
enrichment option. This feature is only available to OpenStack
pollsters, and can only gather extra metadata from OpenStack APIs.

This patch introduces a new option in the OpenStack Dynamic pollsters,
that enable operators to enrich sample's metadata with information that
can be captured in other OpenStack APIs such as Keystone, Nova, Neutron,
and many others.

Change-Id: I079bf26cf26fcbcf678dba10469516a1dcb52c0d
2022-01-20 11:55:41 -03:00
Han Guangyu 2e09c6525b Add the describe of uWSGI to run Gnocchi API
Gnocchi API coundn't be use if we don't install and configure uwsgi
or other HTTP daemon. And gnocchi install guide didn't describe
those.

Add the describe of installing uWSGI and the brief relationship
between uWSGI and Gnocchi API. And tell the reader that they can
also use Apache httpd and mod_wsgi, or any other HTTP daemon to
run Gnocchi API.

Closes-Bug: #1750933
Change-Id: Iba8c1fe7a64569de4ca366251c495731a8d7a779
2021-09-17 13:34:02 +08:00
Ghanshyam Mann 62625de0b7 Moving IRC network reference to OFTC
Change-Id: I44fa70d4f572e013a88762cdff45ab6c5375d2a7
2021-07-07 19:34:55 -05:00
Matthias Runge 4efa64e09d Remove references to Ocata and Newton
from the docs.

Change-Id: Ic017be5aeb605dd7b5b2723b111337a8611e43bd
2021-06-18 14:03:59 +02:00
Zuul e396932505 Merge "Introduce `timeout` in dynamic pollsters sub-system" 2021-06-14 08:24:21 +00:00
Matthias Runge 6c5102a548 Remove dependency to panko
Panko is being deprecated and removed from OpenStack.

Change-Id: I6948a965cba5e3bdba84edbbb49af279fd0310e5
2021-05-18 15:04:18 +02:00
Rafael Weingärtner 30ada660f0 Introduce `timeout` in dynamic pollsters sub-system
This patch introduces a new option for the dynamic pollsters'
sub-system to define the request timeout for requests executed
by the dynamic pollsters. The default timeout value will be 30
seconds. If it (the timeout option) is set to `None`, this means
that the request never times out on the client-side. Therefore,
one might have problems if the server never closes the connection.
The pollsters are executed serially, one after the other; if the
request hangs, all pollsters (including the non-dynamic ones) will
stop executing.

This option is being introduced after a failure that we had when
using the dynamic pollsters; one of the APIs did not respond, and the
server did not close the connection of the request, which made
Ceilometer dynamic pollsters stop gathering data. To avoid such a
situation, we recommend the community review and merge this patch.

Change-Id: I4735f20d75d329ccafc797fe285d9fef579f593e
2021-05-07 14:36:32 -03:00
Rafael Weingärtner 549df53f9c Statement about complex object handling in the Dynamic pollster documentation
Change-Id: Iae1b317db25a8c3b6e9f8400c572cc653367d4c9
2020-09-04 23:11:21 -03:00
Rafael Weingärtner 51f06518c5 Enable processing metadata with nested objects
Depends-On: https://review.opendev.org/#/c/709807/
Change-Id: Id108a7cd7bf356156b68324c3d033037a84869fc
2020-07-22 17:29:13 -03:00
Rafael Weingärtner 39a534b3f8 Add support to the use of headers in the dynamic pollsters
Depends-On: https://review.opendev.org/#/c/709807/
Change-Id: I3ec151b8807d0dd3e529bb449d22fa68c8c810ee
2020-07-22 08:13:51 -03:00
Rafael Weingärtner 51119ddc1c Allow operations on Ceilometer dynamic pollster to reference the sample itself
This issue is to allow operators to create expressions that can reference the
sample itself. Currently, the expression is allowed only for fields in the
sample, and not the sample itself.

We discovered this requirement when developing pollsters for Cinder;
the attribute `volume_image_metadata` is not returned in the API response when
it does not exist, therefore, we need a method to check if it exist before
trying to retrieve it.

Change-Id: I5d3eb04534afaeb556ddab4ef603a205745883b8
2020-07-21 23:44:15 -03:00
Zuul 7c1dbb6941 Merge "Enable OpenStack pollster to configure Ids(project, user, and resource)" 2020-07-22 02:32:32 +00:00
Zuul cf7efe1f24 Merge "Added missing Ceilometer configuration step for controller in docs." 2020-07-21 08:56:36 +00:00
Zuul 2200094295 Merge "Remove glance-registry from docs" 2020-07-21 08:44:15 +00:00
gugug 1456ef0af6 Remove glance-registry from docs
glance-registry service was deprecated in Queens release and has been
removed in Victoria [1].

[1] https://review.opendev.org/#/c/738671/

Change-Id: Ib33a3f49647d86fae826f416825a85433730b391
2020-07-07 23:27:45 +08:00
Rafael Weingärtner 49e9744f8d Fix dynamic pollster samples indentation in the documentation
Change-Id: I2c07bf43d1a230c0a6bf48755d91d41c64abc9ea
2020-07-03 19:08:53 -03:00
Zuul 8ef38cd0bb Merge "Drop undefined doc config path" 2020-07-03 10:20:52 +00:00
Andreas Jaeger 89969ec0a9 Fix PDF build
Do not include ceilometer.conf.sample since PDF building fails with the
large file. This fix PDF building of openstack-tox-docs job.

Change-Id: Idaf811f71bab0b49de5b68a6a69a7872cb481ffb
2020-06-22 10:54:30 +02:00
prankul 71e50362de Added missing Ceilometer configuration step for controller in docs.
Co-Authored-By: Rafael Weingärtner <rafael@apache.org>
Change-Id: I7f614624ab732be4919298ce23de192555a7fb18
Reference: https://docs.openstack.org/ceilometer/latest/install/install-base-ubuntu.html
Closes-bug: #1802918
2020-06-19 19:04:01 -03:00
Hervé Beraud 9c141d7db2 Drop undefined doc config path
html_static_path doesn't exist and the following warning is present in
logs:

```
WARNING: html_static_path entry '_static' does not exist
```

These changes drop this config.

Change-Id: I5ca35d1658c8734dd74d1c4dd16a8516f16c39b6
2020-06-09 11:43:40 +02:00
Rafael Weingärtner 1a4ab34df5 Enable OpenStack pollster to configure Ids(project, user, and resource)
This pull request enables OpenStack pollsters to configure
Ids(project, user, and resource) as the non-openstack pollster.
This is useful as some of the OpenStack APIs use other keys to represent
values such as project_id and user_id.

Change-Id: Id5ae1720ad714675722bc857a142d7bd667fe7ed
2020-05-29 12:11:17 -03:00
Zuul 2dcd15a466 Merge "Add support to linked samples responses" 2020-05-29 12:53:45 +00:00
Andreas Jaeger 9c94986c9e Switch to newer openstackdocstheme and reno versions
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems

Update Sphinx version as well.

Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.

Disable openstackdocs_auto_name to use 'project' variable as name.

Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.

See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html

Change-Id: Ieaaff8278e93f85bd711a340f9621ae18841e720
2020-05-21 13:58:25 +02:00
zhurong bc9ef4a2a4 Cleanup py27 support
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
  know about the requirement
- Remove obsolete sections from setup.cfg:
  * Wheel is not needed for python 3 only repo
  * Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore

Change-Id: I93294c42a967ca19b9b04ead9cd636b52f1cc038
2020-04-11 00:57:21 -07:00
zhurong 4fafac8404 Fix docs build error
Change-Id: I25558ff48b6236773f765aad8d1fc150f7011aef
2020-04-11 00:07:40 -07:00
pedro 6f2acc6e33 Add support to linked samples responses
Some APIs split their responses into pages and each response has
a link to the next one.

To allow operators to deal with this kind of APIs, we propose to
extend the Dynamic pollsters to navigate through the API
responses and join all responses into a single one.

To enable it, the operator will need to configure the parameter
`next_sample_url_attribute` with a mapper to the response's next
page attribute.

Change-Id: Ida0a73d2964f192e6c63a6b7e8003ef2b52bd710
2020-02-25 16:08:09 -03:00
rwe 4e3c12968d Multi metric dynamic pollsters (handling attribute values with list of objects)
The initial idea for this feature comes from the `categories` fields that we
can find in the `summary` object of the RadosGW API. Each user has a
`categories` attribute in the response; in the `categories` list, we can find
the object that presents ain a granular fashion the consumption of different
RadosGW API operations such as GET, PUT, POST, and may others.

In that context, and having in mind that we have APIs with similar data
structures, we developed an extension for the dynamic pollster that enables
multi-metric processing for a single pollster. It works as follows.

The pollster name will contain a placeholder for the variable that
identifies the "submetric". E.g. `dynamic.radosgw.api.request.{category}`.
The placeholder `{category}` indicates the object attribute that is in the list
of objects that we use to load the sub metric name. Then, we must use a special
notation in the `value_attribute` configuration to indicate that we are dealing
with a list of objects. This is achieved via `[]` (brackets); for instance, in
the `dynamic.radosgw.api.request.{category}`, we can use `[categories].ops`
as the `value_attribute`. This indicates that the value we retrieve is a list
of objects, and when the dynamic pollster processes it, we want it (the
pollster) to load the `ops` value for the sub metrics being generated

Depends-On: https://review.opendev.org/#/c/694519/
Change-Id: I6ed4632f209ac51a07687476ca316212659d72bb
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2020-02-20 09:58:38 -03:00
Zuul bb77bf3b02 Merge "Remove mention of meter_dispatchers" 2020-02-10 03:33:15 +00:00
Pierre Riteau 6d67ae9682 Update links to Gnocchi website
Change-Id: I58c1d2076fc8aa612811a10ce2a52db7a708a57d
2020-01-24 12:50:48 +01:00
Pierre Riteau 279d2a1653 Remove mention of meter_dispatchers
This option was removed during the Queens cycle.

Change-Id: Iea324cb3da91057ce3efd45068753bf1da72f39d
2020-01-22 15:50:05 +01:00
Zuul 732b981e10 Merge "[ussuri][goal] Drop python 2.7 support and testing" 2019-12-09 08:06:54 +00:00
Rafael Weingärtner b422e9dd4b Dynamic pollsters: enable operation on attributes
This PR enables the use of python operation to transform the attributes that
 are extracted in the JSON response that the Dynamic pollster handle. By
 enabling operators to define transformations on the fly, we can provide even
 more flexibility for the dynamic pollsters' system.

One example of use case is the RadosGW that uses <project_id$project_id> as the
 username. With this implementation, one can create configurations in the
 dynamic pollster to clean that variable. It is as simple as defining
 `resource_id_attribute: "user | value.split('$')[0].strip()"`

The operations are separated by `|` symbol. The first element of the expression
 is the key to be retrieved from the JSON object. The other elements are
 operations that can be applied to the `value` variable. The value variable is
 the variable we use to hold the data.

Depends-On: https://review.opendev.org/#/c/693088/
Change-Id: I9ee209410491b3f04259e1a5c62ac20461070ae1
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2019-11-26 11:11:30 -03:00