← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1703059] [NEW] DHCP agent start metadata ns process with vrouter id in subnet isolated

 

Public bug reported:

When user create network with isolated subnet, dhcp may create metadata
ns proxy with router id.

How to reproduce:
1. create a router: R1
2. create a network: Net1
3. create two subnetworks: Sub1, Sub2
4. attach Sub1 to R1. (do not attach Sub2)

if you deploy dhcp-agent and l3-agent on seperate node, you will see:
   a) dhcp-agent will start metadata ns proxy with router-uuid with port 80 (This metadata ns proxy will not work in data path)

Here is a sample, you can see the metadata_port is 80 with router_id:
neutron  237535  0.0  0.2 295864 46284 ?        S    Jul07   0:00 /usr/bin/python2 /bin/neutron-ns-metadata-proxy --pid_file=/var/lib/neutron/external/pids/160f2356-3bf5-4a1c-80e6-b9ef8b971047.pid --metadata_proxy_socket=/var/lib/neutron/metadata_proxy --router_id=160f2356-3bf5-4a1c-80e6-b9ef8b971047 --state_path=/var/lib/neutron --metadata_port=80 --metadata_proxy_user=995 --metadata_proxy_group=992 --debug --log-file=neutron-ns-metadata-proxy-160f2356-3bf5-4a1c-80e6-b9ef8b971047.log --log-dir=/var/log/neutron

   b) l3-agent will start metadata ns proxy with router-uuid with port
9697 (This metadata ns proxy works in data path)

if you deploy deploy dhcp-agent and l3-agent on same node, metadata ns
proxy may start by dhcp or l3 agent, both process manager in dhcp agent
and l3 agent will monitor this metadata ns proxy.  This means if you
kill this metadata ns proxy, it may be start up by dhcp agent or l3
agent, this is relay on which agent start it first. you will see the
port of metadata ns proxy may be 80 or 9697. The action is
unpredictable.

The problem is DHCP agent should not manage metadata ns proxy with
router_id, this kind of metadata ns proxy should be managed by l3 agent.

When dhcp agent find isolated subnet, it should start metadata ns proxy with network_id, not router_id, the following code should be removed:
https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L508

** Affects: neutron
     Importance: Undecided
         Status: New

** Description changed:

- When user create network with isolated subnet, dhcp may create metadata ns proxy with router id.
-  
+ When user create network with isolated subnet, dhcp may create metadata
+ ns proxy with router id.
+ 
  How to reproduce:
  1. create a router: R1
  2. create a network: Net1
  3. create two subnetworks: Sub1, Sub2
  4. attach Sub1 to R1. (do not attach Sub2)
  
  if you deploy dhcp-agent and l3-agent on seperate node, you will see:
-    a) dhcp-agent will start metadata ns proxy with router-uuid with port 80 (This metadata ns proxy will not work in data path)
-    b) l3-agent will start metadata ns proxy with router-uuid with port 9697 (This metadata ns proxy works in data path)
+    a) dhcp-agent will start metadata ns proxy with router-uuid with port 80 (This metadata ns proxy will not work in data path)
+ 
+ Here is a sample, you can see the metadata_port is 80 with router_id:
+ neutron  237535  0.0  0.2 295864 46284 ?        S    Jul07   0:00 /usr/bin/python2 /bin/neutron-ns-metadata-proxy --pid_file=/var/lib/neutron/external/pids/160f2356-3bf5-4a1c-80e6-b9ef8b971047.pid --metadata_proxy_socket=/var/lib/neutron/metadata_proxy --router_id=160f2356-3bf5-4a1c-80e6-b9ef8b971047 --state_path=/var/lib/neutron --metadata_port=80 --metadata_proxy_user=995 --metadata_proxy_group=992 --debug --log-file=neutron-ns-metadata-proxy-160f2356-3bf5-4a1c-80e6-b9ef8b971047.log --log-dir=/var/log/neutron
+ 
+    b) l3-agent will start metadata ns proxy with router-uuid with port
+ 9697 (This metadata ns proxy works in data path)
  
  if you deploy deploy dhcp-agent and l3-agent on same node, metadata ns
  proxy may start by dhcp or l3 agent, both process manager in dhcp agent
  and l3 agent will monitor this metadata ns proxy.  This means if you
  kill this metadata ns proxy, it may be start up by dhcp agent or l3
  agent, this is relay on which agent start it first. you will see the
  port of metadata ns proxy may be 80 or 9697. The action is
  unpredictable.
  
- 
- The problem is DHCP agent should not manage metadata ns proxy with router_id, this kind of metadata ns proxy should be managed by l3 agent.
+ The problem is DHCP agent should not manage metadata ns proxy with
+ router_id, this kind of metadata ns proxy should be managed by l3 agent.
  
  When dhcp agent find isolated subnet, it should start metadata ns proxy with network_id, not router_id, the following code should be removed:
  https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L508

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

Title:
  DHCP agent start metadata ns process with vrouter id in subnet
  isolated

Status in neutron:
  New

Bug description:
  When user create network with isolated subnet, dhcp may create
  metadata ns proxy with router id.

  How to reproduce:
  1. create a router: R1
  2. create a network: Net1
  3. create two subnetworks: Sub1, Sub2
  4. attach Sub1 to R1. (do not attach Sub2)

  if you deploy dhcp-agent and l3-agent on seperate node, you will see:
     a) dhcp-agent will start metadata ns proxy with router-uuid with port 80 (This metadata ns proxy will not work in data path)

  Here is a sample, you can see the metadata_port is 80 with router_id:
  neutron  237535  0.0  0.2 295864 46284 ?        S    Jul07   0:00 /usr/bin/python2 /bin/neutron-ns-metadata-proxy --pid_file=/var/lib/neutron/external/pids/160f2356-3bf5-4a1c-80e6-b9ef8b971047.pid --metadata_proxy_socket=/var/lib/neutron/metadata_proxy --router_id=160f2356-3bf5-4a1c-80e6-b9ef8b971047 --state_path=/var/lib/neutron --metadata_port=80 --metadata_proxy_user=995 --metadata_proxy_group=992 --debug --log-file=neutron-ns-metadata-proxy-160f2356-3bf5-4a1c-80e6-b9ef8b971047.log --log-dir=/var/log/neutron

     b) l3-agent will start metadata ns proxy with router-uuid with port
  9697 (This metadata ns proxy works in data path)

  if you deploy deploy dhcp-agent and l3-agent on same node, metadata ns
  proxy may start by dhcp or l3 agent, both process manager in dhcp
  agent and l3 agent will monitor this metadata ns proxy.  This means if
  you kill this metadata ns proxy, it may be start up by dhcp agent or
  l3 agent, this is relay on which agent start it first. you will see
  the port of metadata ns proxy may be 80 or 9697. The action is
  unpredictable.

  The problem is DHCP agent should not manage metadata ns proxy with
  router_id, this kind of metadata ns proxy should be managed by l3
  agent.

  When dhcp agent find isolated subnet, it should start metadata ns proxy with network_id, not router_id, the following code should be removed:
  https://github.com/openstack/neutron/blob/master/neutron/agent/dhcp/agent.py#L508

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


Follow ups