- Oct 05, 2020
-
-
Michal Nasiadka authored
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
-
- Sep 18, 2020
-
-
wu.chunyang authored
replace harcode 'internal' with {{ openstack_interface }} Change-Id: I885622967ffde2a7a1a08fedbde2eb0e4e330e22
-
- Aug 28, 2020
-
-
Mark Goddard authored
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
-
Mark Goddard authored
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
-
- Aug 22, 2020
-
-
wu.chunyang authored
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
-
- Jul 28, 2020
-
-
Mark Goddard authored
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 check-containers.yml include, the included file only has a single task, so the overhead of skipping this task will not be greater than the overhead of the task import. It therefore makes sense to switch to use import_tasks there. Partially-Implements: blueprint performance-improvements Change-Id: I65d911670649960708b9f6a4c110d1a7df1ad8f7
-
- Jul 17, 2020
-
-
Radosław Piliszek authored
This makes use of udev rules to make it smarter and override host-level packages settings. Additionally, this masks Ubuntu-only service that is another pain point in terms of /dev/kvm permissions. Fingers crossed for no further surprises. Change-Id: I61235b51e2e1325b8a9b4f85bf634f663c7ec3cc Closes-bug: #1681461
-
- Jul 08, 2020
-
-
Mark Goddard authored
The nova-cell role sets the following sysctls on compute hosts, which require the br_netfilter kernel module to be loaded: net.bridge.bridge-nf-call-iptables net.bridge.bridge-nf-call-ip6tables If it is not loaded, then we see the following errors: Failed to reload sysctl: sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory Loading the br_netfilter module resolves this issue. Typically we do not see this since installing Docker and configuring it to manage iptables rules causes the br_netfilter module to be loaded. There are good reasons [1] to disable Docker's iptables management however, in which case we are likely to hit this issue. This change loads the br_netfilter module in the nova-cell role for compute hosts. [1] https://bugs.launchpad.net/kolla-ansible/+bug/1849275 Co-Authored-By:
Dincer Celik <hello@dincercelik.com> Change-Id: Id52668ba8dab460ad4c33fad430fc8611e70825e
-
- Jun 16, 2020
-
-
gugug authored
The double quotation is not necessary for include_tasks, this ps to cleanup it. Change-Id: I0701035d185fdf19286cced7fe51fc277511e4c1
-
- Jun 09, 2020
-
-
Christian Berendt authored
Change-Id: Iea3f4f3d2e5c6040c1e0bc7bfae8719cc7d8ac55
-
- Jun 07, 2020
-
-
wu.chunyang authored
non-root user has no permission to create directory under /opt directory. use "become: true" to resolve it. Change-Id: I155efc4b1e0691da0aaf6ef19ca709e9dc2d9168
-
- Apr 16, 2020
-
-
Michal Nasiadka authored
Change-Id: I500cc8800c412bc0e95edb15babad5c1189e6ee4
-
Mark Goddard authored
If using a separate message queue for nova notifications, i.e. nova_cell_notify_transport_url is different from nova_cell_rpc_transport_url, then Kolla Ansible will unnecessarily update the cell. This should not cause any issues since the URL is taken from nova.conf. This change fixes the comparison to use the correct URL. Change-Id: I5f0e30957bfd70295f2c22c86349ebbb4c1fb155 Closes-Bug: #1873255
-
- Apr 14, 2020
-
-
Mark Goddard authored
Deploy a small cloud. Add one host to the compute group in the inventory, and scale out: $ kolla-ansible deploy --limit <new compute host> The command succeeds, but creating an instance fails with the following: Host 'compute0' is not mapped to any cell This happens because we only discover computes on the first host in the cell's nova conductor group. If that host is not in the specified limit, the discovery will not happen. This change fixes the issue by running compute discovery when any ironic or virtualised compute hosts are in the play batch, and delegating it to a conductor. Change-Id: Ie984806240d147add825ffa8446ae6ff55ca4814 Closes-Bug: #1869371
-
James Kirsch authored
Refactor service configuration to use the copy certificates task. This reduces code duplication and simplifies implementing encrypting backend HAProxy traffic for individual services. Change-Id: I0474324b60a5f792ef5210ab336639edf7a8cd9e
-
- Apr 08, 2020
-
-
Mark Goddard authored
This is a follow up to I001defc75d1f1e6caa9b1e11246abc6ce17c775b. To maintain previous behaviour, and ensure we catch any host configuration changes, we should perform host configuration during upgrade. Change-Id: I79fcbf1efb02b7187406d3c3fccea6f200bcea69 Related-Bug: #1860161
-
- Apr 02, 2020
-
-
Mark Goddard authored
Currently there are a few services that perform host configuration tasks. This is done in config.yml. This means that these changes are performed during 'kolla-ansible genconfig', when we might expect not to be making any changes to the remote system. This change separates out these host configuration tasks into a config-host.yml file, which is included directly from deploy.yml. One change in behaviour is that this prevents these tasks from running during an upgrade or genconfig. This is probably what we want, but we should be careful when any of these host configuration tasks are changed, to ensure they are applied during an upgrade if necessary. Change-Id: I001defc75d1f1e6caa9b1e11246abc6ce17c775b Closes-Bug: #1860161
-
- Mar 10, 2020
-
-
yj.bai authored
When change the cert file in /etc/kolla/certificate/. The certificate in the container has not changed. So I think can use kolla-ansible deploy when certificate is changed. restart <container> Partially-Implements: blueprint custom-cacerts Change-Id: Iaac6f37e85ffdc0352e8062ae5049cc9a6b3db26 Signed-off-by:
yj.bai <bai.yongjun@99cloud.net>
-
- Mar 02, 2020
-
-
Radosław Piliszek authored
Both include_role and import_role expect role's name to be given via "name" param instead of "role". This worked but caused errors with ansible-lint. See: https://review.opendev.org/694779 Change-Id: I388d4ae27111e430d38df1abcb6c6127d90a06e0
-
- Feb 28, 2020
-
-
Mark Goddard authored
We assume that all groups are present in the inventory, and quite obtuse errors can result if any are not. This change adds a precheck that checks for the presence of all expected groups in the inventory for each service. It also introduces a common service-precheck role that we can use for other common prechecks. Change-Id: Ia0af1e7df4fff7f07cd6530e5b017db8fba530b3 Partially-Implements: blueprint improve-prechecks
-
- Feb 11, 2020
-
-
Michal Nasiadka authored
Kolla-Ansible Ceph deployment mechanism has been deprecated in Train [1]. This change removes the Ansible code and associated CI jobs. [1]: https://review.opendev.org/669214 Change-Id: Ie2167f02ad2f525d3b0f553e2c047516acf55bc2
-
- Jan 28, 2020
-
-
James Kirsch authored
When kolla_copy_ca_into_containers is set to "yes", the Certificate Authority in /etc/kolla/certificates will be copied into service containers to enable trust for that CA. This is especially useful when the CA is self signed, and would not be trusted by default. Partially-Implements: blueprint custom-cacerts Change-Id: I4368f8994147580460ebe7533850cf63a419d0b4
-
- Jan 22, 2020
-
-
Michal Nasiadka authored
Introduce user modifiable variables instead of fixed-names of Ceph keyring files for external Ceph functionality. Change-Id: I1a33b3f9d6eca5babf53b91187461e43aef865ce
-
- Jan 14, 2020
-
-
Michal Nasiadka authored
Since [1] nova-compute uses rbd python library instead of libvirt to cleanup volumes and get pool info - so it requires cinder keyring on filesystem. In external ceph case it is often that nova key does not exist (is simply a copied cinder key) and the rbd user is set to cinder - therefore the earlier mentioned operations will fail due to a missing keyring on the filesystem. [1]: https://review.opendev.org/#/c/668564/ Change-Id: Idef21dc5f7e9ff512bc8920630a3de61a1e69eee Backport: train Closes-Bug: #1859408
-
- Jan 13, 2020
-
-
Mark Goddard authored
Co-Authored-By:
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Change-Id: I65d9604d8522f0a60fbfeea718a63866410768b6
-
- Nov 25, 2019
-
-
Andrei Nistor authored
When using external ceph without nova integration, kolla-ansible fails because 'nova_cephx_raw_key' is undefined. This patch fixes the issue by applying the 'default' filter to prevent failure on undefined. The change in behavior was introduced by [1]. [1] https://review.opendev.org/689753 commit 44709f41 Change-Id: I2fdca1a6a78e78623733a387a2d8c7e29d449083 Closes-Bug: #1853862 Co-Authored-By:
Mark Goddard <mark@stackhpc.com>
-
- Nov 22, 2019
-
-
Michal Nasiadka authored
As part of the effort to implement Ansible code linting in CI (using ansible-lint) - we need to implement recommendations from ansible-lint output [1]. One of them is to stop using local_action in favor of delegate_to - to increase readability and and match the style of typical ansible tasks. [1]: https://review.opendev.org/694779/ Partially implements: blueprint ansible-lint Change-Id: I46c259ddad5a6aaf9c7301e6c44cd8a1d5c457d3
-
- Oct 21, 2019
-
-
Jan Horstmann authored
Cephx keys are not picked up by "local_action: shell cat [...]" when using ansible-vault encrypted keyrings. This commit changes the logic to use the file lookup plugin and extracts the key using jinja2 regex filters. The raw keys are then set as ansible facts. Closes-Bug: 1849127 Change-Id: Iacb1e42307c4de6a7a379e8cf279e073995fd5d3
-
- Oct 16, 2019
-
-
Doug Szumski authored
This patch adds initial support for deploying multiple Nova cells. Splitting a nova-cell role out from the Nova role allows a more granular approach to deploying and configuring Nova services. A new enable_cells flag has been added that enables the support of multiple cells via the introduction of a super conductor in addition to cell-specific conductors. When this flag is not set (the default), nova is configured in the same manner as before - with a single conductor. The nova role now deploys the global services: * nova-api * nova-scheduler * nova-super-conductor (if enable_cells is true) The nova-cell role handles services specific to a cell: * nova-compute * nova-compute-ironic * nova-conductor * nova-libvirt * nova-novncproxy * nova-serialproxy * nova-spicehtml5proxy * nova-ssh This patch does not support using a single cell controller for managing more than one cell. Support for sharing a cell controller will be added in a future patch. This patch should be backwards compatible and is tested by existing CI jobs. A new CI job has been added that tests a multi-cell environment. ceph-mon has been removed from the play hosts list as it is not necessary - delegate_to does not require the host to be in the play. Documentation will be added in a separate patch. Partially Implements: blueprint support-nova-cells Co-Authored-By:
Mark Goddard <mark@stackhpc.com> Change-Id: I810aad7d49db3f5a7fd9a2f0f746fd912fe03917
-
- Oct 01, 2019
-
-
Doug Szumski authored
The idea is to factor out a role for deploying Nova related services to cells. Since all deployments use cells, this role can be used in both regular deployments which have just cell0 and cell1, and deployments with many cells. Partially Implements: blueprint support-nova-cells Change-Id: Ib1f36ec0a773c384f2c1eac1843782a3e766045a
-