54 Commits

Author SHA1 Message Date
Matthias Runge
ccf8cc5dca Remove support for panko
the project is deprecated and in the process of being removed
from OpenStack upstream.

Change-Id: I9d5ebed293a5fb25f4cd7daa473df152440e8b50
2021-06-11 18:00:05 +02:00
Mark Goddard
761ea9a333 Support TLS encryption of RabbitMQ client-server traffic
This change adds support for encryption of communication between
OpenStack services and RabbitMQ. Server certificates are supported, but
currently client certificates are not.

The kolla-ansible certificates command has been updated to support
generating certificates for RabbitMQ for development and testing.

RabbitMQ TLS is enabled in the all-in-one source CI jobs, or when
The Zuul 'tls_enabled' variable is true.

Change-Id: I4f1d04150fb2b5af085b762890092f87ae6076b5
Implements: blueprint message-queue-ssl-support
2020-09-17 12:05:44 +01:00
Christian Berendt
60e03d7bf3 Remove XenAPI integration
Change-Id: Iea3f4f3d2e5c6040c1e0bc7bfae8719cc7d8ac55
2020-06-09 13:56:17 +02:00
Zuul
70e7b1b0d8 Merge "Add feature to support managing dynamic pollsters" 2020-04-29 17:45:34 +00:00
Mark Goddard
0edad7138c Remove default(omit) from openstack_cacert in templates
The use of default(omit) is for module parameters, not templates. We
define a default value for openstack_cacert, so it should never be
undefined anyway.

Change-Id: Idfa73097ca168c76559dc4f3aa8bb30b7113ab28
2020-04-03 14:49:11 +01:00
Rafael Weingärtner
11d1412c6b Add feature to support managing dynamic pollsters
Depends-On: https://review.opendev.org/#/c/677031/
Change-Id: I273aa795cf5c92f344accae2c219dbb51d318b59
2020-03-27 10:55:08 -03:00
James Kirsch
c15dc20341 Configure services to use Certificate Authority
Include a reference to the globally configured Certificate Authority to
all services. Services use the CA to verify HTTPs connections.

Change-Id: I38da931cdd7ff46cce1994763b5c713652b096cc
Partially-Implements: blueprint support-trusted-ca-certificate-file
2020-01-13 11:00:11 -08:00
Radosław Piliszek
bc053c09c1 Implement IPv6 support in the control plane
Introduce kolla_address filter.
Introduce put_address_in_context filter.

Add AF config to vars.

Address contexts:
- raw (default): <ADDR>
- memcache: inet6:[<ADDR>]
- url: [<ADDR>]

Other changes:

globals.yml - mention just IP in comment

prechecks/port_checks (api_intf) - kolla_address handles validation

3x interface conditional (swift configs: replication/storage)

2x interface variable definition with hostname
(haproxy listens; api intf)

1x interface variable definition with hostname with bifrost exclusion
(baremetal pre-install /etc/hosts; api intf)

neutron's ml2 'overlay_ip_version' set to 6 for IPv6 on tunnel network

basic multinode source CI job for IPv6

prechecks for rabbitmq and qdrouterd use proper NSS database now

MariaDB Galera Cluster WSREP SST mariabackup workaround
(socat and IPv6)

Ceph naming workaround in CI
TODO: probably needs documenting

RabbitMQ IPv6-only proto_dist

Ceph ms switch to IPv6 mode

