l3 agent failed to spawn radvd due to no filter matched

Bug #1404085 reported by Jerry Zhao on 2014-12-19
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Medium
Sridhar Gaddam
tripleo
High
Jerry Zhao

Bug Description

i have an openstack deployment by tripleo with trunk code as of last week or so. i created an ipv6 subnet with slaac mode for ra and address. when i launched a ubuntu trusty vm, it couldn't get ipv6 address.

the l3 agent log said:
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: Stderr: '/usr/bin/neutron-rootwrap: Unauthorized command: ip netns exec qrouter-6066faaa-0e35-4e7b-8988-7337c493bad7 radvd -C /var/run/neutron/ra/6066faaa-0e35-4e7b-8988-7337c493bad7.radvd.conf -p /var/run/neutron/external/pids/6066faaa-0e35-4e7b-8988-7337c493bad7.pid.radvd (no filter matched)\n'
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent Traceback (most recent call last):
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/common/utils.py", line 341, in call
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent return func(*args, **kwargs)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/l3_agent.py", line 902, in process_router
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent self.root_helper)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/linux/ra.py", line 111, in enable_ipv6_ra
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent _spawn_radvd(router_id, radvd_conf, router_ns, root_helper)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/linux/ra.py", line 95, in _spawn_radvd
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent radvd.enable(callback, True)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/linux/external_process.py", line 77, in enable
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent ip_wrapper.netns.execute(cmd, addl_env=self.cmd_addl_env)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/linux/ip_lib.py", line 554, in execute
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent check_exit_code=check_exit_code, extra_ok_codes=extra_ok_codes)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/neutron/agent/linux/utils.py", line 82, in execute
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent raise RuntimeError(m)
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent RuntimeError:
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'qrouter-6066faaa-0e35-4e7b-8988-7337c493bad7', 'radvd', '-C', '/var/run/neutron/ra/6066faaa-0e35-4e7b-8988-7337c493bad7.radvd.conf', '-p', '/var/run/neutron/external/pids/6066faaa-0e35-4e7b-8988-7337c493bad7.pid.radvd']
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent Exit code: 99
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent Stdout: ''
Dec 18 11:23:34 ci-overcloud-controller0-oxzkjphwfyw3 neutron-l3-agent: 2014-12-18 11:23:34.611 18015 TRACE neutron.agent.l3_agent Stderr: '/usr/bin/neutron-rootwrap: Unauthorized command: ip netns exec qrouter-6066faaa-0e35-4e7b-8988-7337c493bad7 radvd -C /var/run/neutron/ra/6066faaa-0e35-4e7b-8988-7337c493bad7.radvd.conf -p /var/run/neutron/external/pids/6066faaa-0e35-4e7b-8988-7337c493bad7.pid.radvd (no filter matched)\n'

a cut of l3 filters:

[Filters]

# arping
arping: CommandFilter, arping, root

# l3_agent
sysctl: CommandFilter, sysctl, root
route: CommandFilter, route, root
radvd: CommandFilter, radvd, root

# metadata proxy
metadata_proxy: CommandFilter, neutron-ns-metadata-proxy, root
# If installed from source (say, by devstack), the prefix will be
# /usr/local instead of /usr/bin.
metadata_proxy_local: CommandFilter, /usr/local/bin/neutron-ns-metadata-proxy, root
# RHEL invocation of the metadata proxy will report /opt/stack/venvs/openstack/bin/python
kill_metadata: KillFilter, root, python, -9
kill_metadata7: KillFilter, root, python2.7, -9
kill_radvd_usr: KillFilter, root, /usr/sbin/radvd, -9, -HUP
kill_radvd: KillFilter, root, /sbin/radvd, -9, -HUP

# ip_lib
ip: IpFilter, ip, root
ip_exec: IpNetnsExecFilter, ip, root

Changed in neutron:
assignee: nobody → Sridhar Gaddam (sridhargaddam)
tags: added: ipv6
Changed in neutron:
importance: Undecided → Medium
Jerry Zhao (zhaoxinyu) wrote :

The problem is that radvd package was not installed in the my controller, which was build by tripleo dib.

Changed in neutron:
status: New → Invalid

Fix proposed to branch: master
Review: https://review.openstack.org/143796

Changed in tripleo:
assignee: nobody → Jerry Zhao (zhaoxinyu)
status: New → In Progress
James Polley (tchaypo) on 2015-01-07
Changed in tripleo:
importance: Undecided → High

Reviewed: https://review.openstack.org/143796
Committed: https://git.openstack.org/cgit/openstack/tripleo-image-elements/commit/?id=69d7f6c5f13eb61df1694498625f952f6d95e883
Submitter: Jenkins
Branch: master

commit 69d7f6c5f13eb61df1694498625f952f6d95e883
Author: Jerry Zhao <email address hidden>
Date: Wed Dec 24 00:20:46 2014 -0800

    add ipv6 radvd package to neutron-router

    with ipv6 radvd introduced in neutron l3 agent, radvd executable
    is needed to spawn a daemon to broadcast ip prefix and other
    info.

    Change-Id: I9a31dc4af12f2f6657fd52ee2c73210884b70abe
    Closes-bug: #1404085

Changed in tripleo:
status: In Progress → Fix Committed
Jay Dobies (jdob) on 2015-04-10
Changed in tripleo:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers