5440 Commits

Author SHA1 Message Date
Zuul
53a05b54ed Merge "Remove Nova legacy upgrade" 2019-09-30 08:47:12 +00:00
Zuul
2abfa97e82 Merge "Add custom filters for checking services" 2019-09-29 20:36:17 +00:00
ZijianGuo
1171a8d552 Remove deprecated option 'ovsdb_interface'
The deprecated ovsdb_interface configuration option has been removed,
the default native driver is now always used. [1]

[1] cf37563c83

Change-Id: Idd4e8ad4b00064d180a50c7b98a4568804939f50
Signed-off-by: ZijianGuo <guozijn@gmail.com>
2019-09-29 10:30:57 +08:00
Doug Szumski
0d7a34e8c7 Remove Nova legacy upgrade
The rolling upgrade has been the default since Stein. The legacy
upgrade has been removed because it doesn't follow the upgrade
guide [1].

[1] https://docs.openstack.org/nova/latest/user/upgrade.html

Change-Id: I2aa879699cb4e9955bf5c38053eada5a53fb6211
2019-09-26 18:04:50 +01:00
Kris Lindgren
2fe0d98ebb Add a job that *only* deploys updated containers
Sometimes as cloud admins, we want to only update code that is running
in a cloud.  But we dont need to do anything else.  Make an action in
kolla-ansible that allows us to do that.

Change-Id: I904f595c69f7276e71692696471e32fd1f88e6e8
Implements: blueprint deploy-containers-action
2019-09-26 17:51:14 +01:00
Zuul
7d95cfd737 Merge "Switch default cloudkitty storage backend to influxdb" 2019-09-26 10:58:00 +00:00
Zuul
8a4a0aa8fd Merge "Fix deployment of Grafana" 2019-09-26 09:42:28 +00:00
Mark Goddard
33b1b85d51 Remove delegate_to from service-ks-register tasks
This was actually not present in the original tasks, I'm not sure how it
crept in. Using it could force delegating to a failed host.

Also use a block in the service-ks-register role to avoid repeating the
run_once and become arguments.

Change-Id: Ie4e14b1cfb0167a2126685784b6a8f7262393f63
2019-09-26 10:38:35 +01:00
Zuul
340b6d9456 Merge "Add support for libvirt+tls" 2019-09-26 09:19:33 +00:00
Radosław Piliszek
84f439aa76 Fix deployment of Grafana
Some tasks were improperly generalized in change:
I4f1aa03e9a9faaf8aecd556dfeafdb834042e4cd
(simplify handlers)
This patch reverts that.

Change-Id: I38fbe319da50fc7d5a3fa3c4890f039ae900a60c
Closes-bug: #1845258
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-09-25 08:58:33 +02:00
Mark Goddard
27f4876eed Switch default cloudkitty storage backend to influxdb
Backport: stein

