← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1507489] [NEW] manually reschedule dhcp-agent doesn't update port binding

 

Public bug reported:

We can use dhcp-agent-network-add/remove to manually reschedule a net between dhcp-agents. And "neutron dhcp-agent-list-hosting-net" and ip or ps commands can be used to confirm network is rescheduled to new agent.
But dhcp port binding doesn't get updated in db site, we can use "neutron port-show" to find that, after network is rescheduled.

Pre-conditions:
2 active dhcp-agents, agent-A and agent-B;
network net-1 is bound on agent-A, use "neutron dhcp-agent-list-hosting-net" can to verify this;
port-1 is dhcp port of net-1;
set dhcp_agents_per_network = 1 in /etc/neutron/neutron.conf;

steps:
neutron dhcp-agent-network-remove AGENT-A-ID NET-1-ID ; neutron port-show PORT-1-ID
[1]
neutron dhcp-agent-network-add AGENT-B-ID NET-1-ID ; neutron port-show PORT-1-ID
[2]

expected:
[1]:
Field                      Value
binding:host_id      EMPTY
binding:profile       {}
binding:vif_details  {}
binding:vif_type     unbound
binding:vnic_type   normal
device_id               reserved_dhcp_port
....

[2]:
Field                      Value
binding:host_id      AGENT-B-HOST-ID
binding:profile       {}
binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
binding:vif_type     ovs
binding:vnic_type   normal
device_id               dhcpxxx(relate-to-agent-B-host)-NET-1-ID

Actual output:
[1]
Field                      Value
binding:host_id      AGENT-A-HOST-ID
binding:profile       {}
binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
binding:vif_type     ovs
binding:vnic_type   normal
device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID
[2]

Field                      Value
binding:host_id      AGENT-A-HOST-ID
binding:profile       {}
binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
binding:vif_type     ovs
binding:vnic_type   normal
device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID

** Affects: neutron
     Importance: Undecided
     Assignee: ZongKai LI (lzklibj)
         Status: New

** Description changed:

  We can use dhcp-agent-network-add/remove to manually reschedule a net between dhcp-agents. And "neutron dhcp-agent-list-hosting-net" and ip or ps commands can be used to confirm network is rescheduled to new agent.
  But dhcp port binding doesn't get updated in db site, we can use "neutron port-show" to find that, after network is rescheduled.
  
  Pre-conditions:
  2 active dhcp-agents, agent-A and agent-B;
  network net-1 is bound on agent-A, use "neutron dhcp-agent-list-hosting-net" can to verify this;
  port-1 is dhcp port of net-1;
  set dhcp_agents_per_network = 1 in /etc/neutron/neutron.conf;
  
  steps:
  neutron dhcp-agent-network-remove AGENT-A-ID NET-1-ID ; neutron port-show PORT-1-ID
  [1]
  neutron dhcp-agent-network-add AGENT-B-ID NET-1-ID ; neutron port-show PORT-1-ID
  [2]
  
  expected:
- [1]: 
+ [1]:
  Field                      Value
  binding:host_id      EMPTY
  binding:profile       {}
  binding:vif_details  {}
  binding:vif_type     unbound
  binding:vnic_type   normal
  device_id               reserved_dhcp_port
  ....
  
  [2]:
  Field                      Value
  binding:host_id      AGENT-B-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-B-host)-NET-1-ID
  
  Actual output:
  [1]
  Field                      Value
  binding:host_id      AGENT-A-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID
  [2]
  
  Field                      Value
  binding:host_id      AGENT-A-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID

** Changed in: neutron
     Assignee: (unassigned) => ZongKai LI (lzklibj)

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

Title:
  manually reschedule dhcp-agent doesn't update port binding

Status in neutron:
  New

Bug description:
  We can use dhcp-agent-network-add/remove to manually reschedule a net between dhcp-agents. And "neutron dhcp-agent-list-hosting-net" and ip or ps commands can be used to confirm network is rescheduled to new agent.
  But dhcp port binding doesn't get updated in db site, we can use "neutron port-show" to find that, after network is rescheduled.

  Pre-conditions:
  2 active dhcp-agents, agent-A and agent-B;
  network net-1 is bound on agent-A, use "neutron dhcp-agent-list-hosting-net" can to verify this;
  port-1 is dhcp port of net-1;
  set dhcp_agents_per_network = 1 in /etc/neutron/neutron.conf;

  steps:
  neutron dhcp-agent-network-remove AGENT-A-ID NET-1-ID ; neutron port-show PORT-1-ID
  [1]
  neutron dhcp-agent-network-add AGENT-B-ID NET-1-ID ; neutron port-show PORT-1-ID
  [2]

  expected:
  [1]:
  Field                      Value
  binding:host_id      EMPTY
  binding:profile       {}
  binding:vif_details  {}
  binding:vif_type     unbound
  binding:vnic_type   normal
  device_id               reserved_dhcp_port
  ....

  [2]:
  Field                      Value
  binding:host_id      AGENT-B-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-B-host)-NET-1-ID

  Actual output:
  [1]
  Field                      Value
  binding:host_id      AGENT-A-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID
  [2]

  Field                      Value
  binding:host_id      AGENT-A-HOST-ID
  binding:profile       {}
  binding:vif_details  {"port_filter": true, "ovs_hybrid_plug": true}
  binding:vif_type     ovs
  binding:vnic_type   normal
  device_id               dhcpxxx(relate-to-agent-A-host)-NET-1-ID

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


Follow ups