11690 Commits

Author SHA1 Message Date
Michal Nasiadka
c52a89ae04 Use Docker healthchecks for core services
This change enables the use of Docker healthchecks for core OpenStack
services.
Also check-failures.sh has been updated to treat containers with
unhealthy status as failed.

Implements: blueprint container-health-check
Change-Id: I79c6b11511ce8af70f77e2f6a490b59b477fefbb
2020-10-05 08:35:47 +00:00
Zuul
4c4ad2b87b Merge "Implement automatic deploy of octavia" 2020-10-02 15:04:46 +00:00
wu.chunyang
4a58f4238c Implement automatic deploy of octavia
this patchset has implemented:
  - network (lb-mgmt-net)
  - security groups and rules (used by amphora and health manager)
  - amphora flavor (used by amphora)
  - nova keypair (used by amphora at the time of debugging)

Add a octavia_amp_listen_port variable which used by amphora
Add amp_image_owner_id in octavia.conf

Implements: blueprint implement-automatic-deploy-of-octavia
Co-Authored-By: zhangchun <zhangchun@yovole.com>

Depends-On: https://review.opendev.org/652030

Change-Id: I67009d046925cfc02c1e0073c80085c1471975f6
2020-10-02 14:05:00 +02:00
Zuul
586357ca74 Merge "Change the default haproxy template to split variant" 2020-10-01 12:49:02 +00:00
Zuul
5a65bd7bf6 Merge "Add healthchecks option to kolla_docker" 2020-09-30 17:34:53 +00:00
Zuul
4441038e29 Merge "Make keep-alive timeout configurable" 2020-09-30 17:01:56 +00:00
Zuul
e05162835d Merge "Make no_proxy handling more robust" 2020-09-30 16:39:34 +00:00
Michal Nasiadka
d6f69174ac Add healthchecks option to kolla_docker
blueprint container-health-check

Implements healthchecks option in kolla_docker Ansible module

Change-Id: I9323d4e75378d06f52b869f31009fd656bf270d2
2020-09-30 14:29:54 +00:00
Zuul
6d5069ccea Merge "Remove kolla-cli from cleanup-host script" 2020-09-29 18:22:56 +00:00
zhoulinhui
06f5ae36a9 Remove kolla-cli from cleanup-host script
The kolla-cli is deprecation [1], it should be clean up from
kolla-ansible's cleanup-host script

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

Change-Id: I7072de235d9d629b0f538dc98c5258ee5f023376
2020-09-29 21:34:13 +08:00
zhoulinhui
2af37ecb5f Bump the remained minimum Ansible version to 2.9
It should be bumped by [1], but missing, this PS to
be supplement.

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

Depends-On: I5befc72a4894d625ca352b27df9d3aa84a2f5b2c
Change-Id: I75742653cb62c27317abf297a0143399d6adc644
2020-09-29 21:28:03 +08:00
Zuul
088602aad6 Merge "Add release note and upgrade docs for Ubuntu Focal 20.04" 2020-09-29 11:31:05 +00:00
Zuul
ba933f16e9 Merge "Support TLS encryption of RabbitMQ client-server traffic" 2020-09-29 11:31:03 +00:00
Zuul
0dd44b7675 Merge "Reduce the use of SQLAlchemy connection pooling" 2020-09-28 17:14:55 +00:00
Zuul
29b2d4284a Merge "Fix keystone-startup.sh" 2020-09-25 13:44:13 +00:00
Mark Goddard
cfb935a2a5 Add release note and upgrade docs for Ubuntu Focal 20.04
Change-Id: I439e8afc87d21aa8b7f381534c963e39f69c5d73
2020-09-25 14:27:11 +01:00
Zuul
07cbec194f Merge "Add support for encrypting Ironic API" 2020-09-25 11:47:49 +00:00
Michal Nasiadka
d78673e77f Fix keystone-startup.sh
keystone-startup.sh is using fernet_token_expiry instead of
fernet_key_rotation_interval - which effects in restart loop of keystone
containers - when restarted after 2-3 days.

Closes-Bug: #1895723

Change-Id: Ifff77af3d25d9dc659fff34f2ae3c6f2670df0f4
2020-09-25 10:19:44 +00:00
James Kirsch
7c2df87ded Add support for encrypting Ironic API
This patch introduces an optional backend encryption for the Ironic API
service. When used in conjunction with enabling TLS for service API
endpoints, network communcation will be encrypted end to end, from
client through HAProxy to the Ironic service.

