Performance improvements

Registered by Mark Goddard

Investigate, benchmark and implement performance improvements for kolla ansible.

Discussion here: https://etherpad.openstack.org/p/kolla-ansible-speed-ups

Blueprint information

Status:
Started
Approver:
None
Priority:
High
Drafter:
Mark Goddard
Direction:
Approved
Assignee:
Mark Goddard
Definition:
Approved
Series goal:
Accepted for wallaby
Implementation:
Started
Milestone target:
milestone icon 12.0.0
Started by
Mark Goddard

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.opendev.org/#/q/topic:bp/performance-improvements

Addressed by: https://review.opendev.org/716340
    Avoid unconditional fact gathering

Addressed by: https://review.opendev.org/732687
    Avoid unconditional fact gathering

Addressed by: https://review.opendev.org/732688
    Avoid unconditional fact gathering

Bug report on high memory usage during merge_configs: https://bugs.launchpad.net/kolla-ansible/+bug/1885750

Addressed by: https://review.opendev.org/739107
    Performance: remove unnecessary conditions from includes

Addressed by: https://review.opendev.org/739108
    Performance: use import_tasks for check-containers.yml

Addressed by: https://review.opendev.org/739109
    Performance: replace unconditional include_tasks with import_tasks

Addressed by: https://review.opendev.org/739110
    Performance: Dynamically include upgrade tasks

Addressed by: https://review.opendev.org/739111
    Performance: Run common role in a separate play

Addressed by: https://review.opendev.org/739112
    Performance: use a single config file for logrotate

Addressed by: https://review.opendev.org/739122
    WIP: Performance: use a single config file for fluentd

Addressed by: https://review.opendev.org/739811
    Performance: use import_tasks for register and bootstrap

Addressed by: https://review.opendev.org/739820
    Performance: remove one include_tasks in nova-cell

Addressed by: https://review.opendev.org/740082
    Performance: Split out prometheus node exporter and cadvisor

Addressed by: https://review.opendev.org/742894
    Performance: remove unnecessary conditions from includes

Addressed by: https://review.opendev.org/742896
    Performance: remove unnecessary conditions from includes

Addressed by: https://review.opendev.org/742897
    Performance: remove unnecessary conditions from includes

Addressed by: https://review.opendev.org/743928
    Performance: use import_tasks for check-containers.yml

Addressed by: https://review.opendev.org/743929
    Performance: use import_tasks for check-containers.yml

Addressed by: https://review.opendev.org/743961
    Performance: optimize genconfig

Gerrit topic: https://review.opendev.org/#/q/topic:bug/1863510

Addressed by: https://review.opendev.org/744207
    [WIP] Fix looped notifies and optimize further

Addressed by: https://review.opendev.org/744289
    Use import_tasks in the main playbooks

Addressed by: https://review.opendev.org/745164
    [WIP] Use checks for config and optimize

Addressed by: https://review.opendev.org/751735
    Performance: replace unconditional include_tasks with import_tasks

Addressed by: https://review.opendev.org/751745
    Performance: replace unconditional include_tasks with import_tasks

Addressed by: https://review.opendev.org/751758
    Performance: replace unconditional include_tasks with import_tasks

Addressed by: https://review.opendev.org/751995
    Performance: remove one include_tasks in nova-cell

Addressed by: https://review.opendev.org/751996
    Performance: remove one include_tasks in nova-cell

Addressed by: https://review.opendev.org/752964
    Performance: use a single config file for logrotate

Addressed by: https://review.opendev.org/752966
    Performance: use a single config file for logrotate

Addressed by: https://review.opendev.org/752969
    Performance: use a single config file for logrotate

Addressed by: https://review.opendev.org/757124
    Performance: use import_tasks for register and bootstrap

Addressed by: https://review.opendev.org/757125
    Performance: use import_tasks for register and bootstrap

Addressed by: https://review.opendev.org/757126
    Performance: use import_tasks for register and bootstrap

Addressed by: https://review.opendev.org/757799
    Performance: optimize genconfig

Addressed by: https://review.opendev.org/757809
    Performance: optimize genconfig

Addressed by: https://review.opendev.org/757813
    Performance: use a single config file for fluentd

Addressed by: https://review.opendev.org/757816
    Performance: use a single config file for fluentd

Addressed by: https://review.opendev.org/757817
    Performance: use a single config file for fluentd

Addressed by: https://review.opendev.org/759928
    Do not set 'always' tag where unnecessary

Addressed by: https://review.opendev.org/c/openstack/kolla-ansible/+/740082
    Performance: Split out prometheus node exporter and cadvisor

Addressed by: https://review.opendev.org/c/openstack/kolla-ansible/+/914997
    Refactoring: use filters for services

Addressed by: https://review.opendev.org/c/openstack/kolla-ansible/+/745164
    Optimise config

Gerrit topic: https://review.opendev.org/#/q/topic:radek/check-containers

Addressed by: https://review.opendev.org/c/openstack/kolla-ansible/+/773243
    Refactor services' check-containers and optimise

Gerrit topic: https://review.opendev.org/#/q/topic:fix/restart_notifier

Addressed by: https://review.opendev.org/c/openstack/kolla-ansible/+/924145
    Fix unintentional trigger of ansible handlers

Gerrit topic: https://review.opendev.org/#/q/topic:radek/optimise-config

(?)

Work Items

Work items:
Support ansible fact caching: TODO

This blueprint contains Public information 
Everyone can see this information.