- 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
-
- 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 07, 2020
-
-
Hongbin Lu authored
Starting from U release, container driver is loaded from entry point. Deployers should specify the entry point (i.e. ``docker``) in config option ``container_driver`` under ``[DEFAULT]`` session. Zun patch: https://review.opendev.org/#/c/703259/ Change-Id: I96e38760e7b13a6e11737372e9e7fd36cca6f749
-
- 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
-
- Jan 30, 2020
-
-
Mark Goddard authored
Currently the WSGI configuration for binary images uses python2.7 site-packages in some places. This change uses distro_python_version to select the correct python path. Change-Id: Id5f3f0ede106498b9264942fa0399d7c7862c122 Partially-Implements: blueprint python-3
-
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 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 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
-
- Jan 10, 2020
-
-
Radosław Piliszek authored
Per [1] Docker uses API version 1.26 since daemon version 1.13.1. Kolla Ansible forced a limit on the Docker API version reported to Zun of 1.24 which was surprising users and preventing usage of Docker runtime selection via Zun. The default of Zun is 1.26 [2] which enables runtime selection. Zun does not use this parameter for anything else atm. [1] https://docs.docker.com/engine/api/v1.26/#section/Versioning [2] https://review.opendev.org/490794 Change-Id: Ide6eb4c2b079cf35e633ad6a04db1587e40e7633 Closes-bug: #1859176
-
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 06, 2019
-
-
Michal Nasiadka authored
Currently we don't put global Apache error logs into /var/log/kolla, this change adds statements that redirect those logs there. Adapted the logfile names to catch into openstack wsgi logging fluentd input config and existing logrotate cron entries. Change-Id: I21216e688a1993239e3e81411a4e8b6f13e138c2
-
- 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 24, 2019
-
-
Michal Nasiadka authored
Change-Id: I51144d92f34ed51c499a4119c059e6475d02eb46
-
- Oct 23, 2019
-
-
Radosław Piliszek authored
Fixes /dev volume, missed in the previous commit [1]. iscsid was installing the devices in /dev but zun-compute could not see them due to the emulated /dev volume. [1] I2c4aa666ff9f952e32c450347d31ddbf2e58209e Change-Id: Ic72c910b92765b9a6f59224728e9c4ea2482bc5a Related-bug: #1797448 Related-bug: #1848933
-
- Oct 20, 2019
-
-
Radosław Piliszek authored
This also enables Placement when Zun is enabled like Kolla Ansible already does with Nova. Change-Id: Id2a09f702e8503b49d2b9e73e06b2ce9f4d168a9 Closes-bug: #1840573
-
Radosław Piliszek authored
This makes iSCSI with Zun and Cinder work out-of-the-box. (LVM included) Change-Id: I2c4aa666ff9f952e32c450347d31ddbf2e58209e Related-bug: #1797448 Closes-bug: #1848933
-
- 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>
-
- 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 17, 2019
-
-
Mark Goddard authored
Use upstream Ansible modules for registration of services, endpoints, users, projects, roles, and role grants. Change-Id: I7c9138d422cc91c177fd8992347176bb54156b5a
-
- Sep 10, 2019
-
-
Hongbin Lu authored
After the integration with placement [1], we need to configure how zun-compute is going to work with nova-compute. * If zun-compute and nova-compute run on the same compute node, we need to set 'host_shared_with_nova' as true so that Zun will use the resource provider (compute node) created by nova. In this mode, containers and VMs could claim allocations against the same resource provider. * If zun-compute runs on a node without nova-compute, no extra configuration is needed. By default, each zun-compute will create a resource provider in placement to represent the compute node it manages. [1] https://blueprints.launchpad.net/zun/+spec/use-placement-resource-management Change-Id: I2d85911c4504e541d2994ce3d48e2fbb1090b813
-
- Aug 23, 2019
-
-
Radosław Piliszek authored
This makes WS (so e.g. console) always work with the way we deploy Zun. Otherwise it used the first IP address. Change-Id: Ib31c5944be2f6fa00cdf5da3e638a590e6bace40 Closes-bug: #1841243 Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Aug 18, 2019
-
-
Radosław Piliszek authored
Zun was misconfigured and defaulted to using public endpoints which are likely inaccessible from the internal network. This patch fixes that and removes unused and deprecated options. Validity of options confirmed from Queens to Train against respective docs. Change-Id: I25cc8792351c43eb9ff45465e49fa72ceccd6cb5 Closes-bug: #1840572 Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Aug 16, 2019
-
-
Scott Solkhon authored
This commit adds the functionality for an operator to specify their own trusted CA certificate file for interacting with the Keystone API. Implements: blueprint support-trusted-ca-certificate-file Change-Id: I84f9897cc8e107658701fb309ec318c0f805883b
-
- Jul 18, 2019
-
-
Radosław Piliszek authored
Docker has no restart policy named 'never'. It has 'no'. This has bitten us already (see [1]) and might bite us again whenever we want to change the restart policy to 'no'. This patch makes our docker integration honor all valid restart policies and only valid restart policies. All relevant docker restart policy usages are patched as well. I added some FIXMEs around which are relevant to kolla-ansible docker integration. They are not fixed in here to not alter behavior. [1] https://review.opendev.org/667363 Change-Id: I1c9764fb9bbda08a71186091aced67433ad4e3d6 Signed-off-by:
Radosław Piliszek <radoslaw.piliszek@gmail.com>
-
- Jul 12, 2019
-
-
Mark Goddard authored
A common class of problems goes like this: * kolla-ansible deploy * Hit a problem, often in ansible/roles/*/tasks/bootstrap.yml * Re-run kolla-ansible deploy * Service fails to start This happens because the DB is created during the first run, but for some reason we fail before performing the DB sync. This means that on the second run we don't include ansible/roles/*/tasks/bootstrap_service.yml because the DB already exists, and therefore still don't perform the DB sync. However this time, the command may complete without apparent error. We should be less careful about when we perform the DB sync, and do it whenever it is necessary. There is an argument for not doing the sync during a 'reconfigure' command, although we will not change that here. This change only always performs the DB sync during 'deploy' and 'reconfigure' commands. Change-Id: I82d30f3fcf325a3fdff3c59f19a1f88055b566cc Closes-Bug: #1823766 Closes-Bug: #1797814
-
- Jun 27, 2019
-
-
Mark Goddard authored
Currently, we have a lot of logic for checking if a handler should run, depending on whether config files have changed and whether the container configuration has changed. As rm_work pointed out during the recent haproxy refactor, these conditionals are typically unnecessary - we can rely on Ansible's handler notification system to only trigger handlers when they need to run. This removes a lot of error prone code. This patch removes conditional handler logic for all services. It is important to ensure that we no longer trigger handlers when unnecessary, because without these checks in place it will trigger a restart of the containers. Implements: blueprint simplify-handlers Change-Id: I4f1aa03e9a9faaf8aecd556dfeafdb834042e4cd
-
- 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 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
-
- Mar 06, 2019
-
-
Jim Rollenhagen authored
We're duplicating code to build the keystone URLs in nearly every config, where we've already done it in group_vars. Replace the redundancy with a variable that does the same thing. Change-Id: I207d77870e2535c1cdcbc5eaf704f0448ac85a7a
-
- Jan 04, 2019
-
-
Kien Nguyen authored
Use <project>_install_type instead of kolla_install_type to set python_path. For example, general kolla_install_type is 'binary', but user wants to deploy Horizon from 'source'. Horizon templates still use python_path=/usr/share/openstack-dashboard, it is wrong. Change-Id: Ide6a24e17b1f8ab6506aa5e53f70693706830418
-
- Dec 19, 2018
-
-
Eduardo Gonzalez authored
Change-Id: If5b4ba975a65e07d2704eb6bdb9d841d6a9c3d42
-
- Nov 26, 2018
-
-
Eduardo Gonzalez authored
With this change, an operator may be able to stop a service container without stopping all services in a host. This change is the starting point to start fast-forward upgrades support. In next changes new flags will be introducced to disable stop dataplane services during upgrades. Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef Implements: blueprint support-stop-containers
-
- Oct 22, 2018
-
-
Hongbin LU authored
Introduce a job 'kolla-ansible-ubuntu-source-zun' to test kolla with Zun enabled. To reduce CI resource, this job will be triggered only if there are changes on the Zun's ansible roles. Change-Id: I0ba207e1d3761da2d6992c5834d4f59e7e1d6628
-
- Sep 26, 2018
-
-
Adam Harwell authored
Having all services in one giant haproxy file makes altering configuration for a service both painful and dangerous. Each service should be configured with a simple set of variables and rendered with a single unified template. Available are two new templates: * haproxy_single_service_listen.cfg.j2: close to the original style, but only one service per file * haproxy_single_service_split.cfg.j2: using the newer haproxy syntax for separated frontend and backend For now the default will be the single listen block, for ease of transition. Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
-
- Sep 12, 2018
-
-
Kuo-tung Kao authored
Change the owner of the wsgi-zun.conf to zun instead of root. Change-Id: Ib0455210f3251965547ce3449fa4b72e28b32d11 Closes-Bug: #1792089
-
- Aug 14, 2018
-
-
MinSun authored
Now kolla dev mode only support clone master branch from git, add version tag to support clone dedicated branch. Change-Id: I88de238e5dc7461ba0662a3ecea9a2d80fd0db60
-
- Aug 07, 2018
-
-
ZhongShengping authored
Option auth_uri from group keystone_authtoken is deprecated[1]. Use option www_authenticate_uri from group keystone_authtoken. [1]https://review.openstack.org/#/c/508522/ Co-Authored-By:
confi-surya <singh.surya64mnnit@gmail.com> Change-Id: Ifd8527d404f1df807ae8196eac2b3849911ddc26 Closes-Bug: #1761907
-
- Aug 01, 2018
-
-
Hongbin Lu authored
Kolla is using Docker API version 1.24 but the default is 1.26 in Zun. We need to configure it to 1.24 so that Zun and Kolla can work together. Partial-Bug: #1782055 Change-Id: I072dccc06fe35dccf25068ef0ca8f39cad9fdc60
-
- Jul 25, 2018
-
-
Jeffrey Zhang authored
include is marked as deprecated since ansible 2.4[0] [0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated Co-Authored-By:
confi-surya <singh.surya64mnnit@gmail.com> Change-Id: Ic9d71e1865d1c728890625aeddf424a5734c0a8a
-
- Jul 23, 2018
-
-
Lakshmi Prasanna Goutham Pratapa authored
This commit is the final commit to apply resource-constraints to all OpenStack services. Depends-on: I39004f54281f97d53dfa4b1dbcf248650ad6f186 Change-Id: I072d69be9698be54775cb0ae286ea2b6ed78776c Implements: blueprint resource-constraints
-