Reviewed: https://review.openstack.org/408306 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e48caf6736426e6cabc94fe3f7fbcdaf26c21dc1 Submitter: Jenkins Branch: master
commit e48caf6736426e6cabc94fe3f7fbcdaf26c21dc1 Author: Robert Li <[email protected]> Date: Wed Dec 7 15:54:26 2016 -0500 Add agent object in router info agent object is a member of some sub classes of RouterInfo such as HaRouter. This changeset makes it a member of the RouterInfo class itself. Prior to the change, the agent object has been passed in to some methods of RouterInfo that requires it to access the agent object's member information. The bugs in concern requires calling the PD object that is a member of the agent object to get IPs that need to be preserved in the gateway port. Without this change, signatures of the methods external_gateway_added() and external_gateway_updated() have to be modified to pass in the agent object. And any subclass of RouterInfo that overwrites or uses the methods must be changed as well. It doesn't seem to make sense considering the subclass such as HaRouter has the agent object as one of its members already. The changeset fixes the bugs by preserving the LLAs for prefix delegation when the gateway port is being updated. Closes-Bug: #1639042 Closes-Bug: #1640271 Change-Id: I61c6128ed1973deb8440c54234e77a66987d7e28 ** 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/1640271 Title: Prefix delegation: bind LLA is removed from the gateway port with a regular neutron router Status in neutron: Fix Released Bug description: Following the wiki http://docs.openstack.org/mitaka/networking-guide /config-ipv6.html, setup PD in a openstack deployment. Create a router and add a PD-enabled subnet as in below: neutron net-create ipv6-pd-net neutron subnet-create --ip-version 6 --name ipv6-pd-subnet --ipv6-address-mode slaac --ipv6-ra-mode slaac --use-default-subnetpool ipv6-pd-net neutron router-create pd-router neutron router-interface-add pd-router ipv6-pd-subnet neutron router-gateway-set pd-router public Prefix will be obtained successfully. However, check the router namespace, and the bind LLA for the dibbler client that is created to request for prefix no longer exists any more. The only LLA shown is the default LLA on the qg-xxx interface. 231: qg-302d8d0d-65: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default link/ether fa:16:3e:3a:92:b5 brd ff:ff:ff:ff:ff:ff inet 172.24.4.10/24 brd 172.24.4.255 scope global qg-302d8d0d-65 valid_lft forever preferred_lft forever inet6 2001:db8::a/64 scope global valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fe3a:92b5/64 scope link valid_lft forever preferred_lft forever See logs in the attachment that shows the bind LLA is removed the second time the gateway port is updated by init_router_port(). This means, the renewing of the prefix by the dibbler client will be failing later. https://bugs.launchpad.net/neutron/+bug/1639042 reported a symptom that is also caused by the removal of the bind LLA. Both bugs may share the same root cause: bind LLA should be preserved until the pd subnet is removed from the router. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1640271/+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

