Public bug reported: In TestDvrRouter class, two methods, _add_fip_agent_gw_port_info_to_router and _add_snat_port_info_to_router don't work for dual_stack case.
Method generate_dvr_router_info will try to call prepare_router_data to get a basic router dict, and then call the two methods to process additional data in router dict. If we passing dual_stack=True, in the router dict, ex_gw_port will have two subnets and two fixed_ips [1], and two subnets and two fixed_ips for each interface [2], one for v4 and another for v6. But in _add_fip_agent_gw_port_info_to_router, it will only process the first fixed_ip and subnet in ex_gw_port in router dict [3], and in _add_snat_port_info_to_router, it will only process fixed_ip and subnet for the first interface [4]. That will make dual_stack finally fail to work. [1] https://github.com/openstack/neutron/blob/master/neutron/tests/common/l3_test_common.py#L61-L94 [2] https://github.com/openstack/neutron/blob/master/neutron/tests/common/l3_test_common.py#L140-L174 [3] https://github.com/openstack/neutron/blob/master/neutron/tests/functional/agent/l3/test_dvr_router.py#L230-L251 [4] https://github.com/openstack/neutron/blob/master/neutron/tests/functional/agent/l3/test_dvr_router.py#L258-L280 ** Affects: neutron Importance: Undecided Assignee: ZongKai LI (lzklibj) Status: New ** 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/1552070 Title: Two functional test method in TestDvrRouter don't work to dual_stack case Status in neutron: New Bug description: In TestDvrRouter class, two methods, _add_fip_agent_gw_port_info_to_router and _add_snat_port_info_to_router don't work for dual_stack case. Method generate_dvr_router_info will try to call prepare_router_data to get a basic router dict, and then call the two methods to process additional data in router dict. If we passing dual_stack=True, in the router dict, ex_gw_port will have two subnets and two fixed_ips [1], and two subnets and two fixed_ips for each interface [2], one for v4 and another for v6. But in _add_fip_agent_gw_port_info_to_router, it will only process the first fixed_ip and subnet in ex_gw_port in router dict [3], and in _add_snat_port_info_to_router, it will only process fixed_ip and subnet for the first interface [4]. That will make dual_stack finally fail to work. [1] https://github.com/openstack/neutron/blob/master/neutron/tests/common/l3_test_common.py#L61-L94 [2] https://github.com/openstack/neutron/blob/master/neutron/tests/common/l3_test_common.py#L140-L174 [3] https://github.com/openstack/neutron/blob/master/neutron/tests/functional/agent/l3/test_dvr_router.py#L230-L251 [4] https://github.com/openstack/neutron/blob/master/neutron/tests/functional/agent/l3/test_dvr_router.py#L258-L280 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1552070/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp