158 Commits

Author SHA1 Message Date
Mark Goddard
3522d235bd Refactor service, endpoint and user registration
Use upstream Ansible modules for registration of services, endpoints,
users, projects, roles, and role grants.

Change-Id: I7c9138d422cc91c177fd8992347176bb54156b5a
2019-09-17 10:13:56 -07:00
Scott Solkhon
09e02ef8f1 Support configuration of trusted CA certificate file
This commit adds the functionality for an operator to specify
their own trusted CA certificate file for interacting with the
Keystone API.

Implements: blueprint support-trusted-ca-certificate-file
Change-Id: I84f9897cc8e107658701fb309ec318c0f805883b
2019-08-16 12:47:42 +00:00
Radosław Piliszek
6a737b1968 Fix handling of docker restart policy
Docker has no restart policy named 'never'. It has 'no'.
This has bitten us already (see [1]) and might bite us again whenever
we want to change the restart policy to 'no'.

This patch makes our docker integration honor all valid restart policies
and only valid restart policies.
All relevant docker restart policy usages are patched as well.

I added some FIXMEs around which are relevant to kolla-ansible docker
integration. They are not fixed in here to not alter behavior.

[1] https://review.opendev.org/667363

Change-Id: I1c9764fb9bbda08a71186091aced67433ad4e3d6
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-07-18 13:39:06 +00:00
Mark Goddard
de00bf491d Simplify handler conditionals
Currently, we have a lot of logic for checking if a handler should run,
depending on whether config files have changed and whether the
container configuration has changed. As rm_work pointed out during
the recent haproxy refactor, these conditionals are typically
unnecessary - we can rely on Ansible's handler notification system
to only trigger handlers when they need to run. This removes a lot
of error prone code.

This patch removes conditional handler logic for all services. It is
important to ensure that we no longer trigger handlers when unnecessary,
because without these checks in place it will trigger a restart of the
containers.

Implements: blueprint simplify-handlers

Change-Id: I4f1aa03e9a9faaf8aecd556dfeafdb834042e4cd
2019-06-27 15:57:19 +00:00
Zuul
7cfab57cb9 Merge "Method to override the default ceilometer meters.yaml via Kolla-ansible" 2019-06-24 13:08:28 +00:00
Zuul
64c31d1552 Merge "Remove ceilometer transformers config" 2019-06-13 19:24:18 +00:00
Mark Goddard
b123bf6621 Use become for all docker tasks
Many tasks that use Docker have become specified already, but
not all. This change ensures all tasks that use the following
modules have become:

* kolla_docker
* kolla_ceph_keyring
* kolla_toolbox
* kolla_container_facts

It also adds become for 'command' tasks that use docker CLI.

Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
2019-06-06 19:04:58 +01:00
Zuul
0f6cd86f3a Merge "Add support for ceilometer custom pipeline.yaml" 2019-06-03 19:35:55 +00:00
Zuul
3d1b53f301 Merge "Make kolla-ansible support extra volumes" 2019-06-03 18:51:24 +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
ZijianGuo
c89b901524 Add support for ceilometer custom pipeline.yaml
This file can be modified to adjust polling intervals or other configurations.
We can add a custom 'pipeline.yaml' file to override it.

Change-Id: I325523edc4f7e37db55a2e21fe52e76138e6d114
Signed-off-by: ZijianGuo <guozijn@gmail.com>
2019-05-23 17:57:16 +08:00
ZijianGuo
136210c403 Add support for ceilometer custom event yaml
* event_definitions.yaml:
  This file provides a standard set of events and corresponding traits
that may be of interest.

* event_pipeline.yaml:
  This file can be modified to adjust which notifications to capture and
where to publish the events.

Change-Id: I9c1698e07b65102af9b3ee448ad07f8fa6428b74
Signed-off-by: ZijianGuo <guozijn@gmail.com>
2019-05-22 20:44:56 +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
binhong.hua
12ff28a693 Make kolla-ansible support extra volumes
When integrating 3rd party component into openstack with kolla-ansible,
maybe have to mount some extra volumes to container.

Change-Id: I69108209320edad4c4ffa37dabadff62d7340939
Implements: blueprint support-extra-volumes
2019-05-17 11:55:04 +08: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
Mark Goddard
a4bb8567da Fix up config file permissions on the host
Several config file permissions are incorrect on the host. In general,
files should be 0660, and directories and executables 0770.

