[ovn] Limit the number of metadata workers

Bug #1893656 reported by Daniel Alvarez
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
charm-layer-ovn
Fix Released
High
Frode Nordahl
charm-ovn-chassis
Fix Released
High
Frode Nordahl
neutron
Fix Released
Medium
Lucas Alvares Gomes

Bug Description

The OVN Metadata agent reuses the metadata_workers config option from the ML2/OVS Metadata agent.

However, it makes sense to split the option as the way both agents work is totally different so it makes sense to have different defaults.

In OVN, the Metadata Agent will run in compute nodes while in the ML2/OVS case it usually runs in controllers so the scenario is totally different.

We defaulted to 2 in TripleO and this commit includes further details:

https://opendev.org/openstack/puppet-neutron/commit/847f434140ee8435ee842801748a0deccdff8155

Tags: ovn
tags: added: ovn
Changed in neutron:
status: New → Confirmed
importance: Undecided → Medium
Frode Nordahl (fnordahl)
Changed in charm-ovn-chassis:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Frode Nordahl (fnordahl)
Changed in charm-layer-ovn:
status: New → In Progress
importance: Undecided → High
assignee: nobody → Frode Nordahl (fnordahl)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ovn-chassis (master)

Fix proposed to branch: master
Review: https://review.opendev.org/749542

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-ovn-chassis (master)

Reviewed: https://review.opendev.org/749542
Committed: https://git.openstack.org/cgit/x/charm-ovn-chassis/commit/?id=e06b578b4580c0f46fe38f8937934a6ff72b97a3
Submitter: Zuul
Branch: master

commit e06b578b4580c0f46fe38f8937934a6ff72b97a3
Author: Frode Nordahl <email address hidden>
Date: Wed Sep 2 17:43:52 2020 +0200

    Add configuration option for Neutron OVN Metadata workers

    The Neutron default of number of CPUs / 2 is way too high for the
    Neutron OVN Metadata service and puts an unneccessary toll on the
    OVN Southbound database.

    Add a new configuration option to control this which defaults to
    2.

    Note that we do not use the default worker-multiplier handling
    code that many other of our charms use because the main use case
    for that code is to handle the use case where API services run in
    containers.

    The Neutron OVN Metadata service runs directly on the host.

    Merge after openstack-charmers/charm-layer-ovn#21

    Change-Id: Ic335a552dc9afcaab026c534499e4070846851eb
    Closes-Bug: #1893656

Changed in charm-ovn-chassis:
status: In Progress → Fix Committed
Frode Nordahl (fnordahl)
Changed in charm-layer-ovn:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to charm-ovn-chassis (stable/20.08)

Fix proposed to branch: stable/20.08
Review: https://review.opendev.org/749741

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-ovn-chassis (stable/20.08)

Reviewed: https://review.opendev.org/749741
Committed: https://git.openstack.org/cgit/x/charm-ovn-chassis/commit/?id=2a864ad8e2001fa8be976e7b13ff99ff4d821b31
Submitter: Zuul
Branch: stable/20.08

commit 2a864ad8e2001fa8be976e7b13ff99ff4d821b31
Author: Frode Nordahl <email address hidden>
Date: Wed Sep 2 17:43:52 2020 +0200

    Add configuration option for Neutron OVN Metadata workers

    The Neutron default of number of CPUs / 2 is way too high for the
    Neutron OVN Metadata service and puts an unneccessary toll on the
    OVN Southbound database.

    Add a new configuration option to control this which defaults to
    2.

    Note that we do not use the default worker-multiplier handling
    code that many other of our charms use because the main use case
    for that code is to handle the use case where API services run in
    containers.

    The Neutron OVN Metadata service runs directly on the host.

    Merge after openstack-charmers/charm-layer-ovn#21

    Change-Id: Ic335a552dc9afcaab026c534499e4070846851eb
    Closes-Bug: #1893656
    (cherry picked from commit e06b578b4580c0f46fe38f8937934a6ff72b97a3)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.opendev.org/750185

Changed in neutron:
assignee: nobody → Lucas Alvares Gomes (lucasagomes)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.opendev.org/750185
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=f3a8e1547d444a1139d29faef3e81a8addb99769
Submitter: Zuul
Branch: master

commit f3a8e1547d444a1139d29faef3e81a8addb99769
Author: Lucas Alvares Gomes <email address hidden>
Date: Mon Sep 7 15:38:23 2020 +0100

    [OVN][OVS] Different metadata_workers default based on driver

    Both drivers have different approaches when it comes to the metatada
    agent, for one the metadata agent for ML2/OVN runs on the compute nodes
    (it's distributed) instead of the controller nodes.

    The previous default of "<# of CPUs> / 2" did not make sense for ML2/OVN
    and if left unchanged could result in scalation problems because of the
    number of connections to the OVSDB Southbound database, as seeing in
    this email thread for example [0].

    This patch puts a placeholder value (None) on the default field of
    the "metadata_workers" config by not setting it immediately and then
    conditionally set the default value based on each driver:

    * ML2/OVS defaults to <# CPUs> // 2, as before.
    * ML2/OVN defaults to 2, as suggested in the bug description and also
      what's default in TripleO for the OVN driver.

    [0]
    http://lists.openstack.org/pipermail/openstack-discuss/2020-September/016960.html

    Change-Id: I60d5dfef38dc130b47668604c04299b9d23b59b6
    Closes-Bug: #1893656
    Signed-off-by: Lucas Alvares Gomes <email address hidden>

Changed in neutron:
status: In Progress → Fix Released
Changed in charm-ovn-chassis:
milestone: none → 20.10
Changed in charm-ovn-chassis:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.