Fixed main issues of SwitchManager 30/19630/18
authorMartin Sunal <msunal@cisco.com>
Tue, 5 May 2015 13:43:57 +0000 (15:43 +0200)
committerMartin Sunal <msunal@cisco.com>
Sun, 10 May 2015 09:47:24 +0000 (11:47 +0200)
commit3975261a6bcc9669d3cf3e5f6d47bb204897cfc9
tree512069400e9186109df01c0fd0673e9bf9a2c748
parent8fd49cd72a4319e0cb4ceacbf6f77d2e820cfaa0
Fixed main issues of SwitchManager

SwitchManager is feeded from listeners
    FlowCapableNodeListener - FlowCapableNode from OPER DS on BASE scope of OF augmentation
    OfOverlayNodeListener - OfOverlayNodeConfig from CONF DS on BASE scope of OF overlay augmentation
    FlowCapableNodeConnectorListener - FlowCapableNodeConnector from OPER DS on BASE scope of OF augmentation

SwitchState is composed based on listeners' data:
    FlowCapableNode, OfOverlayNodeConfig, and FlowCapableNodeConnector-s
SwitchManager keeps track of SwitcheState-s in Map.

SwitchState can have 3 types of status:
  DISCONNECTED - SwitchState does not contain FlowCapableNode.
  PREPARING - SwitchState contains FlowCapableNode but information about tunnel(tunnelPort, tunnelIp) is missing
  READY - SwitchState contains FlowCapableNode, tunnelPort and tunnelIp

Even status of SwitchState is DISCONNECTED the SwitchManager still keeps track
until SwitchState contains configuration. This is because FlowCapableNode can disappear from OPER DS but
additional OfOverlayNodeConfig data are still in CONF DS.
Without this tracking we would loose OfOverlayNodeConfig data when SwitchState had been removed.

Change-Id: I7781fdfb0e306568587a1c69c2ab9f90e205180d
Signed-off-by: Martin Sunal <msunal@cisco.com>
12 files changed:
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/EndpointManager.java
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/OFOverlayRenderer.java
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/OfContext.java
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/PolicyManager.java
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SwitchManager.java [deleted file]
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/FlowCapableNodeConnectorListener.java [new file with mode: 0644]
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/FlowCapableNodeListener.java [new file with mode: 0644]
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/OfOverlayNodeListener.java [new file with mode: 0644]
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/SwitchListener.java [moved from renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/SwitchListener.java with 93% similarity]
renderers/ofoverlay/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/SwitchManager.java [new file with mode: 0644]
renderers/ofoverlay/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/flow/OfTableTest.java
renderers/ofoverlay/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/node/MockSwitchManager.java [moved from renderers/ofoverlay/src/test/java/org/opendaylight/groupbasedpolicy/renderer/ofoverlay/MockSwitchManager.java with 77% similarity]