Change-Id: Id276ac1864f280554e98b937f2845bb424d521de
Closes-Bug: #1821579
2019-04-02 17:23:31 +01: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
Eduardo Gonzalez
1a682fab28 Support stop specific containers
With this change, an operator may be able to stop a
service container without stopping all services in a host.
This change is the starting point to start
fast-forward upgrades support.
In next changes new flags will be introducced to disable
stop dataplane services during upgrades.

Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
Implements: blueprint support-stop-containers
2018-11-26 08:07:01 +00:00
Zuul
278e04fcc9 Merge "Enable setting of ceilometer as a non-root user" 2018-10-22 16:06:35 +00:00
frauniki
4b2d2cc128 Enable setting of ceilometer as a non-root user
By adding 'become' element, you can set ceilometer as non root user.

Change-Id: I146f3aec6b1270d40c02f4f7883c169aaa796239
Closes-Bug: #1798035
2018-10-16 17:48:18 +09: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
howardlee
9a1c906435 Fix bug in deploying ceilometer using dev mode
Since the configuration file of the panko module was referenced as a
variable during the deployment of the ceilometer module, the
project_name variable of the ceilometer module was overwritten,
resulting in an error when deploying the ceilometer module using the
development mode. This patch will fix this problem.

Change-Id: I90d2380b610d3caa988ee667e7c42511d3bbd937
Closes-Bug: #1795770
2018-10-08 01:51:28 +00:00
MinSun
12f4554330 Support checkout dedicated version from git with dev mode
Now kolla dev mode only support clone master branch from git,
add version tag to support clone dedicated branch.

Change-Id: I88de238e5dc7461ba0662a3ecea9a2d80fd0db60
2018-08-14 16:06:00 +08:00
Eduardo Gonzalez
ffe388ba06 Fix ceilometer bootstrap
Ceilometer image filter was incorrectly used. Thr filter
should be in the volume list instead.

Change-Id: I3ad8a1d85607004b28f9a25b9a4e9f8b914ae9df
Closes-Bug: #1784496
2018-07-31 09:55:28 +02:00
Zuul
3e45b2cbec Merge "Use include_tasks instead of include" 2018-07-27 08:16:08 +00:00
Lakshmi Prasanna Goutham Pratapa
76210a2d85 Apply Resource Constraints to Openstack Services
This commit is to apply resource-constraints only to few OpenStack services.
Commit to apply constraints to other services will be made in coming commits.

Partially-Implements: blueprint resource-constraints

Change-Id: Icafa54baca24d2de64238222a5677b9d8b90e2aa
2018-07-25 17:05:04 +01:00
Jeffrey Zhang
b51eeed89e Use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Co-Authored-By: confi-surya <singh.surya64mnnit@gmail.com>
Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
2018-07-25 23:57:22 +08:00
caoyuan
bf71e336d4 Provide support for ceilometer dev mode in kolla
Add a possibility to mount sources as volumes to containers,
in "more than documentation" way. That will let us to use kolla
as a replacement for devstack.

Co-Authored-By: ZhijunWei <wzj334965317@outlook.com>
Partially implements: blueprint mount-sources

Change-Id: I7db7d7f0d13a4a17d1884f2cb6fa6f2c37cb0e2b
2018-06-25 03:09:34 +00:00
Zuul
c7c804414b Merge "Add support for Ceilometer custom polling.yaml" 2018-06-10 00:20:22 +00:00
Ha Manh Dong
30be04ea91 Specify 'become' for all tasks that use kolla_docker module
Add become to all tasks that use the module "kolla_docker"

Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10
Partial-Implements: blueprint ansible-specific-task-become
2018-06-08 12:39:24 +00: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
Zuul
d3bff002e6 Merge "Remove keystone_authtoken section for ceilometer" 2018-05-15 14:20:45 +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
Jeffrey Zhang
c567055176 Fix ansible warning
- rename action and serial to kolla_ansible and kolla_serial
- use become instead of "sudo <command>" in shell
- Remove quota for failed_when and changed_when in rabbitmq tasks

Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c
Implements: blueprint migrate-to-ansible-2-2-0
2018-05-11 02:54:02 +00:00
Jeffrey Zhang
84ade4e149 Remove useless module_extra_vars in registry.yml
- remove uesless module_extra_vars, this is a historical issue. In the
  past, we use 'docker exec kolla_toolbox ansible xxx' to run module on
  target node, so complex data have to pass through extra_vars. Now we
  are using kolla_toolbox module, no need to use extra_vars anymore.
