← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1488015] [NEW] Potential race condition in l3-ha handling of l2pop initial master selection

 

Public bug reported:

In _ensure_host_set_on_port, if no master is set for the router yet, we
get None from get_active_host_for_ha_router, and in that case we use the
reporting agent host to set as an active in the port bindings, assuming
that later, when master is elected, it will be reset to the proper
value.

The race could occur when we first fetch the active host for the port,
it's returned as None because it's not yet elected, then it's elected,
and only then we hit the database with our random host, so in the end
the port binding contains the host that does not potentially reflect the
master (assuming the agent that sent sync_routers() is not the one that
became the master).

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  Potential race condition in l3-ha handling of l2pop initial master
  selection

Status in neutron:
  New

Bug description:
  In _ensure_host_set_on_port, if no master is set for the router yet,
  we get None from get_active_host_for_ha_router, and in that case we
  use the reporting agent host to set as an active in the port bindings,
  assuming that later, when master is elected, it will be reset to the
  proper value.

  The race could occur when we first fetch the active host for the port,
  it's returned as None because it's not yet elected, then it's elected,
  and only then we hit the database with our random host, so in the end
  the port binding contains the host that does not potentially reflect
  the master (assuming the agent that sent sync_routers() is not the one
  that became the master).

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


Follow ups