Remove neutron-server ml2_type_vxlan/vxlan_group setting
as it is not used (let's avoid any confusion)
and could break setups without proper multicast routing
if it started working (also IPv4-only)

haproxy upgrade checks for slaves based on ipv6 addresses

TODO:

ovs-dpdk grabs ipv4 network address (w/ prefix len / submask)
not supported, invalid by default because neutron_external has no address
No idea whether ovs-dpdk works at all atm.

ml2 for xenapi
Xen is not supported too well.
This would require working with XenAPI facts.

rp_filter setting
This would require meddling with ip6tables (there is no sysctl param).
By default nothing is dropped.
Unlikely we really need it.

ironic dnsmasq is configured IPv4-only
dnsmasq needs DHCPv6 options and testing in vivo.

KNOWN ISSUES (beyond us):

One cannot use IPv6 address to reference the image for docker like we
currently do, see: https://github.com/moby/moby/issues/39033
(docker_registry; docker API 400 - invalid reference format)
workaround: use hostname/FQDN

RabbitMQ may fail to bind to IPv6 if hostname resolves also to IPv4.
This is due to old RabbitMQ versions available in images.
IPv4 is preferred by default and may fail in the IPv6-only scenario.
This should be no problem in real life as IPv6-only is indeed IPv6-only.
Also, when new RabbitMQ (3.7.16/3.8+) makes it into images, this will
no longer be relevant as we supply all the necessary config.
See: https://github.com/rabbitmq/rabbitmq-server/pull/1982

For reliable runs, at least Ansible 2.8 is required (2.8.5 confirmed
to work well). Older Ansible versions are known to miss IPv6 addresses
in interface facts. This may affect redeploys, reconfigures and
upgrades which run after VIP address is assigned.
See: https://github.com/ansible/ansible/issues/63227

Bifrost Train does not support IPv6 deployments.
See: https://storyboard.openstack.org/#!/story/2006689

Change-Id: Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c
Implements: blueprint ipv6-control-plane
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-10-16 10:24:35 +02:00
Zuul
7cfab57cb9 Merge "Method to override the default ceilometer meters.yaml via Kolla-ansible" 2019-06-24 13:08:28 +00:00
dommgifer
5eab9cbe1b Remove ceilometer transformers config
According ceilometer commit: 9db5c6c9bfc66018aeb78c4a262e1bfa9b326798
ceilometer was removed transformer support
so, remove about transformers config.

Change-Id: I47fc90aa6dff6d0843c90b27a785e0c6b3d2961e
Close-bug: #1830601
2019-05-27 18:06:46 +08:00
Rafael Weingärtner
f0e19ba647 Method to override the default ceilometer meters.yaml via Kolla-ansible
Similar to what we did here: https://review.opendev.org/#/c/655276 but,
 for ceilometer/data/meters.d/meters.yaml file.

The idea is to create a method for operators to manage custom meters
 YAML files via Kolla-ansible. To do that, we enable them (operators)
 to use a folder called by default "meters.d" in their local
 ceilometer configurations, where all of the custom meters YAML files
 will be read from. If this folder exist and has YAML files in it, we
 copy them for the default "/etc/ceilometer/meters.d" path in the
 containers. We do not inject things in the container though. We copy
 the files for the control node, and then we map them via
 ceilometer*.json container configuration files.

Change-Id: I712edcf39bfdb64887e25437f0aff30a45a829dd
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2019-05-21 10:55:10 -03:00
Ning Yao
4b1a1d57a9 Add support for Ceilometer custom gnocchi_resources.yaml
By default, Ceilometer uses gnocchi_resources.yaml as cfg_file that defines
the metric archive policy and metrics send to gnocchi. Users may want to define
their own strategy.

Change-Id: I49ba34588101ac2b4f450067c8c9a354134063bb
Signed-off-by: Ning Yao <yaoning@unitedstack.com>
2019-04-25 15:30:54 +08:00
caoyuan
16900c2e37 Add ceilometer_ipmi container into ceilometer role
refer to [0]

[0]: https://docs.openstack.org/ceilometer/latest/install/install-compute-rdo.html
Co-Authored-By: zhulingjie <easyzlj@gmail.com>

Change-Id: I4cda336dedb3d807b80d13bcc219268a8d667b4d
2019-03-14 16:24:15 +08:00
Jim Rollenhagen
2e4e60503a Use keystone_*_url var in all configs
We're duplicating code to build the keystone URLs in nearly every
config, where we've already done it in group_vars. Replace the
redundancy with a variable that does the same thing.

Change-Id: I207d77870e2535c1cdcbc5eaf704f0448ac85a7a
2019-03-06 15:08:26 -05:00
Jeffrey Zhang
55bf29ec6c Add cache configuration for ceilometer project
when using ceilometer+gnocchi, for every notification sample, ceilometer
will update the resource even if is not updated.

We should add [cache] section to make ceilometer cache the resource, and
stop send the useless update request.

Closes-Bug: #1807841
Change-Id: Ic33b4cd5ba8165c20878cab068f38a3948c9d31d
2018-12-11 17:12:25 +08:00
Kien Nguyen
224125bf5e Add Aodh evaluation_interval
Alarm service has been moved to Aodh for a long time [1].
Therefore, we should define evaluation_interval in
aodh.conf rather than ceilometer.conf. The interval value
should be configurable as well because we can use a
custom polling config now [2]

[1] https://review.openstack.org/#/c/200593/
[2] https://review.openstack.org/#/c/572013/

Change-Id: I7adeff2dff5d6d6ae4c621e84857347995e9203a
2018-10-16 08:14:22 +07:00
Kien Nguyen
d2f4055ce0 Add support for Ceilometer custom polling.yaml
By default, Ceilometer uses polling.yaml as cfg_file [1][2] that defines
the limit default numbers of metrics polled. Users may want to define
their own polled metrics.

[1] https://github.com/openstack/ceilometer/blob/master/ceilometer/polling/manager.py#L54
[2] https://github.com/openstack/ceilometer/blob/master/etc/ceilometer/polling.yaml

Change-Id: Iadd627ca3c767453e71c8a0c2044f00f30055f16
2018-06-06 22:12:30 +07:00
Zuul
c4788d6201 Merge "Remove old upgrade task from Ceilometer" 2018-05-21 14:12:53 +00:00
ZhijunWei
96d2749e8d Remove keystone_authtoken section for ceilometer
Now, the ceilometer use [service_credentials] to get credentials[0][1],
remove the unused [keystone_authtoken]

[0]: https://github.com/openstack/ceilometer/blob/master/devstack/plugin.sh#L294
[1]: https://docs.openstack.org/ceilometer/latest/configuration/index.html

Change-Id: Ic92f9ecb1a43c11311f2a428611e78c0986f02cf
2018-05-14 14:38:07 +00:00
Paul Bourke
0dbd8af314 Remove old upgrade task from Ceilometer
This is due for removal since Queens.

Change-Id: I16999287defa1bdf3e14a33577389985b7da0f2d
2018-05-14 15:01:25 +01:00
Jianghua Wang
602de0fabf XenAPI: support ceilometer service
This to support configuration on ceilometer services for XenAPI.
1. set hypervisor_inspector as xenapi
2. Confiugre the section of [xenapi] for XenAPI connection

For details, please refer to the config doc:
https://docs.openstack.org/ceilometer/latest/configuration/index.html

Change-Id: I4fc649d927031886c694507b3e8a686646a61ef7
blueprint: xenserver-support
2018-02-01 08:47:39 +00:00
Dai Dang Van
3d9fd47e96 Support policy.yaml file [Final]
- Ceilometer
- Gnocchi
- Rally

This will copy only yaml or json policy file if they exist.

Change-Id: I59f3376ab9fb6fb83577465a6c9096764b9f19c0
Implements: blueprint support-custom-policy-yaml
Co-authored-By: Duong Ha-Quang <duonghq@vn.fujitsu.com>
2018-01-26 04:37:53 +00:00
Andrew Smith
fd1d3af0df Add support for hybrid messaging backends
This commit separates the messaging rpc and notify transports in order
to support separate and different oslo.messaging backends

This patch:
* add rpc and notify variables
* update service role conf templates
* add example to globals.yaml
* add release note

Implements: blueprint hybrid-messaging
Change-Id: I34691c2895c8563f1f322f0850ecff98d11b5185
2017-11-22 14:09:40 -05:00
guochao
7b385f9857 Add vmware support to ceilometer
Change-Id: I701a26ade57916c9e2ca6899228d4660230b1e0b
Partially-implements: blueprint kolla-ansible-support-vsphere
Depends-On:I0f37e49e09c4f14a64797506007bb55a6f534f0f
2017-08-16 09:07:13 +08:00
shaofeng_cheng
1a588769dd Add evaluation_interval option
In ceilometer.conf there is a setting evaluation_interval.

The default is set to 60 seconds.

In pipeline.yaml,there is an interval set for those sources as well,
default value 300 seconds.

The evaluation_interval must be set >= the source interval in pipeline.yaml
or else when the evaluator runs it wont find any recent data
and set the state to insufficient data.

see:
https://docs.openstack.org/ocata/config-reference/telemetry/alarming-config-options.html

Change-Id: I82f061d1affc5c3ade75496684fe66e17928e1f3
Closes-Bug: #1704328
2017-07-19 15:42:02 +08:00
Jenkins
5e04b31175 Merge "Remove ceilometer-api and ceilometer-collector services" 2017-07-18 14:20:58 +00:00
Jeffrey Zhang
d1d726e937 Add pipeline file into ceilometer-central and ceilomter-compute node
Closes-Bug: #1704915
Change-Id: If85cd7bc8547494900c8f6c32dfd1c1f2179f928
2017-07-18 11:45:02 +08:00
Jeffrey Zhang
ddad15c07e Remove ceilometer-api and ceilometer-collector services
* remove ceilometer-api and ceilometer-collector service
* use ceilometer-notification to publish message to proper backend
* remove useless ceilometer_database_type and ceilometer_event_type
  variables
* sync event_definitions.yaml, event_pipeline.yaml and pipeline.yaml
  file with upstream

Change-Id: Ib39053cb5f70bd11ee61d3f26d5b28accecd7190
2017-07-17 11:03:44 +08:00
Bertrand Lallau
372e991bec Standardize Keystone domain variables
As described here:
https://github.com/openstack/keystone/blob/master/keystone/resource/core.py#L841
https://github.com/openstack/keystone/blob/master/keystone/conf/identity.py#L21

* default project domain name MUST be named 'Default'
* default project domain id MUST be named 'default'
* default project user name MUST be named 'Default'
* default project user id MUST be named 'default'

Change-Id: I610a0416647fdea31bb04889364da5395d8c8d74
2017-07-06 14:34:11 +00:00
Jeffrey Zhang
6ccd1337e6 Remove archive_policy configuration in ceilometer.conf
gnocchi have archive policy rule feature, which can control metric's
archive_policy. gnocchi also have a default archive policy rule which
is using low archive policy.

On the other hand, archive_policy is marked as deprecated and will be
removed in the feature in ceilometer[0].

So should better remove archive_policy ceilometer.conf.

[0] https://review.openstack.org/#/c/448586/

Change-Id: I0aa726f6420d628bda3fb4c4eba86b55fe1e2699
Closes-Bug: #1696038
2017-06-06 11:44:23 +08:00
James McCarthy
274291463e Change default permissions in jinja templates.
Many of the templates use 600, remove unnecessary permission
on these templates to bring them in line with the others.

Change-Id: I30fe1b3822b9c7bb6ab98729fc519dc1d603db27
2017-05-26 12:29:02 +01:00
Bertrand Lallau
afdd11b9a2 Generalize api_interface_address variable usage
Useful api_interface_address variable has been define here:
https://github.com/openstack/kolla-ansible/blob/master/ansible/group_vars/all.yml#L57
In order to simplify codebase we must use it as much as possible.

Change-Id: I18fec19bf69e05a22a4142a9cd1165eccd022455
2017-05-23 08:35:15 +00:00
Jenkins
8297596c81 Merge "Add panko.conf file in ceilometer container" 2017-04-19 15:08:54 +00:00
Jeffrey Zhang
0defa3b3ea Add panko.conf file in ceilometer container
When using panko event dispatcher and publisher in ceilometer, it
depends on panko.conf file.

Change-Id: Ie91c072b233597758955b70bd526b2603b86e995
Closes-Bug: #1672241
2017-04-19 00:17:02 +08:00
Eduardo Gonzalez
ea9b1577ad Apply correct permissions to kolla_logs/ceilometer
Ceilometer-*.json does not apply permissions at
kolla_logs/ceilometer as other roles do at config.json.
This is causing ceilometer-central to keep restarting
due cannot read/write to ceilometer-polling.log file.

Change-Id: I865bf01d6c3d87f1a2cf31976ca9e46bcbcad744
Closes-Bug: #1671020
2017-03-08 10:56:08 +00:00
Narasimha SV
a354f03409 update dispatcher configurations for database backend
Ceilometer dispatcher configurations are there to have gnocchi as
backend but when we use mongodb or mysql dispatcher configurations
are missing.

Closes-Bug: #1640166
(cherry picked from commit d99659050763c71e63ed8b57cbf16d4ce85980fa)

Change-Id: I9cdfc6e2208978e72b76bff7f6a1cba80386ffa8
2017-02-01 11:13:13 +00:00
zhubingbing
3e7ed2c42c add panko role
Change-Id: I515fdcdf6093e9e59dbbdc97221d23ed7f4e0a3d
Partially-Implements: blueprint add-panko-ansible-role
2016-12-15 08:01:50 +00:00
Jenkins
2ec6e07d6d Merge "Remove store_events parameter from ceilometer configuration" 2016-12-06 13:28:14 +00:00
Christian Berendt
ad7157ea94 Remove store_events parameter from ceilometer configuration
The store_events parameter was removed from ceilometer collector
service with https://review.openstack.org/#/c/367982

Change-Id: If08c280949a2ef5274cc8b029750f98d6f6af79b
Closes-bug: #1647585
2016-12-06 10:18:56 +00:00
Eduardo Gonzalez
775d8019b6 Add custom policies in service.json
Include custom policy.json files in service-api.json.j2 files

Change-Id: Ic55bfc6f61131aa72c3497ce8b2282056bcc7f92
Partially-Implements: blueprint custom-policies
2016-12-02 16:22:17 +00:00
Javier Castillo Alcíbar
b13c40f586 Make sure ceilometer/service_credentials wotks with internalURL
When configuring kolla with

 - kolla_enable_tls_external: "yes"

ceilometer service credential defaults to publicURL.

Ceilometer should work with the internal interface (v3 API Identity syntax):

.....
[service_credentials]
interface = internal
.....

Change-Id: I898ffb2b901f08b810756d80dbb988d8c9298219
Closes-Bug: #1643860
2016-11-22 16:21:48 +01:00
Vladislav Belogrudov
a2bfe399a8 Exclude port from ceilometer_database_mysql_address
Users can specify database address and port for mysql backend
of Ceilometer. Currently ceilometer_database_mysql_address
incorrectly includes port. This is unnecessary, also Ceilometer
bootstrapping (mysql_user, mysql_db Ansible modules) wants to use
these variables separately.

Change-Id: I88f5359517fcf4f119ec6abfdf16a15a4e33b6fd
Closes-Bug: #1639786
2016-11-07 16:17:11 +03:00
Jenkins
520ac1823c Merge "Make number of ceilometer-api processes configurable" 2016-11-04 14:39:00 +00:00
prameswar
8a63cf45b5 corrected line collapsing in ceilometer.conf
Closes-bug: #1635667

Change-Id: I256a39b6241d5b506f099fb98847af9417748702
2016-10-22 02:17:55 +00:00
ZhongShengping
53150ca2c0 Memcache configuration for Ceilometer is broken
At the moment we use "memcached_servers =
{{ kolla_internal_fqdn }}:{{ memcached_port }}" in
keystone_authtoken for Ceilometer.
This cannot work because we our haproxy service does
not offer memcache, so fix it.

Change-Id: I7d9630b8b232f0e5e2a0a33304817a1b255d4855
Closes-Bug: #1634146
2016-10-19 09:12:58 +08:00
Christian Berendt
d8dd75b510 Make number of ceilometer-api processes configurable
TrivialFix

Change-Id: I3c297e1b967ca76b7a697bcef6ca30c9fbbe4298
2016-10-10 14:10:05 +02:00
Jeffrey Zhang
18fa72c901 integrate gnocchi with ceilometer
Closes-Bug: #1626364
Change-Id: I9d586b950b7099a9b160f7b32c9ff00b189a0287
2016-10-09 03:04:07 +00:00
Jeffrey Zhang
7555054e72 Fix the failure of ceilometer-api container
* ceilometer-api script is removed and run ceilometer-api by using apache
* fix connection url in ceilometer.conf

Closes-Bug: #1624905
Change-Id: Iffb00ca418bab6521d61b16de4f5760aa1ae1ac7
2016-09-25 14:01:43 +00:00
Christian Berendt
b76a613f47 Fix ceilometer.conf template
mongodb_port is already part of ceilometer_database_address

TrivialFix

Change-Id: I1eabd5e6d59215eea624d1b242b4e3820cf206ce
2016-09-15 12:27:36 +02:00
Paul Bourke
82f6d3f44b Allow mysql to be used as a database for Ceilometer
MongoDB is still default.

Refer to
http://docs.openstack.org/developer/ceilometer/install/dbreco.html for
more info on Ceilometer database backends.

Closes-Bug: #1622532

Change-Id: Iaf84f9efe0537f42797f4bb7ba2a3611835cc84e
2016-09-12 11:41:35 +00:00