Commit Graph

60 Commits

Author SHA1 Message Date
Zuul 2f0f0ff4b1 Merge "Add quorum support for service" 2023-11-14 20:30:42 +00:00
Dmitriy Rabotyagov 435a69ed31 Add quorum support for service
This change implements and enables by default quorum support
for rabbitmq as well as providing default variables to globally tune
it's behaviour.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/896017
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_keystone/+/900631
Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_swift/+/900632

Change-Id: I3292a388766654b1a10434ee8ba060e28607e707
2023-11-13 12:14:57 +00:00
Danila Balagansky f9de8b2b78 Enable Ceilometer resource cache
This change should significantly reduce load on Gnocchi due to caching
`resource` objects in Memcached.

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/896017
Change-Id: I72a0b1728e6f6e761bf75e7d57675434230475d4
2023-10-25 10:34:14 +00:00
Dmitriy Rabotyagov bfca55e20d Fix logic of defining polling_namespaces
Previous logic did excluded possibility for ceilometer-polling agent
to poll multiple namespaces at the same time. This resulted
in a wrong config for AIO metal scenario.

Change-Id: I2ad3f748d18bf571dc7b82422fbcd8269cbe168e
Closes-Bug: #2018619
2023-05-05 21:22:41 +00:00
Julien Francioli 65f22a2951 Fix wrong variable name in ceilometer.conf.j2 template.
ceilometer_rpc_ssl_ca_file was used instead of ceilometer_oslomsg_rpc_ssl_ca_file
in the RPC transport_url.

Change-Id: Iab9729ee65571a45b5e50bb6a593386b1e238944
2021-07-16 15:02:55 +00:00
Zuul 86dbc5e300 Merge "Add variables for rabbitmq ssl configuration" 2021-05-31 10:12:16 +00:00
Jonathan Rosser a79b6b3968 Add variables for rabbitmq ssl configuration
Change-Id: I1de3f5225dfb580ac8e9616bc55436151cdabe76
2021-05-18 12:56:43 +00:00
Dmitriy Rabotyagov a08e470393 Remove deprecated options from config
Gnocchi dispatcher [1] along with api section have been removed
for a while from ceilometer. We should clean up template as well

[1] 83ffaffcb2

Change-Id: Ibbe290ebfd91297080ce2f0b861deece82af42cc
Related-Bug: #1879192
2021-05-13 17:59:26 +03:00
Dmitriy Rabotyagov 6df1fb0fc5 Add octavia support to ceilometer
Allow ceilometer to read octavia notifications once variable
octavia_ceilometer_enabled is set to true.

Change-Id: I08289736fe1b3b23873d131664a00a1b44c7d6d3
2020-12-02 18:20:49 +02:00
Dmitriy Rabotjagov e68b1336a7 Cleanup config from keystone_authtoken section
keystone_authtoken is not used by ceilometer, so there is no need to
deploy and maintain it. In addition, improved logic of
ceilometer_service_setup include, as ceilometer need
keystone credentials only for pollsters,
so credentials are created only when ceilometer-polling group is defined

Change-Id: I8bfc4ca1e87edf70e61a03db0854d0ae32ab2bc7
2019-03-27 17:47:04 +02:00
Gaudenz Steinlin 15da928766 Fix polling namespace on compute nodes
Previously only ceilometer-polling services running in the central
container had a polling_namespace configured. Those running on compute
nodes used the default which is to run all pollsters from the central
and compute namespace. But there is no need to gather the data for the
central namespace on every compute node.

With this fix the central container only runs the central pollsters and
those on the compute nodes only the compute pollsters. This can be
adjusted by config_template overrides in group_vars if needed.

Change-Id: Ia130bd7f9000882b556aea2190de97ddb290bafc
2019-03-26 10:32:37 +01:00
Dmitriy Rabotjagov 565f8b6bd1 Added designate and trove services
Ceilometer was missing designate and trove services. In addition,
services were sorted in alphabetical order both in defaults and template

Change-Id: I492a1d8d2bfa567a224e5441c6a15dea3c722741
2018-11-07 13:56:50 +02:00
Dmitriy Rabotjagov 1128c21955 Fix of oslomsg undefined variables for services notifications
A buch of defaults oslomsg related variables were configured.
In case of enabling ceilometer for services, role failed unless
all required vars has been specified manually by deployer.

