← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1566046] Re: Fix TypeError when trying to update an arp entry for ports with allowed_address_pairs on DVR router

 

Reviewed:  https://review.openstack.org/301410
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=3d127dd767659e371b72acf04728fb3a2e1025a6
Submitter: Jenkins
Branch:    master

commit 3d127dd767659e371b72acf04728fb3a2e1025a6
Author: Swaminathan Vasudevan <swaminathan.vasudevan@xxxxxxx>
Date:   Mon Apr 4 15:35:53 2016 -0700

    DVR: Fix TypeError in arp update with allowed_address_pairs
    
    There is a TyperError seen when trying to update an arp entry
    for the DVR service port that has associated allowed address
    pairs.
    
    The _get_allowed_address_pair_fixed_ips were not returing the
    fixed_ips dictionary but just returning the fixed_ip string.
    
    This caused the TypeError to occur. In addition to the fixed_ip
    it should also return the subnet_id for arp_update and it was
    returning it.
    
    This patch fixes the issues mentioned above.
    
    Closes-Bug: #1566046
    Change-Id: I35d3145682e23e087c17129bb9556946e0aa801c


** Changed in: neutron
       Status: In Progress => Fix Released

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

Title:
  Fix TypeError when trying to update an arp entry for ports with
  allowed_address_pairs on DVR router

Status in neutron:
  Fix Released

Bug description:
  TypeError is seen when trying to update an arp entry for ports with allowed_address_pairs on DVR router.
  This was seen in the master branch while I was testing the allowed_address_pair with floatingips on DVR router.

  
  plugin.update_arp_entry_for_dvr_service_port(context, port)
  ^[[01;31m2016-03-30 12:06:00.910 TRACE neutron.callbacks.manager ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 775, in update_arp_entry_for_dvr_service_port
  ^[[01;31m2016-03-30 12:06:00.910 TRACE neutron.callbacks.manager ^[[01;35m^[[00m    self.l3_rpc_notifier.add_arp_entry)
  ^[[01;31m2016-03-30 12:06:00.910 TRACE neutron.callbacks.manager ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/db/l3_dvr_db.py", line 729, in _generate_arp_table_and_notify_agent
  ^[[01;31m2016-03-30 12:06:00.910 TRACE neutron.callbacks.manager ^[[01;35m^[[00m    ip_address = fixed_ip['ip_address']
  ^[[01;31m2016-03-30 12:06:00.910 TRACE neutron.callbacks.manager ^[[01;35m^[[00mTypeError: string indices must be integers

  
  How to reproduce it.

  1. Create a vrrp-network
  2. Create a vrrp-subnet
  3. Create a dvr router
  4. Attach the vrrp-subnet to the router
  5. Create security group rules for the vrrp-net and add rules to it.
  6. Now create a VM on the vrrp-subnet
  8. Now create a vrrp-port (allowed_address_pair) on the vrrp-subnet
  9. Associate a floatingip to the vrrp-port.
  10. Now update the VM port with the allowed_address_pair IP.

  You should see this in the neutron-server logs.

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


References