Introduced Renderer Manager 88/38288/18
authorMartin Sunal <msunal@cisco.com>
Mon, 2 May 2016 17:05:20 +0000 (19:05 +0200)
committerMartin Sunal <msunal@cisco.com>
Wed, 18 May 2016 23:09:36 +0000 (01:09 +0200)
commitd515345e11f30dade29fe0074a430640c77c085d
tree1e226601b27f1b794a82f016acc6bce8da023891
parent3d7dee3d9126a415ded3b6e898e74d0db1a98c42
Introduced Renderer Manager

Renderer manager dispatches policy configuration among endoints
to renderers.
Renderer manager gets data notifications about:
- Endoints (base-endpoint.yang)
- EndpointLocations (base-endpoint.yang)
- ResolvedPolicies (resolved-policy.yang)
- Forwarding (forwarding.yang)

Based on data from notifications it creates a configuration for renderers.
Configuration is stored to CONF DS as Renderers (renderer.yang)

Configuration is sign with version which is incremented by every change.
All rendrers are suposed to be on the same version. Renderer manager waits
for all renderers to respond with version update in OPER DS. After a version
of every renderer in OPER DS is same as version in CONF DS, renderer manager
moves to the next configuration with incremented version.

Change-Id: I475b357d5d60444dc359bc400c567d9d0e36238f
Signed-off-by: Martin Sunal <msunal@cisco.com>
19 files changed:
groupbasedpolicy/src/main/java/org/opendaylight/controller/config/yang/config/groupbasedpolicy/GroupbasedpolicyModule.java
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/AddressEndpointUtils.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ContainmentEndpointUtils.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/EndpointInfo.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/EndpointLocationInfo.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/EndpointLocationUtils.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/RendererConfigurationBuilder.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/RendererManager.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/RendererUtils.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/ResolvedPolicyInfo.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/listener/EndpointLocationsListener.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/listener/EndpointsListener.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/listener/ForwardingListener.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/listener/RenderersListener.java [new file with mode: 0644]
groupbasedpolicy/src/main/java/org/opendaylight/groupbasedpolicy/renderer/listener/ResolvedPoliciesListener.java [new file with mode: 0644]
groupbasedpolicy/src/main/yang/model/renderer.yang
groupbasedpolicy/src/test/java/org/opendaylight/groupbasedpolicy/renderer/RendererManagerDataBrokerTest.java [new file with mode: 0644]
groupbasedpolicy/src/test/java/org/opendaylight/groupbasedpolicy/renderer/RendererManagerTest.java [new file with mode: 0644]
groupbasedpolicy/src/test/java/org/opendaylight/groupbasedpolicy/renderer/TestDataFactory.java [new file with mode: 0644]