Also vars ceilometer_oslomsg_rpc_servers
and ceilometer_oslomsg_notify_servers were removed
They were not used anywhere except ceilometer.conf.j2
and might be easily replaced with host_group vars.
Their removal allowed to simplify macros.

Fixed distro_install functional test for ubuntu,
as ceilometer-agent-notification package was missing.

Change-Id: I148ccaff9576b09d33d889b79963e88ca84d2ffe
Closes-Bug: 1794688
2018-10-04 15:54:08 +03:00
Dmitriy Rabotjagov f03f812d26 Changed messaging_urls for notification agent
Regarding ceilometer docs, messaging_urls is expected to be:
rabbit://user:pass@host1:port1[,user:pass@hostN:portN]/virtual_host
But we have a bunch of messaging_urls for every rabbit vhost.
Ref: https://docs.openstack.org/ceilometer/latest/configuration/

As a result macros for generation of transport_url and
messaging_urls was created.

notification section was removed for non-notification agent hosts.

Change-Id: Ieb30c66df41dfe75937b9463527d250e05d868a0
2018-09-07 19:02:27 +03:00
Kevin Carter 195aed6f51 Add systemd journal logging to the service config
The systemd journal would normally be populated with the standard out of
a service however with the use of uwsgi this is not actually happening
resulting in us only capturing the logs from the uwsgi process instead
of the service itself. This change implements journal logging in the
service config, which is part of OSLO logging.

OSLO logging docs found here: <https://docs.openstack.org/oslo.log/3.28.1/journal.html>

Change-Id: I5ae4ee8b0f69a4ed9b6088f043abaa1c4b1291d8
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-07-31 12:58:57 -05:00
Andy Smith 8daaa755dd Update to use oslo.messaging service for RPC and Notify
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters replace
the rabbitmq values and aure used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be transparent
to the ceilometer service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation in config template
* Add oslo.messaging to tests inventory
* Update tests
* Add release note

Change-Id: Ib14a7a5ec0348933eee4fb1a151010841b29ca1f
2018-07-12 09:56:32 -04:00
Jesse Pretorius 1d4b2fd49e Remove database configuration
Ceilometer no longer requires or supports a database. Instead
it now forwards everything it collects to the message queue
for collection by the other Telemetry services.

Change-Id: Ib8cb1ca3e0ef81c16a6483d20705fa3b237bbc48
2018-06-12 20:29:03 +01:00
ZhongShengping 2012624c78 Deprecate auth_uri option
Option auth_uri from group keystone_authtoken is deprecated[1].
Use option www_authenticate_uri from group keystone_authtoken.

[1]https://review.openstack.org/#/c/508522/

Change-Id: I8f051b227247e843ceac35b23ed1bff75dbf8841
Implements: blueprint deprecate-auth-uri-option
2018-04-03 14:17:06 +08:00
gokhan.isik e00df43114 Deprecate os_endpoint_type option
Option "os_endpoint_type" from groups "service_credentials" and
"keystone_authtoken" is deprecated[1].
Use option "interface" from groups "service_credentials" and
"keystone_authtoken".

[1] https://docs.openstack.org/ceilometer/latest/configuration/

Change-Id: I44d6f478f5eed7521ab79b29e6a757f0b779d9d6
2018-02-20 08:38:19 +00:00
Mohammed Naser 33f5dfa7e3 Drop MongoDB installation and API file configurations
Ceilometer no longer stores any data so the MongoDB installation
playbook is not used.  In addition, it no longer has an API so
the api-paste file is useless as well.

Closes-Bug: #1747612
Change-Id: I20104cc357f78b01e2b1246a3f51d609bb2f4f24
2018-02-06 15:28:48 -05:00
ZhongShengping 744ed879ab Deprecate rabbit_use_ssl option
Option "rabbit_use_ssl" from group "oslo_messaging_rabbit" is deprecated.
Use option "ssl" from group "oslo_messaging_rabbit".

Change-Id: I14f0d5d9f8f75b138504df40d09651d60496fee9
Implements: blueprint deprecate-rabbit-use-ssl
2017-05-23 10:10:43 +08:00
ZhongShengping 3ec93b9c3d Deprecate auth_plugin option
Option "auth_plugin" is deprecated, use option "auth_type" instead.

