The used L2GW Node (using HWVTEP Emulator) can not be reused after reinitialization with the same PhysicalSwich / PhysicalPort / VTEP.
The tunnel I/F (vx) is not created in LogicalSwitch.
#Reuse with different PhysicalSwitch / PhysicalPort / VTEP is not confirmed.
○Reproduction steps:
1. OpenDaylight / Open vSwitch Initialization (no entry in openstack)
2. Controller node Open vSwitch start and initial setting
3. L2GW node Open vSwitch start and initial setting (Non-HA)
4. Network / Subnet / L2 GATEWAY / L2 CONNECTION creation
openstack network create test-nw
openstack subnet create --network test-nw --dhcp --subnet-range 192.168.0.0/24 test-subnw
neutron l2-gateway-create gw --device name=ocata-l2gw1,interface_names=patch-vlan
neutron l2-gateway-connection-create gw test-nw --default-segmentation-id 1111
5. Ping confirmation (OK)
from: DHCP namespace, to: dummy port
6. Log and detail info collection
ovs-vsctl show
ovsdb-client dump hardware_vtep
/opt/karaf-0.7.1/data/log/karaf.log
curl -s -u admin:admin http://127.0.0.1:8080/restconf/config/network-topology:network-topology | python -mjson.tool
7. Network / Subnet / L2 GATEWAY / CONNECTION deletion
neutron l2-gateway-connection-delete `neutron l2-gateway-connection-list --segmentation_id=1111 -c id -f value 2> /dev/null`
neutron l2-gateway-delete gw
openstack network delete test-nw
8. OVS HWVTEP Emulator stop and data deletion (for reuse)
pkill ovsdb-server
pkill ovs-vswitchd
pkill python
rm -f /etc/openvswitch/ovs.db /etc/openvswitch/vtep.db /var/log/openvswitch/*
9. sleep
Wait at least 550 seconds to wait for ConnectionReconciliationTask to finish
Go to next step after "Reconciliation task is cancelled" shown in log
10.L2GW node Open vSwitch start and initial setting (Non-HA)
11.Network / Subenet / L2 GATEWAY / CONNECTION creation
openstack network create test-nw
openstack subnet create --network test-nw --dhcp --subnet-range 192.168.0.0/24 test-subnw
neutron l2-gateway-create gw --device name=ocata-l2gw1,interface_names=patch-vlan
neutron l2-gateway-connection-create gw test-nw --default-segmentation-id 1111
12.Ping confirmation (NG)
from: DHCP namespace, to: dummy port
13.Log and detail info collection
ovs-vsctl show
ovsdb-client dump hardware_vtep
/opt/karaf-0.7.1/data/log/karaf.log
curl -s -u admin:admin http://127.0.0.1:8080/restconf/config/network-topology:network-topology | python -mjson.tool
○ ODL log
Bleow exceptions were shown in ODL karaf logs when neutron l2gw creation command executed (reuse).
[java.lang.NumberFormatException: Illegal embedded sign character]
[java.lang.NumberFormatException: For input string: "10.0.0.10"]
2018-01-23 10:20:44,735 | ERROR | eChangeHandler-4 | AsyncDataTreeChangeListenerBase | 245 - org.opendaylight.genius.mdsalutil-api - 0.3.1 | Thread terminated due to uncaught exception: AsyncDataTreeChangeListenerBase-DataTreeChangeHandler-4
java.lang.NumberFormatException: Illegal embedded sign character
at java.math.BigInteger.<init>(BigInteger.java:428)[:1.8.0_121]
at java.math.BigInteger.<init>(BigInteger.java:606)[:1.8.0_121]
at org.opendaylight.netvirt.policyservice.listeners.TunnelStateChangeListener.getTepDpnId(TunnelStateChangeListener.java:217)[326:org.opendaylight.netvirt.policyservice-impl:0.5.1]
2018-01-23 10:20:44,891 | ERROR | nPool-1-worker-0 | DataStoreJobCoordinator | 245 - org.opendaylight.genius.mdsalutil-api - 0.3.1 | Exception when executing jobEntry: JobEntry{key='tun345214a6550', mainWorker=org.opendaylight.genius.interfacemanager.servicebindings.flowbased.listeners.FlowBasedServicesConfigListener$RendererConfigAddWorker@574e99f3, rollbackWorker=null, retryCount=6, futures=null}
java.lang.NumberFormatException: For input string: "10.0.0.10"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)[:1.8.0_121]
at java.lang.Integer.parseInt(Integer.java:580)[:1.8.0_121]
at java.math.BigInteger.<init>(BigInteger.java:470)[:1.8.0_121]
at java.math.BigInteger.<init>(BigInteger.java:606)[:1.8.0_121]
at org.opendaylight.genius.interfacemanager.IfmUtil.getDpnFromNodeConnectorId(IfmUtil.java:122)[239:org.opendaylight.genius.interfacemanager-impl:0.3.1]