Service-Recovery: Support needed for ACL feature introduced in SRM
authorShashidhar Raja <shashidharr@altencalsoftlabs.com>
Fri, 2 Mar 2018 06:28:17 +0000 (11:58 +0530)
committerShashidhar Raja <shashidharr@altencalsoftlabs.com>
Fri, 2 Mar 2018 09:13:36 +0000 (14:43 +0530)
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 <shashidharr@altencalsoftlabs.com>
api/src/main/yang/srm-types.yang
impl/src/main/java/org/opendaylight/genius/srm/impl/SrmRpcUtils.java
shell/src/main/java/org/opendaylight/genius/srm/shell/SrmCliUtils.java

index c75a056f746d255723817fcc0efbd5f7777676f0..92942293c19c505b63842af776881a835b546d7d 100644 (file)
@@ -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 {
index 1a475f0009925fedda1b38a04a41faf5bbbba8b9..b3c8755954b9efe18636971100bccfdf7b3d0953 100644 (file)
@@ -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<? extends EntityNameBase>, Class<? extends EntityNameBase>>
@@ -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)
index 28ea837e3633c5d73b7057eb8f3086ef441b7f68..0beeb0a3e34acfe8f8e7a4c76b7318414fd595ae 100644 (file)
@@ -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();
 
     /**