Change-Id: I0da3415ada2c17d8faa78ff4ed9e50353b6915ef
Implements: blueprint deprecate-auth-plugin
2017-03-22 11:03:22 +08:00
Miguel Alex Cantu 88b3edc687 Remove ceilometer_api_workers, cap notification
The ceilometer API is deprecated, this commit
removes any reference to the service.

It also caps notification workers to 16.

Change-Id: I86966936f31765ca7fbcdc248edb4daed9feadfb
Partial-Bug: #1666640
2017-03-10 15:01:25 +00:00
Miguel Alex Cantu 8784e73eec Deprecate ceilometer-collector
Per https://review.openstack.org/#/c/413920/, the ceilometer-collector
service is now deprecated.
This commit removes the inventory group mappings to the
ceilometer-collector service/container. It also removes
the service from the bootstrap and testing inventory.
Gnocchi is now explicity used as a publisher in the
pipeline.

Partial-Bug: 1666238
Change-Id: I396b154d106c0afba44d57792ae6dad39b33a6f5
2017-02-22 10:42:06 -05:00
Jenkins 7e5d4c84cb Merge "Update event_dispatcher when gnocchi enabled" 2017-01-27 20:34:04 +00:00
Steve Lewis 949df106b0 Update event_dispatcher when gnocchi enabled
Per the current Ceilometer docs[1] event_dispatcher can be
set to gnocchi.

When gnocchi is enabled this should ensure messages are not
accumulated endlessly in RabbitMQ.

[1] http://docs.openstack.org/developer/ceilometer/install/dbreco.html#moving-from-ceilometer-to-gnocchi

Change-Id: I760d135f4abd89cac3ae66f002a24a083addafb7
Partial-Bug: 1624789
2017-01-27 17:41:56 +00:00
Logan V 54e2b6e4ca Limit polling namespaces in API container
Removes the "compute" polling namespace from the ceilometer-polling
agent inside the API container.

By default both the "compute" and "central" polling namespaces are
enabled [1], and the compute namespace requires libvirt to be
installed or else ceilometer-polling will fail to start [2]. Since
we are not hosting instances inside the API container, we can
disable the namespace.

[1]: 4108d6d2cb/ceilometer/cmd/polling.py (L65)
[2]: http://logs.openstack.org/22/391522/2/check/gate-openstack-ansible-openstack-ansible-aio-ubuntu-xenial/6837eba/logs/openstack/aio1_ceilometer_api_container-2218d6eb/ceilometer/ceilometer-polling.log.txt.gz

Change-Id: I2046eb03bf26c62ac822d9a81847417bfcf24fb1
2017-01-26 11:17:27 -06:00
ZhongShengping 32368c727e Remove pki support
Change-Id: Ic1b874cd91f428510bfc1b8f85f538d0a518b64c
Implements: blueprint remove-pki
2016-12-29 11:06:35 +08:00
Kevin Carter c1671ea0ce Remove deprecated ansible_ssh_host variable
This changes 'ansible_ssh_host' to 'ansible_host'. The 'ansible_ssh_host'
variable has been deprecated as noted here: [0].

[0] - http://docs.ansible.com/ansible/intro_inventory.html#hosts-and-groups

Change-Id: I9afd09d4c76febea5896cf6bf7bc284dabea38c3
Related-Bug: #1636606
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-10-25 19:41:41 +00:00
Steve Lewis 9fd56cba6c Roll-up of multiple fixes for os_ceilometer role
The ceilometer/api/app.wsgi file upstream was modified and broke the
ceilometer role such that the ceilometer api will not start. This
change fixes the role by updating the template derived from that file
to match the new invocation method.

An example of the error being remedied can be seen in patch set 1 of
Related-Change: Ieb5569982f080446295cecc33fb70c6b5d1cb9d6

Additionally, ceilometer-api is served with Apache mod_wsgi so an
init script shouldn't be created.

Also, the ceilometer_db_type now defaults to blank which will omit
the [database] group from the ceilometer.conf which matches the new
upstream default. The db type is overridden as mongodb for testing.

