yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #57801
[Bug 1631693] Re: prefix delegation does not work in newton
Reviewed: https://review.openstack.org/384577
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=14ffea4444985eb041181d1bdef9af53ccb4d9f9
Submitter: Jenkins
Branch: master
commit 14ffea4444985eb041181d1bdef9af53ccb4d9f9
Author: John Davidge <john.davidge@xxxxxxxxxxxxx>
Date: Mon Oct 10 14:05:03 2016 +0100
Fix IPv6 PD with pluggable IPAM
A PD-sepcific check that was present in the non-pluggable IPAM
backend was missing from the pluggable version, causing router
interfaces to be created with a '::1' IP (equal to the gateway on
PD subnets). The resulting command:
ip netns exec <router_namespace> ip -6 addr add ::1/64
would then fail. This patch restores the check to ensure that
'::1' is not used for router interface ports, and introduces a
test to protect against future regressions.
Change-Id: I6a2e7cd60dd42d92b900a57bd8f3ffbc5909908e
Closes-Bug: 1631693
** 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/1631693
Title:
prefix delegation does not work in newton
Status in neutron:
Fix Released
Bug description:
Using a provider network, set up and tested working as laid out here:
http://docs.openstack.org/newton/install-guide-ubuntu/launch-instance-networks-selfservice.html
Using the prefix delegation as defined here:
http://docs.openstack.org/newton/networking-guide/config-ipv6.html
Neutron tries to add the prefix_delegated network directly as just
'::1/64', which fails.
subnet-show ipv6-pd-1
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
| allocation_pools | {"start": "::2", "end": "::ffff:ffff:ffff:ffff"} |
| cidr | ::/64 |
| created_at | 2016-10-09T03:39:31Z |
| description | |
| dns_nameservers | |
| enable_dhcp | True |
| gateway_ip | ::1 |
| host_routes | |
| id | 7aca0fbc-2700-4956-9ecf-25eb40923377 |
| ip_version | 6 |
| ipv6_address_mode | slaac |
| ipv6_ra_mode | slaac |
| name | ipv6-pd-1 |
| network_id | 642b292f-3dee-4444-be52-04520eaed9d1 |
| project_id | e88db48bc6f0406593d0fcb8b648babe |
| revision_number | 2 |
| service_types | |
| subnetpool_id | prefix_delegation |
| tenant_id | e88db48bc6f0406593d0fcb8b648babe |
| updated_at | 2016-10-09T03:39:31Z |
+-------------------+--------------------------------------------------+
2016-10-08 22:46:48.389 19498 DEBUG neutron.agent.linux.utils [-]
Running command: ['sudo', 'neutron-rootwrap',
'/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-
85e10e09-a9a5-4568-ada3-534bd38f66b4', 'ip', '-6', 'addr', 'add',
'::1/64', 'scope', 'global', 'dev', 'qr-76a5d305-56'] create_process
/usr/lib64/python2.7/site-packages/neutron/agent/linux/utils.py:83
2016-10-08 22:46:48.969 19498 DEBUG oslo_messaging._drivers.amqpdriver [-] received message with unique_id: ebe5ebeb036842258fddf3a9958928de __call__ /usr/lib64/python2.7/site-packages/oslo_messaging/_drivers/amqpdriver.py:196
2016-10-08 22:46:48.974 19498 DEBUG neutron.agent.l3.agent [req-66fe2ee5-2cbf-4d0f-892d-e48c50a1d562 user project - - -] Got routers updated notification :[u'85e10e09-a9a5-4568-ada3-534bd38f66b4'] routers_updated /usr/lib64/python2.7/site-packages/neutron/agent/l3/agent.py:400
2016-10-08 22:46:49.441 19498 ERROR neutron.agent.linux.utils [-] Exit
code: 2; Stdin: ; Stdout: ; Stderr: RTNETLINK answers: Cannot assign
requested address
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info [-] Exit code: 2; Stdin: ; Stdout: ; Stderr: RTNETLINK answers: Cannot assign requested address
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info Traceback (most recent call last):
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/common/utils.py", line 239, in call
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info return func(*args, **kwargs)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 1060, in process
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info self._process_internal_ports(agent.pd)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 506, in _process_internal_ports
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info self.internal_network_added(p)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 429, in internal_network_added
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info mtu=port.get('mtu'))
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 407, in _internal_network_added
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info interface_name, ip_cidrs, namespace=ns_name)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/interface.py", line 160, in init_router_port
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info clean_connections=clean_connections)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/interface.py", line 129, in init_l3
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info device.addr.add(ip_cidr)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 577, in add
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info self._as_root([net.version], tuple(args))
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 364, in _as_root
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info use_root_namespace=use_root_namespace)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 95, in _as_root
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info log_fail_as_error=self.log_fail_as_error)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 104, in _execute
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info log_fail_as_error=log_fail_as_error)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/utils.py", line 138, in execute
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info raise RuntimeError(msg)
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info RuntimeError: Exit code: 2; Stdin: ; Stdout: ; Stderr: RTNETLINK answers: Cannot assign requested address
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info
2016-10-08 22:46:49.442 19498 ERROR neutron.agent.l3.router_info
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent [-] Failed to process compatible router: 85e10e09-a9a5-4568-ada3-534bd38f66b4
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent Traceback (most recent call last):
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/agent.py", line 508, in _process_router_update
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self._process_router_if_compatible(router)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/agent.py", line 445, in _process_router_if_compatible
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self._process_updated_router(router)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/agent.py", line 460, in _process_updated_router
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent ri.process(self)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/common/utils.py", line 242, in call
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self.logger(e)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self.force_reraise()
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent six.reraise(self.type_, self.value, self.tb)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/common/utils.py", line 239, in call
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent return func(*args, **kwargs)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 1060, in process
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self._process_internal_ports(agent.pd)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 506, in _process_internal_ports
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self.internal_network_added(p)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 429, in internal_network_added
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent mtu=port.get('mtu'))
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/l3/router_info.py", line 407, in _internal_network_added
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent interface_name, ip_cidrs, namespace=ns_name)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/interface.py", line 160, in init_router_port
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent clean_connections=clean_connections)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/interface.py", line 129, in init_l3
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent device.addr.add(ip_cidr)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 577, in add
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent self._as_root([net.version], tuple(args))
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 364, in _as_root
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent use_root_namespace=use_root_namespace)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 95, in _as_root
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent log_fail_as_error=self.log_fail_as_error)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 104, in _execute
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent log_fail_as_error=log_fail_as_error)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent File "/usr/lib64/python2.7/site-packages/neutron/agent/linux/utils.py", line 138, in execute
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent raise RuntimeError(msg)
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent RuntimeError: Exit code: 2; Stdin: ; Stdout: ; Stderr: RTNETLINK answers: Cannot assign requested address
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent
2016-10-08 22:46:49.446 19498 ERROR neutron.agent.l3.agent
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1631693/+subscriptions
References