<div dir="ltr">Unfortunately, it seems to be the case. Just saw there is a summit talk about it called IPv6 Feature in Openstack Juno. Dual stack floating ip support is planned in K.<div>However, I couldn't even get single IPv6 floating IP to work. Even though I configured only IPv6 subnet for the external network, I got those errors from neutron-l3-agent when associating the floating IP to instance.</div><div><br></div><div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-b243c786-4648-4d69-b749-ee5fad02069b', 'iptables-restore', '-c']</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: Exit code: 2</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: Stdout: ''</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: Stderr: "iptables-restore v1.4.21: host/network `2001:470:1f0f:cb4::7' not found\nError occurred at line: 39\nTry `iptables-restore -h' or 'iptables-restore --help' for more information.\n"</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 2014-10-29 10:55:32.407 30286 ERROR neutron.agent.linux.iptables_manager [-] IPTablesManager.apply failed to apply the following set of iptables rules:</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 1. # Generated by iptables-save v1.4.21 on Wed Oct 29 10:55:32 2014</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 2. *raw</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 3. :PREROUTING ACCEPT [148546:23091816]</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 4. :OUTPUT ACCEPT [219:20352]</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 5. :neutron-l3-agent-OUTPUT - [0:0]</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 6. :neutron-l3-agent-PREROUTING - [0:0]</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 7. [148546:23091816] -A PREROUTING -j neutron-l3-agent-PREROUTING</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 8. [219:20352] -A OUTPUT -j neutron-l3-agent-OUTPUT</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 9. COMMIT</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 10. # Completed on Wed Oct 29 10:55:32 2014</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 11. # Generated by iptables-save v1.4.21 on Wed Oct 29 10:55:32 2014</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 12. *mangle</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 13. :PREROUTING ACCEPT [148546:23091816]</div><div>Oct 29 10:55:32 overcloud-controller0-ghqtsmsgjgck neutron-l3-agent: 14. :INPUT ACCEPT [55837:18978656]</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 30, 2014 at 6:32 PM, Harm Weites <span dir="ltr"><<a href="mailto:harm@weites.com" target="_blank">harm@weites.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
I'm seeing the same error when trying to setup a whole new network
through Horizon with external gateway and an ipv4 and ipv6 subnet.
Eg, without floating ip.<br>
<br>
l3_agent.py is trying this: prefixlen =
netaddr.IPNetwork(port['subnet']['cidr']).prefixlen<br>
<br>
Looking inside port[] lists the following items:<br>
<br>
2014-10-30 10:26:05.834 21765 ERROR neutron.agent.l3_agent [-]
Ignoring multiple IPs on router port
b4d94d2a-0ba2-43f0-be5f-bb53e89abe32<br>
2014-10-30 10:26:05.836 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[status] = DOWN<br>
2014-10-30 10:26:05.837 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[binding:host_id] = myhostname<br>
2014-10-30 10:26:05.839 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[name] = <br>
2014-10-30 10:26:05.840 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[allowed_address_pairs] = []<br>
2014-10-30 10:26:05.841 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[admin_state_up] = True<br>
2014-10-30 10:26:05.843 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[network_id] = 00539791-0b2f-4628-9599-622fa00993b5<br>
2014-10-30 10:26:05.844 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[tenant_id] = <br>
2014-10-30 10:26:05.846 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[extra_dhcp_opts] = []<br>
2014-10-30 10:26:05.847 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[binding:vif_details] = {}<br>
2014-10-30 10:26:05.848 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[binding:vif_type] = binding_failed<br>
2014-10-30 10:26:05.849 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[device_owner] = network:router_gateway<br>
2014-10-30 10:26:05.851 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[mac_address] = fa:16:3e:53:89:8d<br>
2014-10-30 10:26:05.853 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[binding:profile] = {}<br>
2014-10-30 10:26:05.854 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[binding:vnic_type] = normal<br>
2014-10-30 10:26:05.856 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[fixed_ips] = [{u'subnet_id':
u'faaf9c91-19ce-4c14-8f86-c81949cdbac5', u'ip_address':
u'192.168.64.30'}, {u'subnet_id':
u'381d0c54-1a4e-4a27-9858-a81202e81487', u'ip_address':
u'2001:470:ffff:64::aaaa'}]<br>
2014-10-30 10:26:05.857 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[id] = b4d94d2a-0ba2-43f0-be5f-bb53e89abe32<br>
2014-10-30 10:26:05.858 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[security_groups] = []<br>
2014-10-30 10:26:05.860 21765 INFO neutron.agent.l3_agent [-] CHECK:
port[device_id] = d3bbec5a-2075-4229-ba88-698f27cd0943<br>
<br>
_set_subnet_info() is set to log an ERROR when it encounters
multiple addresses and then happily continues doing something:<span class=""><br>
<br>
prefixlen = netaddr.IPNetwork(port['subnet']['cidr']).prefixlen<br></span>
port['ip_cidr'] = "%s/%s" % (ips[0]['ip_address'], prefixlen)<br>
<br>
Operations with just 1 (ipv6) ip go without any issues, the adress
is added to a namespace and pongs just fine. Adding 2 subnets to
this external net and creating a gateway to it on the l3 router
causes a problem.<br>
<br>
Do we need to wait for K before we can fully go dual-stack?<br>
<br>
- Harm<br>
<br>
<div>op 29-10-14 15:29, Jerry Xinyu Zhao
schreef:<br>
</div>
<blockquote type="cite"><div><div class="h5">
<div dir="ltr">
<div>Hi</div>
<div>I want to use both ipv4 and ipv6 for floating ip at the
same time. However, I have the following issue when setting
router gateway or associate floating ip to an instance.</div>
<div>Is it supported in the first place? What should I do to
make it work?</div>
<div>Thanks!</div>
<div><br>
</div>
<div>
<div>neutron router-list</div>
<div>+--------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+</div>
<div>| id | name |
external_gateway_info
| distributed | ha
|</div>
<div>+--------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+</div>
<div>| b243c786-4648-4d69-b749-ee5fad02069b | default-router |
{"network_id": "02eca54a-420d-4d52-b045-1207e17994e5",
"enable_snat": true, "external_fixed_ips": [{"subnet_id":
"a188333f-77c3-40d9-9048-e733c4da30b1", "ip_address":
"162.3.123.51"}, {"subnet_id":
"14d9dd91-b315-43bc-818d-ab21f62c1ebb", "ip_address":
"2001:470:1f0f:cb4::7"}]} | False | False |</div>
<div>+--------------------------------------+----------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+</div>
<div><br>
</div>
<div><br>
</div>
<div>neutron-l3-agent log:</div>
<div><br>
</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 ERROR
neutron.agent.l3_agent [-] Ignoring multiple IPs on router
port 18c8874c-f9a0-4274-8f38-fab3da754c2b</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 ERROR
neutron.agent.l3_agent [-] 'subnet'</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent Traceback (most recent call last):</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/common/utils.py",
line 341, in call</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent return func(*args, **kwargs)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 948, in process_router</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent self._set_subnet_info(ex_gw_port)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 864, in _set_subnet_info</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent prefixlen =
netaddr.IPNetwork(port['subnet']['cidr']).prefixlen</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent KeyError: 'subnet'</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: 2014-10-29 14:10:08.941 30286 TRACE
neutron.agent.l3_agent </div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: Traceback (most recent call last):</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/eventlet/greenpool.py",
line 82, in _spawn_n_impl</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: func(*args, **kwargs)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 1837, in _process_router_update</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent:
self._process_router_if_compatible(router)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 1812, in _process_router_if_compatible</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: self.process_router(ri)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/common/utils.py",
line 344, in call</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: self.logger(e)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/openstack/common/excutils.py",
line 82, in __exit__</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: six.reraise(self.type_, self.value,
self.tb)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/common/utils.py",
line 341, in call</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: return func(*args, **kwargs)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 948, in process_router</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: self._set_subnet_info(ex_gw_port)</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: File
"/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py",
line 864, in _set_subnet_info</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: prefixlen =
netaddr.IPNetwork(port['subnet']['cidr']).prefixlen</div>
<div>Oct 29 14:10:08 overcloud-controller0-ghqtsmsgjgck
neutron-l3-agent: KeyError: 'subnet'</div>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
OpenStack-dev mailing list
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
</blockquote>
<br>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>