11674 Commits

Author SHA1 Message Date
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
Michal Nasiadka
8464046eac Fix bifrost deployment after removal of env-vars
Change-Id: I1318a5ea7f746012cc3055d4c03fd0508df921ff
2020-08-28 10:19:13 +02:00
Zuul
fa48cc7eaf Merge "Use iSCSI multipath for libvirt" 2020-08-26 13:57:47 +00:00
Zuul
68471ada13 Merge "Update conf for magnum" 2020-08-26 13:37:02 +00:00
Zuul
a8eb112838 Merge "Fix tz handling for newly introduced services" 2020-08-26 13:35:37 +00:00
Zuul
50999f4af3 Merge "Drop option http-tunnel for neutron-server" 2020-08-26 13:22:11 +00:00
Mark Goddard
98e8a43668 Drop support for /etc/modules
We no longer support any OS distros that use /etc/modules.

Change-Id: Ic41cad64ed0479a0cef7321aeed191fe06a30e8f
2020-08-25 20:20:57 +01:00
Zuul
36c388bb5e Merge "add region name for tasks" 2020-08-25 09:59:00 +00:00
Zuul
d6b7f648de Merge "Disable arp_responder option for LinuxBridge agent" 2020-08-25 09:58:56 +00:00
wu.chunyang
60dc012817 add region name for tasks
when use multiple regions, those tasks always get a wrong endpoint.

Change-Id: Ie164687b2ffd80cedf8a00e7f705b73fccd416e2
2020-08-25 11:25:41 +08:00
Zuul
3f54490781 Merge "Fix fernet bootstrap and key distribution - follow up" 2020-08-24 19:55:22 +00:00
Nick Jones
e721c6ae0b
Disable arp_responder option for LinuxBridge agent
Enabling both l2_population and arp_responder for LinuxBridge can cause
problems in some configurations [0].  This commit removes the explicit
'true', reverting it to the default which is 'False'.

Closes-Bug: #1892776

[0] https://bugs.launchpad.net/neutron/+bug/1661717

Change-Id: Ia9445a651fd7a082835a858964bcb9e8e325338d
Signed-off-by: Nick Jones <nick@dischord.org>
2020-08-24 20:34:53 +01:00
Zuul
72fd444e31 Merge "remove obsolete configurations" 2020-08-24 11:22:32 +00:00
Zuul
0d63e380b4 Merge "Drop python-path" 2020-08-24 11:03:08 +00:00
Zuul
02ba8bb847 Merge "Prevent overwriting existing Keystone Fernet keys" 2020-08-24 10:59:13 +00:00
Zuul
42f57166d4 Merge "replace os-tenant-name with os-project-name in openstackclient" 2020-08-24 10:27:40 +00:00
Zuul
4bde4f4349 Merge "remove useless files from destroy role" 2020-08-24 10:27:38 +00:00
Zuul
d4ef57130c Merge "change the timezone precheck task's condition" 2020-08-24 10:27:36 +00:00
Michal Nasiadka
793a37e2ff Fix fernet bootstrap and key distribution - follow up
As per post-merge comments in [0] - following up.

[0]: https://review.opendev.org/#/c/698710

Change-Id: I92b3de7fb792f1fffe298ffaf6bbafab8e640742
2020-08-24 10:43:47 +01:00
Radosław Piliszek
7c42204a65 Drop option http-tunnel for neutron-server
Change-Id: I6910bcdb122e42337d7938405f792fa0fe32e49b
Closes-Bug: #1892686
2020-08-24 10:01:27 +02:00
Radosław Piliszek
9c38a0c77b Drop python-path
It was found to be useless in [1].

It is one of distro_python_version usages.

Note Freezer and Horizon still use python_path (and hence
distro_python_version) for different purposes.

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

Change-Id: I6d6d9fdf4c28cb2b686d548955108c994b685bb1
Partially-Implements: blueprint drop-distro-python-version
2020-08-24 07:38:21 +00:00
wu.chunyang
8c208fb192 remove useless files from destroy role
precheck.yml and check.yml not used by destroy role.

Change-Id: Ic3c0b52dba15308a605c30abdd6d63d4dea5f25b
2020-08-22 23:21:00 +08:00
wu.chunyang
817cf80702 replace os-tenant-name with os-project-name in openstackclient
openstackclient doesn't supoort os-temant-name parameter
use os-project-name instead of os-tenant-name

