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 <[email protected]> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

