Unable to trigger IPv6 Prefix Delegation

Bug #1844123 reported by Kevin Zhao on 2019-09-16
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Undecided
Unassigned

Bug Description

Follow the guide:
https://docs.openstack.org/neutron/pike/admin/config-ipv6.html#configuring-the-dibbler-server

I run devstack and configure Dibber server. But I've checked I could not trigger the PD process.

Base OS: Ubuntu 18.04

The devstack local conf:
======================
ADMIN_PASSWORD=****
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

HOST_IP=192.168.100.19
HOST_IPV6=2604:1380:4111:3e00::13
SERVICE_HOST=$HOST_IP
MYSQL_HOST=$HOST_IP
RABBIT_HOST=$HOST_IP
GLANCE_HOSTPORT=$HOST_IP:9292

## Neutron options
Q_USE_SECGROUP=True
FLOATING_RANGE="139.178.86.48/28"
IPV4_ADDRS_SAFE_TO_USE="11.100.0.0/24"
Q_FLOATING_ALLOCATION_POOL=start=139.178.86.51,end=139.178.86.62
PUBLIC_NETWORK_GATEWAY="139.178.86.49"
PUBLIC_INTERFACE=bond0

disable_service tempest

# Open vSwitch provider networking configuration
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

LOGFILE=/opt/stack/logs/stack.sh.log
====================================
While my ip addr output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 2604:1380:4111:3e08::1/61 scope global deprecated
       valid_lft forever preferred_lft 0sec
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enaqcom8070i0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 8c:fd:f0:0c:71:79 brd ff:ff:ff:ff:ff:ff
3: enp1s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 98:03:9b:9c:b9:4c brd ff:ff:ff:ff:ff:ff
4: enp1s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 98:03:9b:9c:b9:4d brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.19/24 brd 192.168.100.255 scope global enp1s0f1
       valid_lft forever preferred_lft forever
    inet6 fe80::9a03:9bff:fe9c:b94d/64 scope link
       valid_lft forever preferred_lft forever
5: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000
    link/ether 98:03:9b:9c:b9:4c brd ff:ff:ff:ff:ff:ff
    inet 10.32.36.34/28 brd 10.32.36.47 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::9a03:9bff:fe9c:b94c/64 scope link
       valid_lft forever preferred_lft forever
6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:d2:50:fd brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:d2:50:fd brd ff:ff:ff:ff:ff:ff
23: tap0a3e1687-4b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether fe:16:3e:17:69:19 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc16:3eff:fe17:6919/64 scope link
       valid_lft forever preferred_lft forever
27: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether f2:04:a9:6f:6c:65 brd ff:ff:ff:ff:ff:ff
28: br-int: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
    link/ether 72:49:08:66:d2:42 brd ff:ff:ff:ff:ff:ff
29: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether 98:03:9b:9c:b9:4c brd ff:ff:ff:ff:ff:ff
    inet 139.178.86.50/28 brd 139.178.86.63 scope global br-ex
       valid_lft forever preferred_lft forever
    inet 139.178.86.49/28 scope global secondary br-ex
       valid_lft forever preferred_lft forever
    inet6 2604:1380:4111:3e08::2/61 scope global
       valid_lft forever preferred_lft forever
    inet6 2001:db8::2/64 scope global
       valid_lft forever preferred_lft forever
    inet6 2604:1380:4111:3e00::13/127 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::346f:5aff:fee5:f145/64 scope link
       valid_lft forever preferred_lft forever
30: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 42:2e:13:28:eb:47 brd ff:ff:ff:ff:ff:ff
35: tap3ba8f9d3-8f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel master ovs-system state UNKNOWN group default qlen 1000
    link/ether fe:16:3e:ae:0d:28 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc16:3eff:feae:d28/64 scope link
       valid_lft forever preferred_lft forever
==================================================================

I setup dibbler server 1.0.1 and install the dibbler-client.

cat /etc/dibbler/server.conf
#
# Example server configuration file
#
# This config. file is considered all-purpose as it instructs server
# to provide almost every configuratio
#

# Logging level range: 1(Emergency)-8(Debug)
log-level 8

# Don't log full date
log-mode short

# Uncomment this line to call script every time a response is sent
script "/var/lib/dibbler/pd-server.sh"

# set preference of this server to 0 (higher = more prefered)
preference 0

iface "br-ex" {
    pd-class {
        pd-pool 2604:1380:4111:3e08::/61
        pd-length 64
        T1 11111
        T2 22222
    }
}

/var/lib/dibbler/pd-server.sh content:
==============================================
LOGFILE=/var/lib/dibbler/server-notify.log
echo "---$1---------" >> $LOGFILE
date >> $LOGFILE

if [ "$ADDR1" != "" ]; then
    echo "Address ${ADDR1} (operation $1) to client $REMOTE_ADDR on interface $IFACE/$IFINDEX" >> $LOGFILE
fi