https://docs.openstack.org/python-openstackclient/ussuri/cli/man/openstack.html

Change-Id: Ibf17424c49118b4c3b7e621e04b43c8cdcf308a4
2020-08-22 23:02:30 +08:00
wu.chunyang
0c3d988530 change the timezone precheck task's condition
this ps[0] uses new condition for timezone mounting
but we missed prechecks condition.

[0] https://review.opendev.org/#/c/745505/

Change-Id: I79323a392e171bebe36d06c19d34e458e05e194b
Closes-Bug: #1882553
2020-08-22 21:45:18 +08:00
Zuul
e869055436 Merge "Add the missing hosts for vitrage" 2020-08-21 19:00:12 +00:00
Zuul
ac5238955b Merge "Add workaround for keystonemiddleware/neutron memcached issue" 2020-08-21 18:47:47 +00:00
Zuul
80b895a45b Merge "Fix kolla-ansible not reflect environment changed" 2020-08-21 18:04:38 +00:00
Zuul
e53dae8eff Merge "Add cinder auth config to nova-cell nova.conf.j2" 2020-08-21 15:45:02 +00:00
Zuul
c962f5c0e4 Merge "Delete the /var/log/kolla directory should use sudo" 2020-08-21 15:45:00 +00:00
zhoulinhui
a637d6c67d Add the missing hosts for vitrage
refer to https://github.com/openstack/kolla-ansible/blob/master/ansible/inventory/multinode#L728

Change-Id: Ib6cd78cb2058a35f15b5affb98e0f63805b0edf3
2020-08-21 15:20:39 +00:00
Michal Arbet
ed2a2704d1 Fix kolla-ansible not reflect environment changed
Neutron's containers should use ENV from kolla_docker module's
environment parameter (defined in roles/neutron/defaults/main.yml)
after reconfigure, not only when deploying.

Currently this is working only for deploy, not for reconfigure.

How to test it ?
- Deploy neutron with "neutron_legacy_iptables" set to yes/no.
- Change value of "neutron_legacy_iptables" to opposite value as before.
- Reconfigure neutron.

Current result :
 - "KOLLA_LEGACY_IPTABLES" in container's ENV is not changed

Expected result :
 - "KOLLA_LEGACY_IPTABLES:" in container's ENV should be changed

This patch is fixing this behaviour by adding missing
environment parameter to neutron's "Check neutron containers" task.

Change-Id: Ibfbe2d4f49261fa766acbb6ff45da9994118bda8
Closes-Bug: #1853776
2020-08-21 14:51:41 +00:00
Radosław Piliszek
ea91edcbae [TrivialFix] Clean a recent comment
Change-Id: Ic58a27e517004768433a1e793d4d8e90e2c3383a
2020-08-21 12:31:43 +02:00
Michal Nasiadka
88c53da22f Fix ansible-lint after upgrade to 4.3.1
Change-Id: I3a31c74608b48919c1563bac88313a8c4219dedc
Co-Authored-By: Radosław Piliszek <radoslaw.piliszek@gmail.com>
2020-08-21 10:06:06 +00:00
likui
8d458e95a4 Delete the /var/log/kolla directory should use sudo
Change-Id: Iff699b6dd9417e2e72618263641cbfa6ccb6e585
Related-Bug: #1892341
2020-08-20 18:00:31 +08:00
Zuul
393888a1cb Merge "Fix ownership and permissions of admin-openrc.sh" 2020-08-19 16:46:53 +00:00
wu.chunyang
3c312a4d9e remove obsolete configurations
remove cluster_interface from project.
update storage_interface docs.and remove
storage_interface_address variable

Change-Id: I3f811db988234f94b5ed0cc9d24233f70784f58d
2020-08-20 00:06:49 +08:00
Pierre Riteau
5a52d8e4a0 Add workaround for keystonemiddleware/neutron memcached issue
There is an issue where keystonemiddleware connections to memcached from
neutron-server grow beyond configured values [1], eventually reaching
the maximum number of connections accepted by memcached servers. Other
services do not appear to be affected by this issue.

