From: Shashidhar Raja Date: Fri, 2 Mar 2018 06:28:17 +0000 (+0530) Subject: Service-Recovery: Support needed for ACL feature introduced in SRM X-Git-Tag: release/fluorine~257 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=0a43287be655bba928a220d460be1416421e3e2e;p=genius.git Service-Recovery: Support needed for ACL feature introduced in SRM framework. (a) srm-types.yang updated with 'netvirt-acl', 'netvirt-acl-interface' and 'netvirt-acl-instance' definitions to support ACL service and instance recovery operations. 'netvirt-acl-interface' and 'netvirt-acl-instance' are the two instance recovery options supported. (b) SrmRpcUtils.java and SrmCliUtils.java updated to add required ACL definitions to the internal maps maintained to support recovery operations. Change-Id: I4c91cd52e7595b92b494356dfa715dbdf15da3c5 Signed-off-by: Shashidhar Raja --- diff --git a/srm/api/src/main/yang/srm-types.yang b/srm/api/src/main/yang/srm-types.yang index c75a056f7..92942293c 100644 --- a/srm/api/src/main/yang/srm-types.yang +++ b/srm/api/src/main/yang/srm-types.yang @@ -43,6 +43,10 @@ module srm-types { description "SRM Entity name for elan service"; base entity-name-base; } + identity netvirt-acl { + description "SRM Entity name for ACL service"; + base entity-name-base; + } identity ofplugin { description "SRM Entity name for openflowplugin service"; base entity-name-base; @@ -86,6 +90,15 @@ module srm-types { base entity-name-base; } + identity netvirt-acl-interface { + description "SRM Entity name for ACL interface"; + base entity-name-base; + } + + identity netvirt-acl-instance { + description "SRM Entity name for ACL instance"; + base entity-name-base; + } /* Service operations */ identity service-op-base { diff --git a/srm/impl/src/main/java/org/opendaylight/genius/srm/impl/SrmRpcUtils.java b/srm/impl/src/main/java/org/opendaylight/genius/srm/impl/SrmRpcUtils.java index 1a475f000..b3c875595 100644 --- a/srm/impl/src/main/java/org/opendaylight/genius/srm/impl/SrmRpcUtils.java +++ b/srm/impl/src/main/java/org/opendaylight/genius/srm/impl/SrmRpcUtils.java @@ -38,6 +38,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711. import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItm; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItmTep; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItmTz; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAcl; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAclInstance; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAclInterface; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtElan; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtElanInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtQos; @@ -72,6 +75,7 @@ public final class SrmRpcUtils { .put(GeniusIfm.class, EntityTypeService.class) .put(NetvirtVpn.class, EntityTypeService.class) .put(NetvirtElan.class, EntityTypeService.class) + .put(NetvirtAcl.class, EntityTypeService.class) .put(Ofplugin.class, EntityTypeService.class) .put(GeniusItmTep.class, EntityTypeInstance.class) .put(GeniusItmTz.class, EntityTypeInstance.class) @@ -80,6 +84,8 @@ public final class SrmRpcUtils { .put(NetvirtElanInstance.class, EntityTypeInstance.class) .put(NetvirtQos.class, EntityTypeService.class) .put(NetvirtQosPolicyInstance.class, EntityTypeInstance.class) + .put(NetvirtAclInterface.class, EntityTypeInstance.class) + .put(NetvirtAclInstance.class, EntityTypeInstance.class) .build(); private static final ImmutableMap, Class> @@ -94,6 +100,9 @@ public final class SrmRpcUtils { .put(NetvirtVpnInstance.class, NetvirtVpn.class) .put(NetvirtElan.class, NetvirtElan.class) .put(NetvirtElanInstance.class, NetvirtElan.class) + .put(NetvirtAcl.class, NetvirtAcl.class) + .put(NetvirtAclInterface.class, NetvirtAcl.class) + .put(NetvirtAclInstance.class, NetvirtAcl.class) .put(Ofplugin.class, Ofplugin.class) .put(NetvirtQos.class, NetvirtQos.class) .put(NetvirtQosPolicyInstance.class, NetvirtQos.class) diff --git a/srm/shell/src/main/java/org/opendaylight/genius/srm/shell/SrmCliUtils.java b/srm/shell/src/main/java/org/opendaylight/genius/srm/shell/SrmCliUtils.java index 28ea837e3..0beeb0a3e 100644 --- a/srm/shell/src/main/java/org/opendaylight/genius/srm/shell/SrmCliUtils.java +++ b/srm/shell/src/main/java/org/opendaylight/genius/srm/shell/SrmCliUtils.java @@ -19,6 +19,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711. import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItm; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItmTep; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.GeniusItmTz; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAcl; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAclInstance; +import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtAclInterface; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtElan; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtElanInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.srm.types.rev170711.NetvirtQos; @@ -50,6 +53,7 @@ public final class SrmCliUtils { .put("IFM", GeniusIfm.class) .put("VPN", NetvirtVpn.class) .put("ELAN", NetvirtElan.class) + .put("ACL", NetvirtAcl.class) .put("OFPLUGIN", Ofplugin.class) .put("QOS", NetvirtQos.class) .build(); @@ -62,6 +66,8 @@ public final class SrmCliUtils { .put("VPN-INSTANCE", NetvirtVpnInstance.class) .put("ELAN-INSTANCE", NetvirtElanInstance.class) .put("QOS-POLICY-INSTANCE", NetvirtQosPolicyInstance.class) + .put("ACL-INTERFACE", NetvirtAclInterface.class) + .put("ACL-INSTANCE", NetvirtAclInstance.class) .build(); /**