11870 Commits

Author SHA1 Message Date
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
Radosław Piliszek
bce266201b Allow to skip and unset sysctl vars
via KOLLA_SKIP and KOLLA_UNSET

Change-Id: I7d9af21c2dd8c303066eb1ee4dff7a72bca24283
Related-Bug: #1837551
2020-09-21 13:13:58 +02:00
Radosław Piliszek
6be51fa67a Add support for changing sysctl.conf path
via kolla_sysctl_conf_path

Change-Id: I09b20fa008a7fecedcb599b4792f24215179b853
2020-09-21 11:47:05 +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
1f71b5f0d9 docs: add scaffolding for redirects
This allows us to move pages around without breaking links.

Change-Id: Id2be1e6aba9fba376cf217b558ca922d8db1da28
2020-09-17 17:47:55 +01: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
zhoulinhui
010a1f9219 Stop install unnecessary packages when run tox -e releasenotes
requirements.txt is unnecessary when run tox -e releasenotes,
releasenotes relative stuffs is in doc/requirements.txt, this ps to
remove the requirements.txt from tox.ini and reuse [docs] deps

Change-Id: Ia6c51f9ffe1257f16e9bd55fe21cc832b634cbf3
2020-09-10 09:43:38 +00:00
Radosław Piliszek
731d6b1acf [CI] Support building source images with in-review changes
The Kolla-Ansible part.

This switches Kolla-Ansible to use the kolla-build-config role
instead of generating config locally.

Depends-On: https://review.opendev.org/607159
Change-Id: I859acbe4f84ccbdc53764574a58e6f0fab4094a3
2020-09-10 09:39:51 +00:00
Radosław Piliszek
8a8c919066 Fix l-c testing for Ubuntu Focal (py38)
Change-Id: I5609812d4f92d88b04bc887886d1ba08893505d9
Story: 2007865
Task: 40199
Closes-Bug: #1886298
2020-09-10 09:56:01 +02:00
Zuul
ec34132b25 Merge "Synchronize REST_API_REQUIRED_SETTINGS with Horizon" 2020-09-09 09:17:35 +00:00
Zuul
f10b5336cc Merge "Set neutron-ovn-metadata-agent metadata_workers to 2" 2020-09-09 09:03:59 +00:00
Zuul
ca26fb4985 Merge "[CI] Remove setup_gate.sh symlink" 2020-09-08 11:19:36 +00:00
Zuul
b9fd7d8e92 Merge "Add support for encrypting Ironic API" 2020-09-08 08:50:50 +00:00
Radosław Piliszek
b21c07ac2f [CI] Remove setup_gate.sh symlink
This is confusing as it is not meant to be used by users.
Also, various tools show duplicated matches due to both locations
containing the exact same content.

Change-Id: I2debe121f64954e57788270d3258775f29f1cbb0
2020-09-08 09:45:50 +02:00
Zuul
f35201f5d1 Merge "Remove six from lower-constraints.txt" 2020-09-07 14:34:08 +00:00
Michal Nasiadka
dcc417dbec Set neutron-ovn-metadata-agent metadata_workers to 2
As per [1] and [2] - it solves a problem, where neutron-ovn-metadata-agent will
spawn high number of workers (defaults to half number of CPUs).

[1]: http://lists.openstack.org/pipermail/openstack-discuss/2020-September/016960.html
[2]: https://bugs.launchpad.net/neutron/+bug/1893656

Change-Id: Id69f9399fe76ff7c4e2e17b5ab5ec7df1a01c5c9
2020-09-07 10:22:57 +00:00
Radosław Piliszek
2a4fb438fe Make no_proxy handling more robust
This fixes an issue with Bifrost that setting
kolla_internal_vip_address became mandatory.

Additionally, it does a better job ensuring the syntax is
correct when any of the entries is missing.

Change-Id: Ie86a345365ca3766aebd8a29ce329b370e61af6c
Closes-Bug: #1894199
2020-09-04 10:20:27 +00:00
likui
1372bce7da Remove six from lower-constraints.txt
The Python 2.7 Support has been dropped since Ussuri.