Also fixes an issue in inventory introduced by Change:
Ia74bbcac35c27928f7e96056b9449932253b75de

Change-Id: I48ca99ea58fbb624b8bccf205e40000115c53060
2016-10-20 10:06:04 -07:00
Jenkins 493c058693 Merge "Ansible 2.1.1 role testing" 2016-09-22 21:42:12 +00:00
Travis Truman f257d2e6ca Ansible 2.1.1 role testing
Change-Id: Ieb7ba32b32019c45c50e7795dcb87f0764c965f9
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-21 12:11:42 -04:00
Jenkins 90c7282d4b Merge "Filter Gnocchi Swift activity in the Ceilometer dispatcher" 2016-09-21 00:50:21 +00:00
Paulo Matias 8608b4cd41 Add Swift telemetry notification consumer to Ceilometer
Change-Id: Id3b8e378b84c0c2041e578e0564b0e98ded54e3b
Depends-On: I9e17be00f55d5812c2a7a59408d902e605716690
Closes-Bug: #1624788
2016-09-20 09:10:00 -03:00
Paulo Matias e0c1459667 Filter Gnocchi Swift activity in the Ceilometer dispatcher
Currently, ignoring Gnocchi activity in the Swift ceilometermiddleware
is not enough to avoid all Swift notifications generated by Gnocchi's
own usage of Swift. Thefore, we also filter this activity at the
dispatcher level.

Change-Id: I3e2804561143617d0345c2a0cd5a462b841e73a3
Closes-Bug: #1624900
2016-09-20 09:07:41 -03:00
Flavio Ramalho 8707550f8a Support for Sahara notifications
This change adds support for ceilometer to be configured to get
notifications from sahara.

Change-Id: I8485f2bc363bbeab84faddb7a4d5bfd2c3bfbb6f
2016-08-29 15:16:29 +00:00
Travis Truman 07c3ea970d Revert "Revert "RabbitMQ config rework""
This reverts commit 56f2ee46d0.

Change-Id: Icc3eb599e0caed0ee128a47dcc74e616dc464ab4
2016-08-25 12:19:20 -04:00
Jesse Pretorius 56f2ee46d0 Revert "RabbitMQ config rework"
This reverts commit 14329548f5 as the merge
of it has caused the integrated gate to fail. It should have been set as
dependent on https://review.openstack.org/344884

Change-Id: Ia36cc1ca528318901c00f98d09274c626fc0e5e0
2016-08-05 07:13:31 +01:00
Kevin Carter 1d64ed8927 Disable stderr logging
OSLO logging currently defaults the 'use_stderr' option to True
which results duplicate logs in service daemon logs for both
upstart and systemd. To correct this issue the use_stderr
option has been set to false.

Change-Id: I277bbc3b7b00db8721836cb814548358ca28245c
Closes-Bug: 1588051
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-08-04 17:41:58 +00:00
Travis Truman 14329548f5 RabbitMQ config rework
RPC configuration now uses transport_url. Notification config
now uses the rabbitmq_telemetry_* vars by default

Role testing is now testing using RabbitMQ with no SSL
for consistency with all other role tests.

Implements: blueprint multi-rabbitmq-clusters
Change-Id: I35664b096ab236e19a3b9dff4bef2ebdeb974039
2016-08-03 21:58:29 -04:00
Travis Truman f3aeb954b6 Support service-specific rabbitmq clusters
The ceilometer role is now significantly more configurable
with respect to RabbitMQ cluster configuration. The following
changes have been made:

 * Host group for the ceilometer RabbitMQ cluster is now configurable
   via ceilometer_rabbitmq_host_group. This breaks the strict dependency
   on the rabbitmq_all inventory group

 * All rabbitmq connection vars are now namespaced. Namespace support
   was previously inconsistent which limited deployer override options.

 * Notification agent rabbitmq config now supports service-specific
   clusters for services: glance, nova, neutron, cinder, keystone and heat

Change-Id: I38bfba8d134e152f33df187851d6dd6c250cdd60
Implements: blueprint multi-rabbitmq-clusters
2016-07-18 09:24:11 -04:00
Steve Lewis 941e7578d0 Add Gnocchi Support
In order for Ceilometer to utilize Gnocchi for storage
several configuration changes are necessary. To incur the
least impact for deploy a single role variable is
introduced to optionally enable Gnocchi which can then
apply all of the necessary changes to the configuration.

