← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1377307] [NEW] Metadata host route added when DVR and isolated metadata enabled

 

Public bug reported:

When DVR is enabled and enable_isolated_metadata=True in dhcp_agent.ini,
the agent should only inject a metadata host route when there is no
gateway on the subnet.  But it does it all the time:

$ ip r
default via 10.0.0.1 dev eth0
10.0.0.0/24 dev eth0  src 10.0.0.5
169.254.169.254 via 10.0.0.4 dev eth0

The "opts" file for dnsmasq confirms it was the Neutron code that
configured this.

The code in neutron/agent/linux/dhcp.py:get_isolated_subnets() is only
looking at ports where the device_owner field is
DEVICE_OWNER_ROUTER_INTF, it also needs to look for
DEVICE_OWNER_DVR_INTERFACE.  Simlar changes have been made in other
code.

Making that simple change fixes the problem:

$ ip r
default via 10.0.0.1 dev eth0
10.0.0.0/24 dev eth0  src 10.0.0.5

I have a patch I'll get out for this.

** Affects: neutron
     Importance: Undecided
     Assignee: Brian Haley (brian-haley)
         Status: New


** Tags: l3-dvr-backlog

** Changed in: neutron
     Assignee: (unassigned) => Brian Haley (brian-haley)

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

Title:
  Metadata host route added when DVR and isolated metadata enabled

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  When DVR is enabled and enable_isolated_metadata=True in
  dhcp_agent.ini, the agent should only inject a metadata host route
  when there is no gateway on the subnet.  But it does it all the time:

  $ ip r
  default via 10.0.0.1 dev eth0
  10.0.0.0/24 dev eth0  src 10.0.0.5
  169.254.169.254 via 10.0.0.4 dev eth0

  The "opts" file for dnsmasq confirms it was the Neutron code that
  configured this.

  The code in neutron/agent/linux/dhcp.py:get_isolated_subnets() is only
  looking at ports where the device_owner field is
  DEVICE_OWNER_ROUTER_INTF, it also needs to look for
  DEVICE_OWNER_DVR_INTERFACE.  Simlar changes have been made in other
  code.

  Making that simple change fixes the problem:

  $ ip r
  default via 10.0.0.1 dev eth0
  10.0.0.0/24 dev eth0  src 10.0.0.5

  I have a patch I'll get out for this.

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


Follow ups

References