Change-Id: I9edf7545c174ca8839ceaef877bb09f49ef2b451
Partially-Implements: blueprint add-ssl-internal-network
2020-09-24 10:09:13 -07:00
Zuul
d047b2a5e0 Merge "CI: add magnum scenario, also covering octavia" 2020-09-24 15:01:06 +00:00
Zuul
43a0a1ca3d Merge "Allow setting container_proxy per service" 2020-09-24 10:05:50 +00:00
Zuul
01a47b927d Merge "Bump minimum Ansible version to 2.9" 2020-09-24 09:40:15 +00:00
Pierre Riteau
c5c6d995d3 Bump minimum Ansible version to 2.9
Change-Id: I5befc72a4894d625ca352b27df9d3aa84a2f5b2c
2020-09-23 17:48:01 +02:00
Pierre Riteau
c81772024c Reduce the use of SQLAlchemy connection pooling
When the internal VIP is moved in the event of a failure of the active
controller, OpenStack services can become unresponsive as they try to
talk with MariaDB using connections from the SQLAlchemy pool.

It has been argued that OpenStack doesn't really need to use connection
pooling with MariaDB [1]. This commit reduces the use of connection
pooling via two configuration options:

- max_pool_size is set to 1 to allow only a single connection in the
  pool (it is not possible to disable connection pooling entirely via
  oslo.db, and max_pool_size = 0 means unlimited pool size)
- lower connection_recycle_time from the default of one hour to 10
  seconds, which means the single connection in the pool will be
  recreated regularly

These settings have shown better reactivity of the system in the event
of a failover.

[1] http://lists.openstack.org/pipermail/openstack-dev/2015-April/061808.html

Change-Id: Ib6a62d4428db9b95569314084090472870417f3d
Closes-Bug: #1896635
2020-09-22 17:54:45 +02:00
Radosław Piliszek
9451ac61a0 Change the default haproxy template to split variant
This allows for more config flexibility - e.g. running multiple
backends with a common frontend.
It is not possible with the 'listen' approach (which enforces
frontend).
Additionally, it does not really make sense to support two ways
to do the exact same thing as the process is automated and
'listen' is really meant for humans not willing to write separate
sections.
Hence this deprecates 'listen' variant.

At the moment both templates work exactly the same.
The real flexibility comes in following patches.

Note this is a building block for future work on letsencrypt
validator (which should offer backend and share frontend with
any service running off 80/443 - which would be only horizon
in the current default config), as well as any work towards
single port (that is single frontend) and multiple services
anchored at paths of it (which is the new recommended default).

Change-Id: I2362aaa3e8069fe146d42947b8dddf49376174b5
Partially-Implements: blueprint letsencrypt-https
2020-09-22 16:49:36 +02:00
Radosław Piliszek
a45ef7ccaa Fix default mode in haproxy_single_service_split
haproxy_single_service_listen (the default template) was already fine.

Closes-Bug: #1896591
TrivialFix

Change-Id: Id68fe19ea87565aa36fb74f2a2ca66cb951169f6
2020-09-22 11:58:38 +02:00
Michal Nasiadka
f257e79aff Allow setting container_proxy per service
Currently there is no option to set container_proxy only for one service
(e.g. magnum). This change adds this option.

Change-Id: Ia938ee660ebe8ce84321f721b6292b0b58a06e20
2020-09-22 10:54:40 +02:00
Zuul
cccfa8f378 Merge "Fix glance-tls-proxy logrotate and fluentd log permissions" 2020-09-21 09:04:53 +00:00
wu.chunyang
88de8feb7b replace internal with openstack_interface
replace harcode 'internal' with {{ openstack_interface }}

Change-Id: I885622967ffde2a7a1a08fedbde2eb0e4e330e22
2020-09-18 21:42:52 +08:00
Michal Nasiadka
aed9f84fe9 Fix glance-tls-proxy logrotate and fluentd log permissions
Change-Id: Iabc0115d3476a626df134cc70cb473bf6e72487e
Closes-Bug: #1890439
2020-09-18 08:51:36 +00:00
zhoulinhui
9834b0a37f Add the missing doc/requirements into running-tests.rst
tox command install dependencies from the ``requirements.txt``,
``test-requirements.txt`` and ``doc/requirements.txt`` files