Change-Id: I0eb60ef7a31d873ba70c353138da252284389f28
Partial-Blueprint: role-gnocchi
2016-06-18 06:18:05 +00:00
Steve Lewis 040cb0f265 Update Aodh integration
The Aodh integration with Ceilometer no longer relies on Ceilometer
connecting directly to an alarm storage engine to answer API calls,
when Aodh is enabled. Instead it will redirect requests related to
alarms to Aodh.

Depends-On: I440b4c8127eff2dc517d7ff8e277c6d7a5f106ce
Change-Id: I4a3f6b69b6b19118248c383c1d58c99e1a7f8262
2016-06-18 04:32:04 +00:00
Jimmy McCrory 2fbe09d527 Use internal endpoints to communicate
Configure ceilometer to use internalURL endpoints when communicating
with other OpenStack services.

This differs from the default of publicURL to avoid potential issues
with SSL termination on public endpoints.

Change-Id: Iabf061d41a49c427642002254cbfa8f115d2d62a
2016-05-20 08:42:42 -07:00
Steve Lewis 060d4779a5 Switch ceilometer to use keystone v3
Ceilometer now supports Keystone v3 auth. This change is made to
bring the ceilometer role closer in line with other OpenStack
services.

Change-Id: I55b0c98ec1c10f2f9c99115f199a213f774e727d
2016-03-31 15:48:00 -07:00
Hugh Saunders 82625e4741 Revert "Account for oslo_config deprecation in ceilometer.conf template"
user-name is not valid

This reverts commit e0325195d7.

Change-Id: I2b01bf8126913692b3148aecec4a504b5dc26698
2016-03-10 14:12:47 +00:00
Jimmy McCrory 62f5346919 Revert "Fix auth_url for ceilometer configuration"
This reverts commit 9083159e96.

openstack-ansible is struggling with tempest failures in the gate due to
503s. Ceilometer api reveals consistent CRITICAL errors with the message
"MissingRequiredOptions: Auth plugin requires parameters which were not
given: auth_url"

 Conflicts:
	templates/ceilometer.conf.j2

Change-Id: I8a206e95f84592ed885dee069f6c9c8f9f24e2bb
2016-03-09 17:46:56 -08:00
Travis Truman e0325195d7 Account for oslo_config deprecation in ceilometer.conf template
Ceilometer logs are showing:
 * Option "notification_topics" from group "DEFAULT" is deprecated. Use option
   "topics" from group "oslo_messaging_notifications"
 * Option "auth_plugin" from group "keystone_authtoken" is deprecated. Use
   option "auth_type" from group "keystone_authtoken"
 * Option "username" from group "keystone_authtoken" is deprecated. Use option
   "user-name" from group "keystone_authtoken"

Change-Id: I594a35090f7e9d3835adbae7dfdeabe07ceb7adf
2016-03-09 14:38:21 -05:00
Bjoern Teipel 9083159e96 Fix auth_url for ceilometer configuration
This fix removes the invalid configuration for auth_url which was
configured to use a URI (keystone_service_adminuri) rather than
then a valid Keystone URL.  Additionally the option inside
keystone_authtoken is not necessary according

http://docs.openstack.org/liberty/config-reference/content/section_ceilometer.conf.html

Change-Id: Ibb1b565eda005bcfc99e611afff723ca24176c19
Related-Bug: #1552394
2016-03-04 13:27:32 -06:00
Nate Potter d9dfc53a4a Check for AODH host before adding alarm_connection
Currently the os_ceilometer role will configure ceilometer.conf to
include a line in the [databases] section for alarm_connection no matter
what, and it will default to looking for the aodh user in mongodb
serving at localhost. If the user installs ceilometer but not aodh, this
will break the ceilometer service as the API will not start up while it
times out looking for the unconfigured database. This patch ensures that
there are hosts configured for AODH before adding that line to the conf
file.

Change-Id: If27e19e7c6bb2d20e7b0093a8d4e29c30952fb14
Closes-bug: #1549426
2016-03-03 16:24:14 +00:00