← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1585246] [NEW] HA router does not receive RA from upstream router

 

Public bug reported:


$ neutron router-create cvr-ha-rtr --ha True --distributed False
$ neutron router-interface-add cvr-ha-rtr cvr-ha-subv4
$ neutron router-gateway-set cvr-ha-rtr ext35

Network ext35 does not have an IPv6 subnet, and the physical router on
the vlan is configured to send RAs.

Find the active node:
# ip netns exec qrouter-5aa06109-990f-415d-91f8-90ea7d90de7f \
     cat /proc/sys/net/ipv6/conf/qg-7c4435c1-1b/accept_ra                              
1

This is supposed to be 2 on a router.

Stop the l3-agent on active node to induce a failover to another node.
On the new node:

# ip netns exec qrouter-5aa06109-990f-415d-91f8-90ea7d90de7f \
     cat /proc/sys/net/ipv6/conf/qg-7c4435c1-1b/accept_ra                              
2

And the default v6 route gets configured from the RA.

The problem is that accept_ra gets set to 2 on the transition to master. But if router-gateway-set has not been run before that time, then it will be skipped because ri.ex_gw_port does exist:
https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha.py#L137

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: ipv6 l3-ha

** Tags added: l3-ha

** Tags added: ipv6

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

Title:
  HA router does not receive RA from upstream router

Status in neutron:
  New

Bug description:
  
  $ neutron router-create cvr-ha-rtr --ha True --distributed False
  $ neutron router-interface-add cvr-ha-rtr cvr-ha-subv4
  $ neutron router-gateway-set cvr-ha-rtr ext35

  Network ext35 does not have an IPv6 subnet, and the physical router on
  the vlan is configured to send RAs.

  Find the active node:
  # ip netns exec qrouter-5aa06109-990f-415d-91f8-90ea7d90de7f \
       cat /proc/sys/net/ipv6/conf/qg-7c4435c1-1b/accept_ra                              
  1

  This is supposed to be 2 on a router.

  Stop the l3-agent on active node to induce a failover to another node.
  On the new node:

  # ip netns exec qrouter-5aa06109-990f-415d-91f8-90ea7d90de7f \
       cat /proc/sys/net/ipv6/conf/qg-7c4435c1-1b/accept_ra                              
  2

  And the default v6 route gets configured from the RA.

  The problem is that accept_ra gets set to 2 on the transition to master. But if router-gateway-set has not been run before that time, then it will be skipped because ri.ex_gw_port does exist:
  https://github.com/openstack/neutron/blob/master/neutron/agent/l3/ha.py#L137

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


Follow ups