[NETVIRT-794] DualStack: VXLAN tunnels are not created dynamically Created: 18/Jul/17  Updated: 19/Oct/17  Resolved: 28/Jul/17

Status: Resolved
Project: netvirt
Component/s: General
Affects Version/s: Carbon
Fix Version/s: None

Type: Bug
Reporter: Valentina Krasnobaeva Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File karaf.log    
External issue ID: 8865

 Description   

if we apply following patch [0] to Carbon HEAD [1], VXLAN tunnels will not be created dynamically between controller and compute nodes, when DualStack VM will be launched

steps to reproduce:

0. cherry-pick the patch [0] and apply it to Carbon HEAD [1], compile a build

1. launch compiled build with following options in etc/custom.properties:

ovsdb.of.version=1.3
ovsdb.l3.fwd.enabled=yes
vpnservice.bgpspeaker.host.name = 127.0.0.1

install DevStack stable/newton

2. create following neutron network infrastructure:

2.1 neutron net-create A

2.2 neutron subnet-create --name SUB1 A 10.0.0.0/24

2.3 neutron subnet-create --name SUB2 --ip-version 6 --ipv6-ra-mode slaac --ipv6-address-mode slaac --allocation-pool start=2001:db8:0:2::2,end=2001:db8:0:2:ffff:ffff:ffff:fffe A 2001:db8:0:2::/64

2.4 neutron router-create RT

2.5
root@controller-deray:/opt/stack/devstack# neutron subnet-list
----------------------------------------------------------------------------------------------------------------------------------+

id name cidr allocation_pools

----------------------------------------------------------------------------------------------------------------------------------+

44fd58bd-97d6-4c5f-8a6d-7c012e326155 SUB1 10.0.0.0/24 {"start": "10.0.0.2", "end": "10.0.0.254"}
75e6f5b8-9cf7-411e-a440-fdfedd995779 SUB2 2001:db8:0:2::/64 {"start": "2001:db8:0:2::2", "end": "2001:db8:0:2:ffff:ffff:ffff:fffe"}

----------------------------------------------------------------------------------------------------------------------------------+

2.6 # neutron router-interface-add RT 44fd58bd-97d6-4c5f-8a6d-7c012e326155
Added interface 703b9a7d-8de9-4089-8716-84c1789e359e to router RT.

2.7 # neutron router-interface-add RT 75e6f5b8-9cf7-411e-a440-fdfedd995779
Added interface 3820373a-4d9e-4af3-8506-571d73a25895 to router RT.

2.8 # neutron security-group-create X

2.9

openstack security group rule create X --ingress --dst-port 1:65535 --protocol tcp
openstack security group rule create X --egress --dst-port 1:65535 --protocol tcp
openstack security group rule create X --egress --dst-port 1:65535 --protocol udp
openstack security group rule create X --ingress --dst-port 1:65535 --protocol udp
openstack security group rule create X --ingress --protocol icmp
openstack security group rule create X --egress --protocol icmp

openstack security group rule create X --ingress --ethertype IPv6 --dst-port 1:65535 --protocol tcp
openstack security group rule create X --ingress --ethertype IPv6 --dst-port 1:65535 --protocol udp
openstack security group rule create X --egress --ethertype IPv6 --dst-port 1:65535 --protocol udp
openstack security group rule create X --egress --ethertype IPv6 --dst-port 1:65535 --protocol tcp
openstack security group rule create X --ingress --ethertype IPv6 --protocol icmp
openstack security group rule create X --egress --ethertype IPv6 --protocol icmp

2.10

neutron port-create --name PORT1 --security-group X A

  1. neutron port-list | grep PORT1
    ea93a757-84af-4b0a-a43c-01d1f9b5e85f PORT1 fa:16:3e:84:3b:a1 {"subnet_id": "44fd58bd-97d6-4c5f-8a6d-7c012e326155", "ip_address": "10.0.0.5"}

2.11

openstack server create --image cirros-0.3.4-x86_64-uec --flavor m1.tiny --nic port-id=ea93a757-84af-4b0a-a43c-01d1f9b5e85f --security-group X VM1

2.12 ovs-vsct show

  1. ovs-vsctl show --> there is no any VXLAN tunnel dynamically created
    42510260-e10c-4caa-a950-43d3c59bf6d5
    Manager "tcp:10.100.0.51:6640"
    Bridge br-int
    Controller "tcp:10.100.0.51:6653"
    fail_mode: secure
    Port "tap34137c62-a4"
    Interface "tap34137c62-a4"
    Port br-int
    Interface br-int
    type: internal
    ovs_version: "2.6.1"

3. reboot karaf