- Remove some useless until.

Change-Id: I72ed28001202917f9a82a1c3ea33cd6319911ec8
2018-04-16 09:14:54 +08:00
Eduardo Gonzalez
ea1a1dee0d Verify YAML syntax in gates
This patchset implements yamllint test to all *.yml
files.

Also fixes syntax errors to make jobs to pass.

Change-Id: I3186adf9835b4d0cada272d156b17d1bc9c2b799
2018-03-26 17:56:22 +02:00
Jeffrey Zhang
cd2ccfcd92 Fix wrong register variable name in ceilometer
Change-Id: If968e05459e38fe7a8c676e4480af22cc1de0b49
Closes-Bug: #1756221
2018-03-16 14:46:24 +08:00
Duong Ha-Quang
9965cc46ff Specify 'become' for only neccesary tasks (all other roles)
Add become to only neccesary tasks in roles:

- aodh
- barbican
- bifrost
- ceilometer
- ceph
- chrony
- cinder
- cloudkitty
- collectd
- congress
- designate
- elasticsearch
- etcd
- freezer
- gnocchi
- grafana
- influxdb
- ironic
- iscsi
- karbor
- kibana
- kuryr
- magnum
- manila
- mistral
- mongodb
- multipathd
- murano
- octavia
- panko
- qdrouterd
- rally
- sahara
- searchlight
- senlin
- skydive
- solum
- swift
- swift
- tacker
- telegraf
- tempest
- trove
- vmtp
- watcher
- zun

Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31
Partial-Implements: blueprint ansible-specific-task-become
2018-03-12 09:37:43 +07: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
Zuul
def1662ec9 Merge "Remove the ceilometer api and move bootstrap into notification" 2017-12-15 02:57:58 +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
caoyuan
e4087f384b Remove the ceilometer api and move bootstrap into notification
since the ceilometer-api is marked as deprecated and useless, it should
be remove from kolla, but bootstrap action is need, so move it into
notification is a good choice.
refer to https://github.com/openstack/kolla-ansible/blob/master/releasenotes/notes/remove-ceilometer-useless-service-4e210ddc1c48ac48.yaml#L4

Depends_on: Iea0a46aead14e238fe102d4127b7774dbc2be0e4

Change-Id: Ie8b69e2a0125ea08bb0561991e8e5047bfe47910
2017-11-01 04:22:32 +00:00
Eduardo Gonzalez
56374206be Fix deployment with public TLS enabled
When deploying with tls enabled in public
endpoints, ansible modules fails due SSL certificates
are self-signed.

This change adds a new variable to allow customization
on which endpoints ansible should connect.
Defaults to admin because admin auth parameters defaults
to admin endpoint.

Change-Id: Ic3ed58cf9c9579cae08a11bbfe6fce983b5a9cbc
Closes-Bug: #1720995
2017-10-05 08:36:34 +00:00
Bertrand Lallau
a3dfdfc085 Simplify Openstack services configuration possibilities
Actually Openstack services configuration can be overriden using many
files:
- /etc/kolla/config/<< service name >>/<< config file >>
- /etc/kolla/config/<< service name >>/<<host>>/<< config file >>
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

Only per-service configuration is actually documented here:
https://github.com/openstack/kolla-ansible/blob/master/doc/advanced-configuration.rst#L164

Allowing to globally modify service configuration can be perform too,
but it can be done in 3 different manners, all not documented:
- /etc/kolla/config/global.conf
- /etc/kolla/config/database.conf
- /etc/kolla/config/messaging.conf

database.conf and messaging.conf seems redundant with global.conf.
In order to simplify codebase it seems logical to remove them.

Documentation has been added for overriding configuration globally and
release note has been added too.

Closes-Bug: #1682479
Change-Id: I5d922dfc0d938173bad34ac64e490b78db1b7e31
2017-09-13 17:47:36 +02: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