if [ "$PREFIX1" != "" ]; then
    echo "Prefix ${PREFIX1} (operation $1) to client $REMOTE_ADDR on interface $IFACE/$IFINDEX" >> $LOGFILE
    if [ "$1" == "add" ]; then
        sudo ip -6 route add ${PREFIX1}/64 via $REMOTE_ADDR dev $IFACE
    fi
    if [ "$1" == "delete" ]; then
        sudo ip -6 route del ${PREFIX1}/64 via $REMOTE_ADDR dev $IFACE
    fi
fi

exit 1
==============================================

Dibbler server output:
| Authors : Tomasz Mrugalski<thomson(at)klub.com.pl>,Marek Senderski<msend(at)o2.pl>
| Licence : GNU GPL v2 only. Developed at Gdansk University of Technology.
| Homepage: http://klub.com.pl/dhcpv6/
2019.09.16 10:46:13 Server Notice My pid (2651) is stored in /var/lib/dibbler/server.pid
2019.09.16 10:46:13 Server Notice Detected iface tap3ba8f9d3-8f/35, MAC=fe:16:3e:ae:0d:28.
2019.09.16 10:46:13 Server Notice Detected iface br-tun/30, MAC=42:2e:13:28:eb:47.
2019.09.16 10:46:13 Server Notice Detected iface br-ex/29, MAC=98:03:9b:9c:b9:4c.
2019.09.16 10:46:13 Server Notice Detected iface br-int/28, MAC=72:49:08:66:d2:42.
2019.09.16 10:46:13 Server Notice Detected iface ovs-system/27, MAC=f2:04:a9:6f:6c:65.
2019.09.16 10:46:13 Server Notice Detected iface tap0a3e1687-4b/23, MAC=fe:16:3e:17:69:19.
2019.09.16 10:46:13 Server Notice Detected iface virbr0-nic/7, MAC=52:54:00:d2:50:fd.
2019.09.16 10:46:13 Server Notice Detected iface virbr0/6, MAC=52:54:00:d2:50:fd.
2019.09.16 10:46:13 Server Notice Detected iface bond0/5, MAC=98:03:9b:9c:b9:4c.
2019.09.16 10:46:13 Server Notice Detected iface enp1s0f1/4, MAC=98:03:9b:9c:b9:4d.
2019.09.16 10:46:13 Server Notice Detected iface enp1s0f0/3, MAC=98:03:9b:9c:b9:4c.
2019.09.16 10:46:13 Server Notice Detected iface enaqcom8070i0/2, MAC=8c:fd:f0:0c:71:79.
2019.09.16 10:46:13 Server Notice Detected iface lo/1, MAC=00:00:00:00:00:00.
2019.09.16 10:46:13 Server Notice Parsing /etc/dibbler/server.conf config file...
46:13 Server Debug PD: Client will receive /64 prefixes (T1=11111..11111, T2=22222..22222).
46:13 Server Debug PD: Pool 2604:1380:4111:3e08:: - 2604:1380:4111:3e0f:ffff:ffff:ffff:ffff, pool length: 61, 8 prefix(es) total.
46:13 Server Debug PD: Up to 8 prefixes may be assigned.
46:13 Server Debug 0 per-client configurations (exceptions) added.
46:13 Server Debug Parsing /etc/dibbler/server.conf done.
46:13 Server Info 0 client class(es) defined.
46:13 Server Debug 1 interface(s) specified in /etc/dibbler/server.conf
46:13 Server Info Mapping allow, deny list to PD 0
46:13 Server Info Interface br-ex/29 configuration has been loaded.
46:13 Server Notice Running in stateful mode.
46:13 Server Debug Bulk-leasequery: enabled=no, TCP port=547, max conns=10, timeout=300
46:13 Server Debug DUID's value = 00:01:00:01:24:d5:55:d7:fe:16:3e:93:20:1a was loaded from server-duid file.
46:13 Server Info My DUID is 00:01:00:01:24:d5:55:d7:fe:16:3e:93:20:1a.
46:13 Server Info Loading old address database (server-AddrMgr.xml), using built-in routines.
46:13 Server Info DB timestamp:1568630765, now()=1568630773, db is 8 second(s) old.
46:13 Server Debug Auth: Replay detection value loaded 0
46:13 Server Debug Cache:server-cache.xml file: parsing started, expecting 0 entries.
46:13 Server Notice Creating multicast (ff02::1:2) socket on br-ex/29 (br-ex/29) interface.
46:13 Server Notice Creating link-local (fe80::346f:5aff:fee5:f145) socket on br-ex/29 interface.
46:13 Server Info Reconfigure support was not enabled.
46:13 Server Debug Cache: size set to 1048576 bytes, 1 cache entry size is 147 bytes, so maximum 7133 address-client pair(s) may be cached.
46:13 Server Debug Increased pools usage: currently 0 address(es) and 0 prefix(es) are leased.
46:13 Server Notice Server begins operation.
46:13 Server Notice Accepting connections. Next event in 4294967295 second(s).

Run cmd:
openstack router add subnet router1 ipv6-pd-1

The output is in attachments.

Kevin Zhao (kevin-zhao) wrote :
tags: added: ipv6
YAMAMOTO Takashi (yamamoto) wrote :

can you provide the whole neutron-l3 log from its beginning?

Changed in neutron:
status: New → Incomplete
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments