- May 15, 2020
-
-
Jeffrey Zhang authored
The RabbitMQ 'openstack' user has the 'administrator' tag assigned via the RabbitMQ definitions.json file. Since the Train release, the nova-cell role also configures the RabbitMQ user, but omits the tag. This causes the tag to be removed from the user, which prevents it from accessing the management UI and API. This change adds support for configuring user tags to the service-rabbitmq role, and sets the administrator tag by default. Change-Id: I7a5d6fe324dd133e0929804d431583e5b5c1853d Closes-Bug: #1875786
-
- May 06, 2020
-
-
Radosław Piliszek authored
Nova cells support introduced a slight regression that triggers odd behaviour when we tried switching to Apache (httpd) [1]. Bootstrap no longer applied permissions recursively to all log files, creating a discrepancy between normal and bootstrap runs and also Nova and other services such as Cinder (regarding bootstrap logging). This patch fixes it. Backport to Train. Not creating reno nor a bug record because it does not affect any current standard usage in any currently known way. Note this only really hides (standardizes?) the global issue that we don't control file permissions on newly created files too well. [1] https://review.opendev.org/724793 Change-Id: I35e9924ccede5edd2e1307043379aba944725143 Needed-By: https://review.opendev.org/724793
-
- 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 15, 2020
-
-
Michal Nasiadka authored
Change-Id: Ibbb962b035b695eec022566cf9f7d6c200480c45
-
- 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 09, 2020
-
-
Dincer Celik authored
Some services look for /etc/timezone on Debian/Ubuntu, so we should introduce it to the containers. In addition, added prechecks for /etc/localtime and /etc/timezone. Closes-Bug: #1821592 Change-Id: I9fef14643d1bcc7eee9547eb87fa1fb436d8a6b3
-
John Garbutt authored
In kolla ansible we typically configure services to communicate via IP addresses rather than hostnames. One accidental exception to this was live migration, which used the hostname of the destination even when not required (i.e. TLS not being used for libvirt). To make such hostnames work, k-a adds entries to /etc/hosts in the bootstrap-servers command. Alternatively users may provide DNS. One problem with using /etc/hosts is that, if a new compute host is added to the cloud, or an IP address is changed, that will not be reflected in the /etc/hosts file of other hosts. This would cause live migration to the new host from an old host to fail, as the name cannot be resolved. The workaround for this was to update the /etc/hosts file (perhaps via bootstrap-servers) on all hosts after adding new compute hosts. Then the nova_libvirt container had to be restarted to pick up the change. Similarly, if user has overridden the migration_interface, the used hostname could point to a wrong address on which libvirt would not listen. This change adds the live_migration_inbound_addr option to nova.conf. If TLS is not in use for libvirt, this will be set to the IP address of the host on the migration network. If TLS is enabled for libvirt, live_migration_inbound_addr will be set to migration_hostname, since certificates will typically reference the hostname rather than the host's IP. With libvirt TLS enabled, DNS is recommended to avoid the /etc/hosts issue which is likely the case in production deployments. Change-Id: I0201b46a9fbab21433a9f53685131aeb461543a8 Closes-Bug: #1729566
-
- 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 03, 2020
-
-
Mark Goddard authored
The use of default(omit) is for module parameters, not templates. We define a default value for openstack_cacert, so it should never be undefined anyway. Change-Id: Idfa73097ca168c76559dc4f3aa8bb30b7113ab28
-
- 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 31, 2020
-
-
Ning Yao authored
ceph.conf is loaded by qemu, not libvirt. Since qemu runs as the nova user, ceph.conf owned by root causes a permission error. The logs in /var/log/libvirt/qemu/instance-*.log reveal the error. This change fixes the issue by changing the ownership of ceph.conf in nova-libvirt to the nova user. Closes-Bug: #1861513 Change-Id: I1881f51a6c8508f0f186a5623443343dc1df41d4 Signed-off-by:
Ning Yao <yaoning@unitedstack.com>
-
- Jan 30, 2020
-
-
Mark Goddard authored
In dev mode currently the python source is mounted under python2.7 site-packages. This change fixes this to use the distro_python_version variable to ensure dev mode works with Python 3 images. Change-Id: Ieae3778a02f1b79023b4f1c20eff27b37f481077 Partially-Implements: blueprint python-3
-
- Jan 29, 2020
-
-
Michal Nasiadka authored
To make the configuration easier for the user, and to allow non-standard ceph authentication ids - introduce ceph_*_user variables. Change-Id: I24e01c43c826b62b6748d93a498f4b7d8ce9e309
-
- 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
-
-
James Kirsch authored
Include a reference to the globally configured Certificate Authority to all services. Services use the CA to verify HTTPs connections. Change-Id: I38da931cdd7ff46cce1994763b5c713652b096cc Partially-Implements: blueprint support-trusted-ca-certificate-file
-
Mark Goddard authored
Co-Authored-By:
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Change-Id: I65d9604d8522f0a60fbfeea718a63866410768b6
-
- Jan 10, 2020
-
-
Mark Goddard authored
For the CentOS 7 to 8 transition, we will have a period where both CentOS 7 and 8 images are available. We differentiate these images via a tag - the CentOS 8 images will have a tag of train-centos8 (or master-centos8 temporarily). To achieve this, and maintain backwards compatibility for the openstack_release variable, we introduce a new 'openstack_tag' variable. This variable is based on openstack_release, but has a suffix of 'openstack_tag_suffix', which is empty except on CentOS 8 where it has a value of '-centos8'. Change-Id: I12ce4661afb3c255136cdc1aabe7cbd25560d625 Partially-Implements: blueprint centos-rhel-8
-
- 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
-
-
Pierre Riteau authored
The [placement].os_interface option was replaced by [placement].valid_interfaces in Queens and was removed in Rocky. Change-Id: I306c57305b9088159dd18af4aa373bbc39a8b881 Closes-Bug: #1853621
-
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 18, 2019
-
-
Doug Szumski authored
This moves the Nova Cells filters alongside the service filters for ease of testing. Partially Implements: blueprint support-nova-cells Change-Id: I32d35c065812c6b46c64bacdf283a0bdad0f8a0f
-
- 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
-