In the Stein release, cloudkitty switched the default storage backend
from sqlalchemy to influxdb. In kolla-ansible stein configuration, we
did not explicitly set the storage backend, and so we automatically
picked up this change. However, prior to
https://review.opendev.org/#/c/615928/ we did not have full support for
InfluxDB as a storage backend, and so this has broken the Rocky-Stein
upgrade (https://bugs.launchpad.net/kolla-ansible/+bug/1838641), which
fails with this during the DB sync:

ERROR cloudkitty InfluxDBClientError: get_list_retention_policies()
requires a database as a parameter or the client to be using a database

This change synchronises our default with cloudkitty's (influxdb), and
also provides an upgrade transition to create the influxdb database.

We also move the cloudkitty_storage_backend variable to
group_vars/all.yml, since it is used to determine whether to enable
influxdb.

Finally, the section name in cloudkitty.conf was incorrect - it was
storage_influx,  but should be storage_influxdb.

Change-Id: I71f2ed11bd06f58e141d222e2709835b7ddb2c71
Closes-Bug: #1838641
2019-09-24 16:15:14 +00:00
Zuul
1982c9809f Merge "Add <project>_install_type for all projects" 2019-09-24 16:05:38 +00:00
Zuul
a89380375c Merge "Create and grant all keystone roles in service-ks-register" 2019-09-24 13:09:19 +00:00
Zuul
875cdec9f9 Merge "Catch errors and changes in kolla_toolbox module" 2019-09-24 13:04:53 +00:00
Zuul
01ff25f440 Merge "Remove some deprecated config options" 2019-09-24 13:04:52 +00:00
Zuul
eb80a730be Merge "Swift: add swift_extra_ring_files variable to handle multi-policies deployment" 2019-09-24 09:53:29 +00:00
Zuul
2ba04ad26b Merge "Add [nova] section to ironic.conf" 2019-09-24 09:08:53 +00:00
Zuul
86326b32a3 Merge "Fix removed and deprecated options in ironic.conf" 2019-09-24 09:05:57 +00:00
Zuul
589508d9a3 Merge "Ensure keepalived is restarted during upgrade" 2019-09-24 08:45:04 +00:00
Mark Goddard
741f6d9be9 Create and grant all keystone roles in service-ks-register
This ensures we execute the keystone os_* modules in one place.

Also rework some of the task names and loop item display.

Change-Id: I6764a71e8147410e7b24b0b73d0f92264f45240c
2019-09-24 08:50:04 +01:00
Alexis Deberg
0adbbb268e Swift: add swift_extra_ring_files variable to handle multi-policies deployment
The current tasks only use a hardcoded list deploying only the required files.
When using multiple custom policies, additionnal object-*.builder and
object*.gz files are to be deployed as well.
This adds a new default-empty variable that can be overridden when needed

Change-Id: I29c8e349c7cc83e3a2e01ff702d235a0cd97340e
Closes-Bug: #1844752
2019-09-24 02:43:15 -04:00
Mark Goddard
6f05f1b844 Ensure keepalived is restarted during upgrade
During upgrade, we stop all slave keepalived containers. However, if the
keepalived container configuration has not changed, we never restart
them.

This change fixes the issue by notifying the restart handler when the
containers are stopped.

Change-Id: Ibe094b0c14a70a0eb811182d96f045027aa02c2a
Closes-Bug: #1836368
2019-09-23 15:27:34 +01:00
Mark Goddard
cc555c4196 Add <project>_install_type for all projects
This allows the install type for the project to be different than
kolla_install_type

This can be used to avoid hitting bug 1786238, since kuryr only supports
the source type.

Change-Id: I2b6fc85bac092b1614bccfd22bee48442c55dda4
Closes-Bug: #1786238
2019-09-23 10:23:54 +00:00
Dincer Celik
5ff7bab46b [prometheus] Added support for extra options
This change introduces the way to pass extra options to prometheus.

Currently, prometheus runs with nearly default options, and when clouds
start getting bigger, you need to pass extra parameters to prometheus.

Change-Id: Ic773c0b73062cf3b2285343bafb25d5923911834
2019-09-23 11:25:04 +03:00
Zuul
b7bbbae981 Merge "Adding Prometheus blackbox exporter" 2019-09-20 17:25:04 +00:00
Mark Goddard
e127627dea Remove some deprecated config options
Heat's [DEFAULT] deferred_auth_method is deprecated, and we are setting
the default value of 'trusts'.

Glance's [DEFAULT] registry_host is deprecated, and we do not deploy a
registry.

Change-Id: I80024907c575982699ce323cd9a93bab94c988d3
2019-09-20 14:52:34 +01:00
Mark Goddard
2ddf1fbfab Add retries to keystone resource registration tasks
Sometimes things go wrong. We shouldn't fail a Kolla Ansible run because
of a temporary failure when creating keystone resources.

This task adds retries to the tasks in the service-ks-tasks role.
Default is 5 retries with a 10 second delay, as is used in OpenStack
Ansible.

Change-Id: Ib692062fb93ba330bb9c8a35c684ad06652be8a2
2019-09-20 12:52:55 +01:00
Zuul
ec8437205e Merge "Fix Octavia to use keystone_admin_project variable" 2019-09-19 21:43:58 +00:00
Zuul
91c68f5da8 Merge "Update "openstack_release" variable to static brach name" 2019-09-19 21:21:57 +00:00
Dincer Celik
a4be4c0dcf Fix Octavia to use keystone_admin_project variable
Project name shouldn't be static as user may override it with
keystone_admin_project

Change-Id: If41b9d8de17985d960104c8daf27ea7d706c27c0
2019-09-19 15:57:57 +00:00
Kris Lindgren
f8cfccb99e Add support for libvirt+tls
To securely support live migration between computenodes we should enable
tls, with cert auth, instead of TCP with no auth support.

Implements: blueprint libvirt-tls

Change-Id: I22ea6233933c840b853fdcc8e03400b2bf577271
2019-09-19 15:32:41 +01:00
Radosław Piliszek
70b4bf6cbf Fix for haproxy precheck failing on CentOS running non-root
Change-Id: I7f2b3a6f1eacd4cabcaa31de543b7489bc5e654b
Closes-bug: #1844636
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-09-19 11:02:28 +02:00
Zuul
a21b9b5430 Merge "Refactor service, endpoint and user registration" 2019-09-18 17:34:15 +00:00
Zuul
11a572ccb1 Merge "Remove support for OracleLinux" 2019-09-18 14:27:57 +00:00
Zuul
c11ada4148 Merge "Ignore create_cells and discover_computes when nova-api is disabled" 2019-09-18 11:43:18 +00:00
Zuul
6189a0c25c Merge "Update python_path for "source" install type" 2019-09-18 11:43:17 +00:00
Zuul
73844d3ba7 Merge "Fix prometheus-alertmanager cluster bug" 2019-09-18 11:43:03 +00:00
Mark Goddard
15e35333dd Remove support for OracleLinux
We have agreed to remove support for Oracle Linux.

http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006896.html

Change-Id: If11b4ff37af936a0cfd34443e8babb952307882b
2019-09-18 12:25:12 +01:00
Scott Solkhon
b22375ebfd Adding Prometheus blackbox exporter
This commit follows up the work in Kolla to provide deploy and configure the
Prometheus blackbox exporter.

An example blackbox-exporter module has been added (disabled by default)
called os_endpoint. This allows for the probing of endpoints over HTTP
and HTTPS. This can be used to monitor that OpenStack endpoints return a status
code of either 200 or 300, and the word 'versions' in the payload.

This change introduces a new variable `prometheus_blackbox_exporter_endpoints`.
Currently no defaults are specified because the configuration is heavily
dependent on the deployment.

Co-authored-by: Jack Heskett <Jack.Heskett@gresearch.co.uk>
Change-Id: I36ad4961078d90e2fd70c9a3368f5157d6fd89cd
2019-09-18 11:06:19 +01:00
Zuul
6a53b0bb95 Merge "[designate] Fix admin api configuration" 2019-09-17 17:45:08 +00:00
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
Zuul
92fe23b6d1 Merge "[designate] Removed deprecated pool manager settings" 2019-09-17 08:40:27 +00:00
Mark Goddard
70b515bf12 Catch errors and changes in kolla_toolbox module
The kolla_toolbox Ansible module executes as-hoc ansible commands in the
kolla_toolbox container, and parses the output to make it look as if
ansible-playbook executed the command. Currently however, this module
sometimes fails to catch failures of the underlying command, and also
sometimes shows tasks as 'ok' when the underlying command was changed.
This has been tested both before and after the upgrade to ansible 2.8.

This change fixes this issue by configuring ansible to emit output in
JSON format, to make parsing simpler. We can now pick up errors and
changes, and signal them to the caller.

This change also adds an ansible playbook, tests/test-kolla-toolbox.yml,
that can be executed to test the module. It's not currently integrated
with any CI jobs.

Note that this change cannot be backported as the JSON output callback
plugin was added in Ansible 2.5.

Change-Id: I8236dd4165f760c819ca972b75cbebc62015fada
Closes-Bug: #1844114
2019-09-16 14:34:11 +01:00
Mark Goddard
af2e7fd73e Add custom filters for checking services
These filters can be used to capture a lot of the logic that we
currently have in 'when' statements, about which services are enabled
for a particular host.

In order to use these filters, it is necessary to install the
kolla_ansible python module, and not just the dependencies listed in
requirements.txt. The CI test and quickstart install from source
documentation has been updated accordingly.

Ansible is not currently in OpenStack global requirements, so for unit
tests we avoid a direct dependency on Ansible and provide fakes where
necessary.

Change-Id: Ib91cac3c28e2b5a834c9746b1d2236a309529556
2019-09-16 12:48:52 +00:00
chenxing
4eceb48d2d Update "openstack_release" variable to static brach name
Since we use the release name as the default tag to publish images
to Dockerhub, we should use this by default.

This change also removes support for the magic value "auto".

Change-Id: I5610cc7729e9311709147ba5532199a033dfd156
Closes-Bug: #1843518
2019-09-16 12:42:44 +00:00
Erik Olof Gunnar Andersson
7d066971f2 [designate] Fix admin api configuration
The admin api was never actually enabled,
and the admin extensions were added to the wrong
extension namespace.

Change-Id: I084b5cf05a786bde76cbf82381ba5f69cd5bce19
2019-09-15 15:02:55 -07:00
Erik Olof Gunnar Andersson
e07a67bddf [designate] Removed deprecated pool manager settings
The pool manager has long been deperecated and
kolla-ansible does not currently have an option
to enable it. So we can safely remove the settings
around it.

Change-Id: I8e97d72421caebba979df0135fb65879e6ae3903
2019-09-15 15:01:00 -07:00
Radosław Piliszek
b4ef4638a6 Fix enforced horizon redirect to https
Also fixes similar issues introduced by the same recent change.
Added FIXME note about possible TLS malfunction regarding horizon.

Change-Id: I5f46a9306139eb550d3849757c8bdf0767537c78
Closes-Bug: #1844016
Signed-off-by: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2019-09-14 22:00:56 +02:00
Zuul
d659c4dd15 Merge "Sync enable flags in globals.yml" 2019-09-14 16:20:33 +00:00
Mark Flynn
01eb7a63a5 Fix prometheus-alertmanager cluster bug
Edited the
ansible/roles/prometheus/templates/prometheus-alertmanager.json.j2 file
to change the mesh.peer and mesh.listen-address to cluter.peer and
cluster.listen-address.  This stopped alertmanager from crashing with
error "--mesh.peer is an invalid flag"

Change-Id: Ia0447674b9ec377a814f37b70b4863a2bd1348ce
Signed-off-by: Mark Flynn <markandrewflynn@gmail.com>
2019-09-13 14:16:42 -04:00