A workaround is to use the advanced memcached pool. Despite its
documentation claiming to only work with Python 2, it appears to work
fine on Python 3.

[1] https://bugs.launchpad.net/keystonemiddleware/+bug/1883659

Change-Id: Ifbbc2022839cbc575848d830600241c61603c80b
Closes-Bug: #1892210
2020-08-19 17:56:30 +02:00
Zuul
db6a9d61ec Merge "CI: enable Ansible SSH pipelining" 2020-08-19 14:38:47 +00:00
Jegor van Opdorp
de16013bd6 Add cinder auth config to nova-cell nova.conf.j2
Fixes an issue during deleting evacuated instances with encrypted block
devices.

Change-Id: I9b9b689ef7e1e41b597e2c5f6b96f3ed011193c5
Closes-Bug: 1891462
Related-Bug: 1850279
2020-08-19 07:25:20 +00:00
Florian LEDUC
56710de59d Use iSCSI multipath for libvirt
* Multipath daemon allows to reach block devices
via multiple paths for better resiliency and performance.
Multipathd periodically checks the failed iscsi paths
and maintains a list of valid paths. Libvirt can use more
than one iSCSI path when option volume_use_multipath is set
and when multipathd enabled.

Change-Id: I54629656803c4989f7673e8c69d2a820609b5960
Implements: blueprint nova-libvirt-multipath-iscsi
2020-08-19 07:24:51 +00:00
likui
16f97867a3 Fix ownership and permissions of admin-openrc.sh
Previously the post-deploy.yml playbook was executed with become: true,
and the admin-openrc.sh file templated without an owner or mode
specified. This resulted in admin-openrc.sh being owned by root with 644
permissions.

This change creates the file without become: true, and explicitly sets
the owner to the user executing Ansible, and the mode to 600.

Co-Authored-By: Mark Goddard <mark@stackhpc.com>

Closes-Bug: #1891704

Change-Id: Iadf43383a7f2bf377d4666a55a38d92bd70711aa
2020-08-19 07:24:22 +00:00
Rafael Weingärtner
f425c0678f Standardize use and construction of endpoint URLs
The goal for this push request is to normalize the construction and use
 of internal, external, and admin URLs. While extending Kolla-ansible
 to enable a more flexible method to manage external URLs, we noticed
 that the same URL was constructed multiple times in different parts
 of the code. This can make it difficult for people that want to work
 with these URLs and create inconsistencies in a large code base with
 time. Therefore, we are proposing here the use of
 "single Kolla-ansible variable" per endpoint URL, which facilitates
 for people that are interested in overriding/extending these URLs.

As an example, we extended Kolla-ansible to facilitate the "override"
of public (external) URLs with the following standard
"<component/serviceName>.<companyBaseUrl>".
Therefore, the "NAT/redirect" in the SSL termination system (HAproxy,
HTTPD or some other) is done via the service name, and not by the port.
This allows operators to easily and automatically create more friendly
 URL names. To develop this feature, we first applied this patch that
 we are sending now to the community. We did that to reduce the surface
  of changes in Kolla-ansible.

Another example is the integration of Kolla-ansible and Consul, which
we also implemented internally, and also requires URLs changes.
Therefore, this PR is essential to reduce code duplicity, and to
facility users/developers to work/customize the services URLs.

Change-Id: I73d483e01476e779a5155b2e18dd5ea25f514e93
Signed-off-by: Rafael Weingärtner <rafael@apache.org>
2020-08-19 07:22:17 +00:00
Radosław Piliszek
479fb85d0d Fix tz handling for newly introduced services
We missed to ensure new neutron switch use the new condition for
timezone file mounting.

Change-Id: I838e526b930d5276d3ce24f5188262af7eb33280
Closes-Bug: #1882553
2020-08-19 07:21:05 +00:00
Radosław Piliszek
a90aa3e443 Skip broken ansible-lint
See [1].

[1] https://github.com/ansible/ansible-lint/issues/969

Change-Id: I5ac8f20a2157d880b63a4c70bf6c782d06014f41
2020-08-19 09:20:11 +02:00
Zuul
ad50147194 Merge "Deploy neutron-mlnx-agent and neutron-eswitchd containers" 2020-08-17 19:02:45 +00:00