4. # ovs-vsctl show - finally we see, that after ODL reboot tunnel was created
42510260-e10c-4caa-a950-43d3c59bf6d5
Manager "tcp:10.100.0.51:6640"
is_connected: true
Bridge br-int
Controller "tcp:10.100.0.51:6653"
is_connected: true
fail_mode: secure
Port "tap34137c62-a4"
Interface "tap34137c62-a4"
Port "tunce3d1330bca"
Interface "tunce3d1330bca"
type: vxlan
options:

{key=flow, local_ip="192.168.0.1", remote_ip="192.168.0.3"}

Port br-int
Interface br-int
type: internal
ovs_version: "2.6.1"

5. check access to VM:

  1. nova list
    -----------------------------------------------------------------------------------------------------------------+
    ID Name Status Task State Power State Networks

    -----------------------------------------------------------------------------------------------------------------+

    5e750271-d0d8-4510-89c9-2c78b3c5c7a1 VM1 ACTIVE
    Running A=10.0.0.5, 2001:db8:0:2:f816:3eff:fe84:3ba1

    -----------------------------------------------------------------------------------------------------------------+

root@controller-deray:/opt/stack/devstack#
root@controller-deray:/opt/stack/devstack# ip netns exec qdhcp-23355db4-9e76-426d-a3cd-260643a845c6 ping6 2001:db8:0:2:f816:3eff:fe84:3ba1
PING 2001:db8:0:2:f816:3eff:fe84:3ba1(2001:db8:0:2:f816:3eff:fe84:3ba1) 56 data bytes
64 bytes from 2001:db8:0:2:f816:3eff:fe84:3ba1: icmp_seq=1 ttl=64 time=4.78 ms
64 bytes from 2001:db8:0:2:f816:3eff:fe84:3ba1: icmp_seq=2 ttl=64 time=0.955 ms
64 bytes from 2001:db8:0:2:f816:3eff:fe84:3ba1: icmp_seq=3 ttl=64 time=1.50 ms
64 bytes from 2001:db8:0:2:f816:3eff:fe84:3ba1: icmp_seq=4 ttl=64 time=0.758 ms

root@controller-deray:/opt/stack/devstack# ip netns exec qdhcp-23355db4-9e76-426d-a3cd-260643a845c6 ping 10.0.0.5
PING 10.0.0.5 (10.0.0.5) 56(84) bytes of data.
From 10.0.0.2 icmp_seq=1 Destination Host Unreachable
From 10.0.0.2 icmp_seq=2 Destination Host Unreachable
From 10.0.0.2 icmp_seq=3 Destination Host Unreachable

See ODL log from step 0 in the attachement

[0] https://git.opendaylight.org/gerrit/#/c/60246/4

[1] commit 37b25203fae4e68f0235583c1c6f63294ce3d981 (gerrit/stable/carbon)
Author: Philippe Guibert <philippe.guibert@6wind.com>
Date: Thu Mar 30 10:51:16 2017 +0100

Spec to support dualstack VMs in L3VPN

This specification brings the ability for a BGPVPN configured VPN to
distribute IPv4 and IPv6 addresses within the same VPN, and by using two
distinct routers to respectively handle IPv4 and IPv6 routing issues.

Change-Id: Ia76e88a8eff6135d58b52ec69e610952cf8a3621
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Sam Hague <shague@redhat.com>



 Comments   
Comment by Valentina Krasnobaeva [ 18/Jul/17 ]

Attachment karaf.log has been added with description: ODL.log

Comment by Valentina Krasnobaeva [ 26/Jul/17 ]

this patch fixes the problem:

https://git.opendaylight.org/gerrit/#/c/60246/20

Comment by Valentina Krasnobaeva [ 28/Jul/17 ]

became no reproducable after applying following patch [0] to Nitrogen HEAD [1]

[0] https://git.opendaylight.org/gerrit/#/c/60246/31

[1] commit 35879d24821135b1cfee6b79508a4a98186b96c5 (origin/master, origin/HEAD, gerrit/master, master)
Author: Shashidhar Raja <shashidharr@altencalsoftlabs.com>
Date: Wed Jul 26 10:36:11 2017 +0530

NETVIRT-778: aclservice NPE's

This commit fixes NPE observed in processInterfaceUpdate().
Similar fix added in applyAce() and removeAce().
Also, unwanted check taken out from updateRemoteAclTableForMultipleAcls().

Change-Id: I895af6b8c59a85400b714c007dab5b03630d93cf
Signed-off-by: Shashidhar Raja <shashidharr@altencalsoftlabs.com>

Generated at Wed Feb 07 20:22:29 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.