aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/ovn-controller
AgeCommit message (Collapse)AuthorFilesLines
2026-04-16Add OpenStack Network Exporter for PrometheusDoug Szumski2-0/+10
This is for gathering OVS/OVN related metrics. See: https://github.com/openstack-k8s-operators/openstack-network-exporter Depends-On: https://review.opendev.org/c/openstack/kolla/+/951971 Change-Id: I5752b3fe6457dcf2f191326a85c548584b5675b1 Signed-off-by: Doug Szumski <doug@stackhpc.com>
2026-03-23ansible-lint: Fix fqcn[actions-core] for openvswitch/ovnMichal Nasiadka10-14/+14
Change-Id: I6acedeb2b62b9b4223573c0a6b7684a4d1fea6d3 Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-01-15ansible-lint: fix yaml[line-length] in rolesBertrand Lanson1-4/+10
role: ovn-controller Change-Id: I1197b8d6bb28fd5cf2aa769fc23a513a21949085 Signed-off-by: Bertrand Lanson <bertrand.lanson@infomaniak.com>
2025-12-10ansible-lint: fix unnamed-task in ovn-controllerBertrand Lanson8-10/+20
Change-Id: Ic2219eedfaa303ef7de8c25f5679b1a8ea6cfc01 Signed-off-by: Bertrand Lanson <bertrand.lanson@protonmail.com>
2025-11-28ansible-lint: Remove yaml[truthy] from excludesMichal Nasiadka1-4/+10
Normalize quotes and some other easy fixes done by ansible-lint --fix Also drop etc from excludes and ignore comment check in etc/kolla/globals.yml Pinning to ansible-lint<25.11.0 because 25.11.1 is breaking without any messages Change-Id: I7dee3866191cef84cd12b1816cdab0a02380ec7f Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2025-06-04Introduce docker_image_url variableMichal Nasiadka1-1/+1
Stop repeating the same code (actually 158 times). Change-Id: I2fd04e6ed72f3702eb41fe5cf172f47a33e93bbd
2025-02-04Fix usage of multiple OVN availability zonesJan Horstmann1-1/+8
Use the correct separator in neutron OVN availability zones. Additionally improve extendability of `ovn-cms-options` by applying `join` filter on a list. Closes-Bug: 2097292 Change-Id: I19521de28e15f51ab99c88c977d0ed7cf08487d5 Signed-off-by: Jan Horstmann <horstmann@osism.tech>
2025-01-27Reintroduce kolla-ansible checkMark Goddard1-0/+4
This allows operators quickly diagnose all containers across all hosts by running kolla-ansible check. It returns a list of containers that are missing, not running or in unhealthy state for each OpenStack service. Change-Id: I36119ccdeb264aa3de928ec2254d6ff4cc955bfb Implements: blueprint check-containers Co-Authored-By: Roman Krček <roman.krcek@tietoevry.com>
2024-12-01Refactor services' check-containers and optimiseRadosław Piliszek1-12/+2
This might fix some hidden bugs where the check tasks forgot to include params important for the service. We also get a nice optimisation by using a filtered loop instead of task skipping per service with 'when'. As proven in https://review.opendev.org/c/openstack/kolla-ansible/+/914997 This refactoring allows for further optimisation and fixing work to proceed with much less hassle. Including getting rid of many notify statements as the restarts are now safely handled by check-containers. Some notifies had to stay, because of special edge cases eg. in rolling upgrades and loadbalancer config. One downside is we remove the little optimisation for Zun that ignored config change for copying loopback but this is an acceptable tradeoff considering the benefits above. Co-Authored-By: Roman Krček <roman.krcek@tietoevry.com> Change-Id: I855dfef33aa0f3fd1301295bb8ede3e587e7162a Partially-Implements: blueprint performance-improvements
2024-12-01Performance: Don't notify handlers during configRadosław Piliszek2-4/+0
This patch builds upon genconfig optimisation and it takes it further by not having genconfig ever touch the handlers! Calling the handlers and skipping them created an unnecessary slow down if only config was ran. It also depends on the config checking fix. This gets us closer to the single responsibility principle - config only generates the config, container checks only validate whether container restart is needed. And this also means that we will have single place were containers are restarted, were we can fix the ansible quirk of it restarting the whole group even when one container changed in the following patches. The only exception is the loadbalance role. As the loadbalancer services have their config altered by other roles registering their services using loadbalancer-config. This is in contrast to typical roles, which do config in one step and can then run check-containers in the next step. Fixes some handlers that were missing the necessary guard, making genconfig actually able to restart some containers. Future work: - optimise config by doing local generation and mass rsync - support for reloads - unconditional restart/reload (separate action) - make 'reconfigure' act like 'genconfig' + 'deploy-containers' - this would avoid calling bootstrapping each time but might be tricky as it would break current compatibility - could call this 'reconfigure-containers' and deprecate 'reconfigure' - fix the ansible quirk that notifies more handlers then intended Change-Id: I0ce24043ae5486b2b55489ba40abe2b96b0991a6 Partially-Implements: blueprint performance-improvements Co-Authored-By: Roman Krček <roman.krcek@tietoevry.com>
2024-08-21Merge "Add support for customising Neutron physical network names"Zuul1-2/+4
2024-08-20Merge "Add support for docker_image_name_prefix"Zuul1-1/+1
2024-07-19Add support for docker_image_name_prefixMichal Arbet1-1/+1
The Kolla project supports building images with user-defined prefixes. However, Kolla-ansible is unable to use those images for installation. This patch fixes that issue. Closes-Bug: #2073541 Change-Id: Ia8140b289aa76fcd584e0e72686e3786215c5a99
2024-06-28Performance: use filters for service dictsRoman Krček2-12/+3
Most roles are not leveraging the jinja filters available. According to [1] filtering the list of services makes the execution faster than skipping the tasks. This patchset also includes some cosmetic changes to genconfig. Individual services are now also using a jinja filter. This has no impact on performance, just makes the tasks look cleaner. Naming of some vars in genconfig was changed to "service" to make the tasks more uniform as some were previously using the service name and some were using "service". Three metrics from the deployment were taken and those were - overall deployment time [s] - time spent on the specific role [s] - CPU usage (measured with perf) [-] Overall genconfig time went down on avg. from 209s to 195s Time spent on the loadbalancer role went down on avg. from 27s to 23s Time spent on the neutron role went down on avg from 102s to 95s Time spent on the nova-cell role went down on avg. from 54s to 52s Also the average CPUs utilized reported by perf went down from 3.31 to 3.15. For details of how this was measured see the comments in gerrit. [1] - https://github.com/stackhpc/ansible-scaling/blob/master/doc/skip.md Change-Id: Ib0f00aadb6c7022de6e8b455ac4b9b8cd6be5b1b Signed-off-by: Roman Krček <roman.krcek@tietoevry.com>
2024-06-19Add support for customising Neutron physical network namesMark Goddard1-2/+4
Previously Kolla Ansible hard-coded Neutron physical networks starting at physnet1 up to physnetN, matching the number of interfaces in neutron_external_interface and bridges in neutron_bridge_name. Sometimes we may want to customise the physical network names used. This may be to allow for not all hosts having access to all physical networks, or to use more descriptive names. For example, in an environment with a separate physical network for Ironic provisioning, controllers might have access to two physical networks, while compute nodes have access to one. This change adds a neutron_physical_networks variable, making it possible to customise the Neutron physical network names used for the OVS, OVN, Linux bridge and OVS DPDK plugins. The default behaviour is unchanged. Change-Id: Ib5b8ea727014964919c6b3bd2352bac4a4ac1787
2023-11-15Rename kolla_docker to kolla_containerMartin Hiner2-2/+2
Changes name of ansible module kolla_docker to kolla_container. Change-Id: I13c676ed0378aa721a21a1300f6054658ad12bc7 Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com>
2023-03-06Add neutron_ovn_availability_zones parameterChristian Berendt1-1/+1
With the new ``neutron_ovn_availability_zones`` parameter it is possible to define network availability zones for OVN. Further details can be found in the Neutron OVN documentation: https://docs.openstack.org/neutron/latest/admin/ovn/availability_zones.html#how-to-configure-it Change-Id: I203e0d400a3218d0b4a41f2a948207032c4febec
2023-01-12Merge "ovn: add ovn-monitor-all variable"Zuul2-0/+3
2022-12-22ovn: add ovn-monitor-all variablelabedz2-0/+3
Setting ovn-monitor-all to 'true' will configure ovn-controller to monitor all OVS database records unconditionally. That will release some CPU resource from OVS Southbound DB but will increase number of events coming to ovn-controller. Default value is 'false'. Change-Id: I291e166013d8c88f00e84ceaf308251c352c9a79
2022-12-21Integrate oslo-config-validatorMatt Crees1-0/+1
Regularly, we experience issues in Kolla Ansible deployments because we use wrong options in OpenStack configuration files. This is because OpenStack services ignore unknown options. We also need to keep on top of deprecated options that may be removed in the future. Integrating oslo-config-validator into Kolla Ansible will greatly help. Adds a shared role to run oslo-config-validator on each service. Takes into account that services have multiple containers, and these may also use multiple config files. Service roles are extended to use this shared role. Executed with the new command ``kolla-ansible validate-config``. Change-Id: Ic10b410fc115646d96d2ce39d9618e7c46cb3fbc
2022-11-28ovn: Break out role into ovn-db and ovn-controller rolesMichal Nasiadka15-0/+177
Instead of handling everything in one role - let's have small fit-for-purpose roles, because in reality these are two hosts roles and performance should be better with this approach. [1]: https://docs.ovn.org/en/latest/intro/install/ovn-upgrades.html Change-Id: I8f9dbe9d950323f16375ad5e1dbaedfb1be6585f