847f434140
Prior to this patch, the metadata_workers parameter defaults to
$os_workers (calculated here [0]) but, even tho it's capped at 12 workers
this number still redundant.
There are a few differences of how the OVN metadata agent works compared
with the OVS metadata agents:
1) The OVN metadata workers are deployed onto the compute nodes and not
on the controllers/gateways as the OVS ones are. This means it's
better distributed.
2) Even tho we could have multiple workers, the OVN SB IDL in the OVN
metadata agents acquires a lock while listening to OVSDB events.
Therefore, even tho we could have dozens of agents only one of them
is listening to the events.
3) Instantiating IDLs means maintaining in-memory replicas of the
OVSDB (or, the tables of that DB that is being watched). This puts a
burden on OVSDBs to maintain all these replicas updated, reducing
this number workers also reduces the burden on the OVSDBs.
This patch is reducing the default number of OVN metadata agents to two
(per compute). Two because that keeps it HA, in case the active agente
dies the lock moves to the other one and the service will keep working.
[0]
74e0f5a317/lib/facter/os_workers.rb (L37)
Change-Id: I6b9cc2aff14ce38a56c2757d9ad6c56898e27247
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
12 lines
568 B
YAML
12 lines
568 B
YAML
---
|
|
upgrade:
|
|
- |
|
|
Switched the default value of the ``metadata_workers`` configuration
|
|
option for the OVN metadata agents to 2 (from $::os_workers). While
|
|
the OVS metadata agents runs on the controllers/gateway nodes (and
|
|
defaults to $::os_workers) the OVN metadata agents are distributed
|
|
and runs on the compute nodes instead so, there's no point in running
|
|
dozen of them on each compute. Also, by reducing the number of workers
|
|
we also reduce the burden on the OVSDB that the OVN metadata agent
|
|
connects to making OVN more scalable.
|