| Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
Change-Id: I6acedeb2b62b9b4223573c0a6b7684a4d1fea6d3
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
role: ovn-controller
Change-Id: I1197b8d6bb28fd5cf2aa769fc23a513a21949085
Signed-off-by: Bertrand Lanson <bertrand.lanson@infomaniak.com>
|
|
Change-Id: Ic2219eedfaa303ef7de8c25f5679b1a8ea6cfc01
Signed-off-by: Bertrand Lanson <bertrand.lanson@protonmail.com>
|
|
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>
|
|
Stop repeating the same code (actually 158 times).
Change-Id: I2fd04e6ed72f3702eb41fe5cf172f47a33e93bbd
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
|
|
|
|
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
|
|
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>
|
|
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
|
|
Changes name of ansible module kolla_docker to
kolla_container.
Change-Id: I13c676ed0378aa721a21a1300f6054658ad12bc7
Signed-off-by: Martin Hiner <m.hiner@partner.samsung.com>
|
|
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
|
|
|
|
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
|
|
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
|
|
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
|