- Oct 27, 2020
-
-
Radosław Piliszek authored
Main plays are action-redirect-stubs, ideal for import_tasks. This avoids 'include' penalty and makes logs/ara look nicer. Fixes haproxy and rabbitmq not to check the host group as well. Change-Id: I46136fc40b815e341befff80b54a91ef431eabc0 Partially-Implements: blueprint performance-improvements
-
- Oct 12, 2020
-
-
Radosław Piliszek authored
Config plays do not need to check containers. This avoids skipping tasks during the genconfig action. Ironic and Glance rolling upgrades are handled specially. Swift and Bifrost do not use the handlers at all. Partially-Implements: blueprint performance-improvements Change-Id: I140bf71d62e8f0932c96270d1f08940a5ba4542a
-
- Aug 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 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
-
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 25, 2020
-
-
wu.chunyang authored
when use multiple regions, those tasks always get a wrong endpoint. Change-Id: Ie164687b2ffd80cedf8a00e7f705b73fccd416e2
-
- 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 07, 2020
-
-
Mark Goddard authored
There are a number of tasks where we conditionally use include_tasks with a condition, and the condition is always true. This change removes these conditions, in preparation for switching unconditional task includes to task imports. Partially-Implements: blueprint performance-improvements Change-Id: I3804c440fe3552950d9d434ef5409f685c39bbcf
-
- 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 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- Jul 26, 2018
-
-
Lakshmi Prasanna Goutham Pratapa authored
This commit is to apply resource-constraints to a few more OpenStack services. Commit to apply constraints to the last set of services will be made in the upcoming commit. Depends-on: Icafa54baca24d2de64238222a5677b9d8b90e2aa Change-Id: I39004f54281f97d53dfa4b1dbcf248650ad6f186
-
- 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
-
- Jun 08, 2018
-
-
Ha Manh Dong authored
Add become to all tasks that use the module "kolla_docker" Change-Id: I4309c4011687b88ec31d739fd8f834fe2326ff10 Partial-Implements: blueprint ansible-specific-task-become
-
- May 14, 2018
-
-
caoyuan authored
when run creating Magnum trustee user role task, the domain parameter must be domain id[0]. so kolla-ansible need to register the result of Creating Magnum trustee domain task, and use the domain id when creating Magnum trustee user role. [0]: https://github.com/openstack/kolla-ansible/blob/master/ansible/roles/magnum/tasks/register.yml#L59 Co-Authored-By:
ZhijunWei <wzj334965317@outlook.com> Change-Id: I57cdd011b7fc863133f9e3b43ae783cd1486e644 Closes-Bug: #1766410
-
- May 11, 2018
-
-
Jeffrey Zhang authored
- rename action and serial to kolla_ansible and kolla_serial - use become instead of "sudo <command>" in shell - Remove quota for failed_when and changed_when in rabbitmq tasks Change-Id: I78cb60168aaa40bb6439198283546b7faf33917c Implements: blueprint migrate-to-ansible-2-2-0
-
- Apr 24, 2018
-
-
caoyuan authored
refer to https://github.com/openstack/magnum/blob/master/devstack/lib/magnum#L113 Change-Id: I5207a7ba708daa17f65a2eb61282a265342f3eee
-
- Apr 16, 2018
-
-
Jeffrey Zhang authored
- remove uesless module_extra_vars, this is a historical issue. In the past, we use 'docker exec kolla_toolbox ansible xxx' to run module on target node, so complex data have to pass through extra_vars. Now we are using kolla_toolbox module, no need to use extra_vars anymore. - Remove some useless until. Change-Id: I72ed28001202917f9a82a1c3ea33cd6319911ec8
-
- Mar 12, 2018
-
-
Duong Ha-Quang authored
Add become to only neccesary tasks in roles: - aodh - barbican - bifrost - ceilometer - ceph - chrony - cinder - cloudkitty - collectd - congress - designate - elasticsearch - etcd - freezer - gnocchi - grafana - influxdb - ironic - iscsi - karbor - kibana - kuryr - magnum - manila - mistral - mongodb - multipathd - murano - octavia - panko - qdrouterd - rally - sahara - searchlight - senlin - skydive - solum - swift - swift - tacker - telegraf - tempest - trove - vmtp - watcher - zun Change-Id: I6e32d94d4172dd96d09d8609e8a5221ab5586a31 Partial-Implements: blueprint ansible-specific-task-become
-
- Jan 23, 2018
-
-
Alexandru Bogdan Pica authored
This change allows the following use cases: 1. Using an already-configured MariaDB / MySQL server / Cluster 2. Using already-created DB users, without requiring root DB access. Update: added external mariadb precheck Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824 Implements: blueprint external-mariadb-support. Closes-Bug: #1603121
-
- Jan 22, 2018
-
-
Dai Dang Van authored
- Heat - Ironic - Magum - Manila - Mistral This will copy only yaml or json policy file if they exist. Change-Id: I1ab71e2758dc99dd6654d433ece79600f0c44ce8 Implements: blueprint support-custom-policy-yaml Co-authored-By:
Duong Ha-Quang <duonghq@vn.fujitsu.com>
-
- Jan 04, 2018
-
-
Michal Rostecki authored
Provide support fot kolla dev mode in Magnum. When 'kolla_dev_mode' or 'magnum_dev_mode' variables are enabled, source code of Magnum project is cloned and bindmounted. Partially implements: blueprint mount-sources Change-Id: Id479bf4dc77ee4a2367c9c7d8f0f00de761b8c85
-
- Oct 05, 2017
-
-
James McCarthy authored
For a deployment behind a firewall/proxy server some additional environment settings should be passed along, for containers such as magnum This commit adds three new properties; container_http_proxy container_https_proxy container_no_proxy In particular, the user will want to set container_http_proxy and container_https_proxy properties with the proxy server details. Closes-Bug: #1628335 Change-Id: I0950a0467b4b68c38b13875eaf9cd433e64363cf
-
Eduardo Gonzalez authored
When deploying with tls enabled in public endpoints, ansible modules fails due SSL certificates are self-signed. This change adds a new variable to allow customization on which endpoints ansible should connect. Defaults to admin because admin auth parameters defaults to admin endpoint. Change-Id: Ic3ed58cf9c9579cae08a11bbfe6fce983b5a9cbc Closes-Bug: #1720995
-
- Sep 13, 2017
-
-
Bertrand Lallau authored
Actually Openstack services configuration can be overriden using many files: - /etc/kolla/config/<< service name >>/<< config file >> - /etc/kolla/config/<< service name >>/<<host>>/<< config file >> - /etc/kolla/config/global.conf - /etc/kolla/config/database.conf - /etc/kolla/config/messaging.conf Only per-service configuration is actually documented here: https://github.com/openstack/kolla-ansible/blob/master/doc/advanced-configuration.rst#L164 Allowing to globally modify service configuration can be perform too, but it can be done in 3 different manners, all not documented: - /etc/kolla/config/global.conf - /etc/kolla/config/database.conf - /etc/kolla/config/messaging.conf database.conf and messaging.conf seems redundant with global.conf. In order to simplify codebase it seems logical to remove them. Documentation has been added for overriding configuration globally and release note has been added too. Closes-Bug: #1682479 Change-Id: I5d922dfc0d938173bad34ac64e490b78db1b7e31
-
- Jul 05, 2017
-
-
Bertrand Lallau authored
In order to speed up deployment time some "local" actions should be run only once using 'run_once: True'. This will decrease deployment time in case of multihost configuration. Change-Id: I6015d772d35c15e96c52f577013b6e41197cb41a
-
- Jun 20, 2017
-
-
caoyuan authored
when create database user, it should use database_user, not database_name. Change-Id: I4dfa01d1a5a46c5c58f1fc47b0be71b186462764 Closes-Bug: #1698762
-