Change-Id: I9927a83748a4b13c57bcadd081c60ea9609ced55
2020-09-03 16:21:32 +08:00
Zuul
58e886b370 Merge "Fix external mariadb documentation for database_user" 2020-09-02 19:34:00 +00:00
Mark Goddard
de2c124a4f Fix external mariadb documentation for database_user
The variable was documented as database_username, but should be database_user.

Change-Id: Ia1fd8f9a9336c26520041fa2138c763a8c382bca
2020-09-02 09:30:51 +01:00
Pierre Riteau
295f8d1b43 Remove unused configuration for prometheus-openstack-exporter
The Prometheus OpenStack exporter was needlessly configured to use the
prometheus Docker volume and change permissions of /data, which does
not exist in the container image.

This must have been copy-pasted from existing Prometheus code.

Change-Id: I96017c17e68ca7a00a2d5ac41f2f43ef87694514
2020-09-01 14:15:52 +02:00
Zuul
3316daad83 Merge "Performance: use import_tasks for register and bootstrap" 2020-08-31 11:30:59 +00:00
James Kirsch
316b0496b3 Add support for encrypting Ironic API
This patch introduces an optional backend encryption for the Ironic API
and Ironic Inspector 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: I3e82c8ec112e53f907e89fea0c8c849072dcf957
Partially-Implements: blueprint add-ssl-internal-network
Depends-On: https://review.opendev.org/#/c/742776/
2020-08-29 15:25:49 +00:00
Mark Goddard
496904d650 Performance: use import_tasks for register and bootstrap
Including tasks has a performance penalty when compared with importing
tasks. If the include has a condition associated with it, then the
overhead of the include may be lower than the overhead of skipping all
imported tasks. In the case of the register.yml and bootstrap.yml
includes, all of the tasks in the included file use run_once: True.
The run_once flag improves performance at scale drastically, so
importing these tasks unconditionally will have a lower overhead than a
conditional include task.  It therefore makes sense to switch to use
import_tasks there.

See [1] for benchmarks of run_once.

[1] https://github.com/stackhpc/ansible-scaling/blob/master/doc/run-once.md

Change-Id: Ic67631ca3ea3fb2081a6f8978e85b1522522d40d
Partially-Implements: blueprint performance-improvements
2020-08-28 16:31:04 +00:00
Mark Goddard
3c02c966cb Performance: remove one include_tasks in nova-cell
Including tasks has a performance penalty when compared with importing
tasks. The nova-cell role uses include_tasks twice when generating
certificates and keys for libvirt TLS. While a dynamic include makes
sense here for a non-default feature, we can use one include rather than
two with the same effect. Since this task runs against compute nodes the
overhead is significant.

See [1] for benchmarks of include_tasks and import_tasks.

[1] https://github.com/stackhpc/ansible-scaling/blob/master/doc/include-and-import.md

Partially-Implements: blueprint performance-improvements

Change-Id: Ic687d2f7d4625aede386e576ebb174da72142756
2020-08-28 16:16:56 +00:00
Mark Goddard
b685ac44e0 Performance: replace unconditional include_tasks with import_tasks
Including tasks has a performance penalty when compared with importing
tasks. If the include has a condition associated with it, then the
overhead of the include may be lower than the overhead of skipping all
imported tasks. For unconditionally included tasks, switching to
import_tasks provides a clear benefit.

Benchmarking of include vs. import is available at [1].

This change switches from include_tasks to import_tasks where there is
no condition applied to the include.

[1] https://github.com/stackhpc/ansible-scaling/blob/master/doc/include-and-import.md#task-include-and-import

Partially-Implements: blueprint performance-improvements

Change-Id: Ia45af4a198e422773d9f009c7f7b2e32ce9e3b97
2020-08-28 16:12:03 +00:00
Zuul
48da350000 Merge "Drop support for /etc/modules" 2020-08-28 15:39:15 +00:00