Uploaded image for project: 'controller'
  1. controller
  2. CONTROLLER-216

Unable to see the flow stats after adding a flow for OpenDaylight Clustering project

    XMLWordPrintable

Details

    • Improvement
    • Status: Verified
    • Resolution: Cannot Reproduce
    • None
    • None
    • clustering
    • 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.

      {Note: I am unable to see the flows stats. Sometimes it is showing up but not frequently stable}

      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

      {Note: I am unable to see the flows stats}

      Thanks,
      Madhusudhan

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ykhodork@cisco.com Yevgeny Khodorkovsky
            madhusudhan.opendaylight@yahoo.com Madhusudhan Ananderi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: