← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1997982] [NEW] after restart of a ovn-controller the agent is still down

 

Public bug reported:

Assume a neutron setup with the ml2 ovn plugin.
Further assume for the duration of this issue that no changes are made on the user api, so that nb_cfg at the start of the issue is equal to nb_cfg at the end of the issue:

1. Take any ovn-controller that you have and run a openstack network agent show on it; this should say "up" and a valid "heartbeat_timestamp"
2. Restart the ovn-controller
3. the openstack output should not say down with the unix 0 timestamp as heartbeat
4. Do any change that causes nb_cfg to increase
5. the agent is now up with a proper timestamp

Issue is caused by
https://opendev.org/openstack/neutron/src/commit/0384b3193b11eb6cc849c4511d2e539d42b6d3f9/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py#L339

in step 2 the southbound database will emit two events:
1. when the ovn-controller first starts, one with the addition of Chassis_Private where nb_cfg and nb_cfg_timestamp is 0
2. when the ovn-controller has finished syncing with the nb_cfg as in SB_GLOBAL and nb_cfg_timestamp with the current timestamp

however the second event is currently filtered by the `match_fn` as
`old.nb_cfg` is `0` at this point. In the condition `0` is evaluated to
`False` thereby ignoring the event.

This issue might be the same as
https://bugs.launchpad.net/neutron/+bug/1955503

** Affects: neutron
     Importance: Undecided
     Assignee: Felix Huettner (felix.huettner)
         Status: In Progress

** Changed in: neutron
     Assignee: (unassigned) => Felix Huettner (felix.huettner)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1997982

Title:
  after restart of a ovn-controller the  agent is still down

Status in neutron:
  In Progress

Bug description:
  Assume a neutron setup with the ml2 ovn plugin.
  Further assume for the duration of this issue that no changes are made on the user api, so that nb_cfg at the start of the issue is equal to nb_cfg at the end of the issue:

  1. Take any ovn-controller that you have and run a openstack network agent show on it; this should say "up" and a valid "heartbeat_timestamp"
  2. Restart the ovn-controller
  3. the openstack output should not say down with the unix 0 timestamp as heartbeat
  4. Do any change that causes nb_cfg to increase
  5. the agent is now up with a proper timestamp

  Issue is caused by
  https://opendev.org/openstack/neutron/src/commit/0384b3193b11eb6cc849c4511d2e539d42b6d3f9/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py#L339

  in step 2 the southbound database will emit two events:
  1. when the ovn-controller first starts, one with the addition of Chassis_Private where nb_cfg and nb_cfg_timestamp is 0
  2. when the ovn-controller has finished syncing with the nb_cfg as in SB_GLOBAL and nb_cfg_timestamp with the current timestamp

  however the second event is currently filtered by the `match_fn` as
  `old.nb_cfg` is `0` at this point. In the condition `0` is evaluated
  to `False` thereby ignoring the event.

  This issue might be the same as
  https://bugs.launchpad.net/neutron/+bug/1955503

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1997982/+subscriptions



Follow ups