- May 23, 2020
-
-
Doug Szumski authored
The Monasca Log API has been removed and in this change we switch to using the unified API. If dedicated log APIs are required then this can be supported through configuration. Out of the box the Monasca API is used for both logs and metrics which is envisaged to work for most use cases. In order to use the unified API for logs, we need to disable the legacy Kafka client. We also rename the Monasca API config file to remove a warning about using the old style name. Depends-On: https://review.opendev.org/#/c/728638 Change-Id: I9b6bf5b6690f4b4b3445e7d15a40e45dd42d2e84
-
- Apr 26, 2020
-
-
Radosław Piliszek authored
Since haproxy is orchestrated via site.yml in a single play, it does not need flushing handlers as handlers run will happen at the end of this play. Change-Id: Ia3743575da707325be93c39b4a2bcae9211cacb2 Related-Bug: #1864810 Closes-Bug: #1875228
-
Radosław Piliszek authored
Follow-up on [1] "Avoid multiple haproxy restarts after reconfiguration". There is no need to duplicate handler name in listen. The issue was because we had two handlers with the same name in the same environment. This causes Ansible not to mark handler as already run. [1] https://review.opendev.org/708385 Change-Id: I5425a8037b6860ef71bce59becff8dfe5b601d4c Related-Bug: #1864810
-
- Apr 21, 2020
-
-
Christian Berendt authored
The haproxy role and the site.yml file calls the haproxy-config role to provide configuration for individual services. If the configuration within a service changes, the haproxy container is restarted. If the configuration in n services changes, there will be n restarts. This is not necessary, a restart at the end is sufficient. By removing the handler from the haproxy-config role and using the listen parameter in the handler of the haproxy role, the handler is executed only once. Change-Id: I535fe67579fb748093bb4b30a6bd31b81e021a1b Closes-Bug: #1864810
-
- Apr 14, 2020
-
-
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
-
James Kirsch authored
This patch introduces an optional backend encryption for Keystone 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 Keystone service. Change-Id: I6351147ddaff8b2ae629179a9bc3bae2ebac9519 Partially-Implements: blueprint add-ssl-internal-network
-
- Apr 08, 2020
-
-
Mark Goddard authored
CentOS 8 support is now fairly complete - time to drop CentOS 7. Partially-Implements: blueprint centos-rhel-8 Change-Id: I940b1d3eceb98e16fa366c243672f588b1412d70
-
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 25, 2020
-
-
Mark Goddard authored
Deploy HAProxy on one or more servers. Add another server to the inventory in the haproxy group, and run the following: kolla-ansible prechecks --limit <new host> The following task will fail: TASK [haproxy : Checking if kolla_internal_vip_address and kolla_external_vip_address are not pingable from any node] This happens because ansible does not execute on hosts where haproxy/keepalived is running, and therefore does not know that the VIP should be active. This change skips VIP prechecks when not all HAProxy hosts are in the play. Closes-Bug: #1868986 Change-Id: Ifbc73806b768f76f803ab01c115a9e5c2e2492ac
-
- Mar 10, 2020
-
-
Mark Goddard authored
If haproxy is running somewhere in the cluster and listening on the VIP, but not running locally, then the following precheck may fail: TASK [haproxy : Checking free port for HAProxy monitor (vip interface)] msg: Timeout when waiting for 192.0.2.10:61313 to stop. This change fixes the issue by skipping the check if HAProxy is running on any host. Change-Id: I831eb2f700ef3fcf65b7e08382c3b4fcc4ce8d8d Closes-Bug: #1866617
-
- 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
-
-
Mark Goddard authored
* HAProxy is now 1.8 in CentOS 8 * Support python3 in baremetal role * Remove support for environments without python2 installed (this could not have worked since we gather facts before this point) Workarounds: * Using CentOS 7 yum repo for Docker, with module_hotfixes Change-Id: I30bd3d58f6224ad4c9575ba66c74deabe6895cc4 Partially-Implements: blueprint centos-rhel-8
-
- Jan 17, 2020
-
-
Marcin Juszkiewicz authored
204 for very long url which is hard to break safely 306 for "echo | docker" as echo should not fall Change-Id: I14df39d611d39ad1f6184ab92d628cb010881fbb
-
- Jan 13, 2020
-
-
Mark Goddard authored
Change-Id: Iecbc2fe5fa3391dca5a3cc7e575314b95942114b Co-Authored-By:
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
Mark Goddard authored
Change-Id: I3caa4581ba276082e859f18aaa6638472f5fbe49 Co-Authored-By:
Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-
- 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
-
- Dec 10, 2019
-
-
Pierre Riteau authored
Change Id84e3b6e62e544582d6917047534e846e026798d added support for custom HAProxy service config using a plain copy of files in services.d. Use a template action instead of a copy so that we can use variables and iterate over group of hosts. Change-Id: I1f07785932de4e4540422bd18af95241f05a67bf
-
- 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
-
- Nov 14, 2019
-
-
Dincer Celik authored
Change-Id: I36b858b9b03005feabd77e7208674f37c820e9d4 Closes-Bug: #1852430
-
- Nov 11, 2019
-
-
Keith Plant authored
Allow users to create/override HAProxy service configuration by copying over '*.cfg' files from {{ node_custom_config }}/haproxy/services.d/ Ex: /etc/kolla/config/haproxy/services.d/radosgw.cfg Change-Id: Id84e3b6e62e544582d6917047534e846e026798d Signed-off-by:
Keith Plant <kplantjr@gmail.com>
-
- Oct 16, 2019
-
-
Radosław Piliszek authored
Introduce kolla_address filter. Introduce put_address_in_context filter. Add AF config to vars. Address contexts: - raw (default): <ADDR> - memcache: inet6:[<ADDR>] - url: [<ADDR>] Other changes: globals.yml - mention just IP in comment prechecks/port_checks (api_intf) - kolla_address handles validation 3x interface conditional (swift configs: replication/storage) 2x interface variable definition with hostname (haproxy listens; api intf) 1x interface variable definition with hostname with bifrost exclusion (baremetal pre-install /etc/hosts; api intf) neutron's ml2 'overlay_ip_version' set to 6 for IPv6 on tunnel network basic multinode source CI job for IPv6 prechecks for rabbitmq and qdrouterd use proper NSS database now MariaDB Galera Cluster WSREP SST mariabackup workaround (socat and IPv6) Ceph naming workaround in CI TODO: probably needs documenting RabbitMQ IPv6-only proto_dist Ceph ms switch to IPv6 mode Remove neutron-server ml2_type_vxlan/vxlan_group setting as it is not used (let's avoid any confusion) and could break setups without proper multicast routing if it started working (also IPv4-only) haproxy upgrade checks for slaves based on ipv6 addresses TODO: ovs-dpdk grabs ipv4 network address (w/ prefix len / submask) not supported, invalid by default because neutron_external has no address No idea whether ovs-dpdk works at all atm. ml2 for xenapi Xen is not supported too well. This would require working with XenAPI facts. rp_filter setting This would require meddling with ip6tables (there is no sysctl param). By default nothing is dropped. Unlikely we really need it. ironic dnsmasq is configured IPv4-only dnsmasq needs DHCPv6 options and testing in vivo. KNOWN ISSUES (beyond us): One cannot use IPv6 address to reference the image for docker like we currently do, see: https://github.com/moby/moby/issues/39033 (docker_registry; docker API 400 - invalid reference format) workaround: use hostname/FQDN RabbitMQ may fail to bind to IPv6 if hostname resolves also to IPv4. This is due to old RabbitMQ versions available in images. IPv4 is preferred by default and may fail in the IPv6-only scenario. This should be no problem in real life as IPv6-only is indeed IPv6-only. Also, when new RabbitMQ (3.7.16/3.8+) makes it into images, this will no longer be relevant as we supply all the necessary config. See: https://github.com/rabbitmq/rabbitmq-server/pull/1982 For reliable runs, at least Ansible 2.8 is required (2.8.5 confirmed to work well). Older Ansible versions are known to miss IPv6 addresses in interface facts. This may affect redeploys, reconfigures and upgrades which run after VIP address is assigned. See: https://github.com/ansible/ansible/issues/63227 Bifrost Train does not support IPv6 deployments. See: https://storyboard.openstack.org/#!/story/2006689 Change-Id: Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c Implements: blueprint ipv6-control-plane Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Oct 03, 2019
-
-
Viktor Michalek authored
Change-Id: I097082112b857444c3e2f73896be5832a776743b
-
- Sep 26, 2019
-
-
Kris Lindgren authored
Sometimes as cloud admins, we want to only update code that is running in a cloud. But we dont need to do anything else. Make an action in kolla-ansible that allows us to do that. Change-Id: I904f595c69f7276e71692696471e32fd1f88e6e8 Implements: blueprint deploy-containers-action
-
- Sep 23, 2019
-
-
Mark Goddard authored
During upgrade, we stop all slave keepalived containers. However, if the keepalived container configuration has not changed, we never restart them. This change fixes the issue by notifying the restart handler when the containers are stopped. Change-Id: Ibe094b0c14a70a0eb811182d96f045027aa02c2a Closes-Bug: #1836368
-
Mark Goddard authored
This allows the install type for the project to be different than kolla_install_type This can be used to avoid hitting bug 1786238, since kuryr only supports the source type. Change-Id: I2b6fc85bac092b1614bccfd22bee48442c55dda4 Closes-Bug: #1786238
-
- Sep 19, 2019
-
-
Radosław Piliszek authored
Change-Id: I7f2b3a6f1eacd4cabcaa31de543b7489bc5e654b Closes-bug: #1844636 Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Sep 14, 2019
-
-
Radosław Piliszek authored
Also fixes similar issues introduced by the same recent change. Added FIXME note about possible TLS malfunction regarding horizon. Change-Id: I5f46a9306139eb550d3849757c8bdf0767537c78 Closes-Bug: #1844016 Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Aug 22, 2019
-
-
Krzysztof Klimonda authored
This review is the first one in a series of patches and it introduces an optional encryption for internal openstack endpoints, implementing part of the add-ssl-internal-network spec. Change-Id: I6589751626486279bf24725f22e71da8cd7f0a43
-
- Aug 15, 2019
-
-
Kien Nguyen authored
Masakari provides Instances High Availability Service for OpenStack clouds by automatically recovering failed Instances. Depends-On: https://review.openstack.org/#/c/615469/ Change-Id: I0b3457232ee86576022cff64eb2e227ff9bbf0aa Implements: blueprint ansible-masakari Co-Authored-By:
Gaëtan Trellu <gaetan.trellu@incloudus.com>
-
- Aug 14, 2019
-
-
Scott Solkhon authored
The default connection limits for backends is 2000 however, mariadb defaults to a max of 10000 conections, therefore changing this limit to match the mariadb limit. 'haproxy_max_connections' also needs to be bumped for this to work. Change-Id: I5ded328485855f3f3d4390282040b0d89d08d997
-
- Jun 06, 2019
-
-
Mark Goddard authored
Many tasks that use Docker have become specified already, but not all. This change ensures all tasks that use the following modules have become: * kolla_docker * kolla_ceph_keyring * kolla_toolbox * kolla_container_facts It also adds become for 'command' tasks that use docker CLI. Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
-
- May 31, 2019
-
-
Gaetan Trellu authored
Qinling is an OpenStack project to provide "Function as a Service". This project aims to provide a platform to support serverless functions. Change-Id: I239a0130f8c8b061b531dab530d65172b0914d7c Implements: blueprint ansible-qinling-support Story: 2005760 Task: 33468
-
- May 17, 2019
-
-
binhong.hua authored
When integrating 3rd party component into openstack with kolla-ansible, maybe have to mount some extra volumes to container. Change-Id: I69108209320edad4c4ffa37dabadff62d7340939 Implements: blueprint support-extra-volumes
-
- May 09, 2019
-
-
Raimund Hook authored
The flush_handlers clause doesn't honour conditional clauses. Instead, it prints a warning and runs anyway: [WARNING]: flush_handlers task does not support when conditional See: https://github.com/ansible/ansible/pull/41126 TrivialFix Change-Id: Iaf70c2e932ae6dfb723bdb2ba658acdbfe74ebe2
-
- May 02, 2019
-
-
Raimund Hook authored
Since Ansible 2.5, the use of jinja tests as filters has been deprecated. I've run the script provided by the ansible team to 'fix' the jinja filters to conform to the newer syntax. This fixes the deprecation warnings. Change-Id: I844ecb7bec94e561afb09580f58b1bf83a6d00bd Closes-bug: #1827370
-
- Mar 08, 2019
-
-
Bai Yongjun authored
Because kolla-ansible not have cyborg so should add it. Implements: blueprint add-cyborg-to-kolla-ansible Depend-On: I497e67e3a754fccfd2ef5a82f13ccfaf890a6fcd Change-Id: I6f7ae86f855c5c64697607356d0ff3161f91b239
-