Details
-
Improvement
-
Status: Verified
-
Resolution: Cannot Reproduce
-
None
-
None
-
None
-
Operating System: Windows
Platform: PC
Description
Given C1 and C2 controllers in cluster of two controllers, flows statistics are not present after recovering a controller from failure.
Steps for reproducing the issue:
1. Download the latest controller wget https://jenkins.opendaylight.org/integration/job/integration-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/base/target/distributions-base-0.1.0-SNAPSHOT-osgipackage.zip in two different VMs
2. Start a controller say C1 using ./run.sh -Dsupernodes=10.125.136.38:10.125.136.43 -start
3. Start another controller say C2 using ./run.sh -Dsupernodes=10.125.136.38:10.125.136.43 -start
4. Start mininet, ${start}= sudo mn --controller=remote,ip=${CONTROLLER_C1} --topo tree,2
5. Set the bridges for bringing up C2 controller at mininet:
$ ovs-vsctl set-controller s1 tcp:Controller1_IP:6633 tcp:Controller2_IP:6633
$ ovs-vsctl set-controller s2 tcp:Controller1_IP:6633 tcp:Controller2_IP:6633
$ ovs-vsctl set-controller s3 tcp:Controller1_IP:6633 tcp:Controller2_IP:6633
5. Use PUT request for adding a flow in C1
PUT http://Controller1_IP:8080/controller/nb/v2/flowprogrammer/default/node/OF/00:00:00:00:00:00:00:02/staticFlow/flow1 + flow1 body
flow 1 body:
<flowConfig>
<installInHw>true</installInHw>
<name>flow1</name>
<node>
<id>00:00:00:00:00:00:00:02</id>
<type>OF</type>
</node>
<priority>1</priority>
<etherType>0x800</etherType>
<nwDst>10.0.0.1/32</nwDst>
<actions>OUTPUT=1</actions>
</flowConfig>
6. Verify the flow stats in both the controllers (C1 & C2)
See flow1 on Controller1 (i.e. GET http://Controller1_IP:8080/controller/nb/v2/statistics/default/flow) and check flow is present
See flow1 on Controller2 (i.e. GET http://Controller2_IP:8080/controller/nb/v2/statistics/default/flow) and check the same flow is present
7. Bring down the controller C1 (use ./run.sh -stop)
8. See flow1 on Controller2 (i.e. GET http://Controller2_IP:8080/controller/nb/v2/statistics/default/flow) and check the same flow is present
9. Bring up the controller C1 (./run.sh -start)
10. See flow1 on Controller1 (i.e. GET http://Controller1_IP:8080/controller/nb/v2/statistics/default/flow) and check the same flow is present.
11.See flow1 on Controller2 (i.e. GET http://Controller2_IP:8080/controller/nb/v2/statistics/default/flow) and check the same flow is present.
{Note: I am unable to see the flows stats. Sometimes it is showing up but not frequently stable}12. Bring down the controller C2
13. Check the same flow in controller C1
Thanks,
Madhusudhan