Change-Id: I21ee208d2484615ee3f9d9eca7602275382c920b
2020-09-18 13:22:06 +08:00
zhoulinhui
6c1399d078 Update py37 to py38 for running-tests.rst
It should been done in https://review.opendev.org/#/c/752436/ but missing

Change-Id: Iae22e8d8133afecd7e897f82ca58afd6ea33e1c0
2020-09-18 00:57:13 +08:00
Zuul
91f5861769 Merge "Support neutron_sriov_physnet_mappings to support multiple devices" 2020-09-17 16:53:26 +00:00
Zuul
90e4795f50 Merge "Change mariadb image to mariadb-server" 2020-09-17 16:53:21 +00:00
Mark Goddard
d2326712d4 CI: add magnum scenario, also covering octavia
Adds a new Zuul job, kolla-ansible-centos8-source-magnum, for testing
deployment of Magnum, Octavia and associated services.

Change-Id: I61b293ba6bb52064ea98a73e2dff0023fa01a2a2
2020-09-17 15:01:53 +00:00
Zuul
09e667a0b6 Merge "[CI] Support building source images with in-review changes" 2020-09-17 14:54:08 +00:00
Zuul
756c80239e Merge "bump py37 to py38 in tox.ini" 2020-09-17 14:29:24 +00:00
Bharat Kunwar
c24a280bee Support neutron_sriov_physnet_mappings to support multiple devices
Change-Id: Ifcedcc72307732393a92a702a7567addc043b5b2
2020-09-17 13:26:30 +00:00
wu.chunyang
abff64bbda bump py37 to py38 in tox.ini
in 'victoria' cycle, we should test py38 by default.

Change-Id: Ic0bfb7f6a8b2123f609e0be0be9945bbf4d73520
2020-09-17 19:31:33 +08: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
Zuul
127c3072b4 Merge "replace openstackclient with ansible module" 2020-09-17 11:03:28 +00:00
Zuul
fbef9b36d6 Merge "Performance: use a single config file for fluentd" 2020-09-17 11:03:26 +00:00
Zuul
bc388d5657 Merge "Performance: use a single config file for logrotate" 2020-09-17 10:55:01 +00:00
Michal Nasiadka
a7941e2498 Change mariadb image to mariadb-server
Since change [1] merged we have two mariadb images (mariadb and mariadb-server)
Let's use mariadb-server in kolla-ansible, so we can deprecate mariadb image.

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

Change-Id: I4ae2ccaaba8fb516f469f4ce8628e8c61de03f0d
2020-09-17 10:42:21 +00:00
wu.chunyang
0bb16b52f6 replace openstackclient with ansible module
replace 'openstack aggregate create' command with ansible
os_nova_host_aggregate module and remove TODO

Change-Id: I727f9e4acc9e22f59735c65190ac38cc75e5f781
2020-09-17 11:41:27 +08:00
Zuul
b49c86848d Merge "[CI] Ensure network is set for Zun" 2020-09-14 12:18:27 +00:00
Radosław Piliszek
7a3072e94c [CI] Ensure network is set for Zun
If we don't set it, then Zun chooses one randomly (the first one
from Neutron).
This may break if it is a network that is not available on
target hosts, e.g. external via L3 agent router.

Since capsules do not support nets yet [1], this patch ensures
desired network creation order in init-runonce instead.

[1] https://bugs.launchpad.net/zun/+bug/1895263

Change-Id: Iaa113dcfb826164a2772d2c91d34ec0236be0817
2020-09-12 12:06:34 +02:00
Pierre Riteau
3d30624cc1 Revert "Add support for encrypting Ironic API"
This reverts commit 316b0496b3dd7a9b33692b171391d9d17d535116, because
ironic-inspector is not ready to use WSGI. It would need to be split
into two separate containers, one running ironic-inspector-api-wsgi and
another running ironic-inspector-conductor.

Change-Id: I7e6c59dc8ad4fdee0cc6d96313fe66bc1d001bf7
2020-09-10 15:26:06 +00:00
Radosław Piliszek
e94f97399b [CI] Test Ironic Inspector API
Per the recent Kayobe brekage due to TLS support in Ironic [1],
let's test Ironic Inspector API as well.

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

Change-Id: I7ccf0c4286f8907bc2fa2eabc41ec2876c9815a9
2020-09-10 15:24:36 +00:00
Pierre Riteau
8a8c221286 Fix test-ironic.sh not catching errors
Change-Id: Ia4626479e092be8b033bcd4e75e78a33167423d3
2020-09-10 17:11:57 +02:00