← Back to team overview

yahoo-eng-team team mailing list archive

[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