Bug 8621 - Add shutdown-shard-replica rpc to MdsalLowLevelTestProvider
[controller.git] / opendaylight / md-sal / samples / clustering-test-app / model / src / main / yang / odl-mdsal-lowlevel-control.yang
index 1420a0b8e9b9948a07d0aa3e385f8b9ab5104589..bc3e03998c473e92763712f2b0b9f5ba36617212 100644 (file)
@@ -321,36 +321,62 @@ module odl-mdsal-lowlevel-control {
                 type boolean;
             }
         }
-        // No output.
+        output {
+            leaf all-tx {
+                description "Number of all transactions executed.";
+                type int64;
+                mandatory true;
+            }
+            leaf insert-tx {
+                description "Number of transactions that inserted data.";
+                type int64;
+                mandatory true;
+            }
+            leaf delete-tx {
+                description "Number of transactions that deleted data.";
+                type int64;
+                mandatory true;
+            }
+        }
     }
 
-    rpc become-prefix-leader {
-        description "Upon receiving this, the member shall ask the appropriate API
-            to become Leader of the given shard (presumably the llt:list-ints one,
-            created by produce-transactions) and return immediatelly.";
+    rpc create-prefix-shard {
+        description "Upon receiving this, the member creates a prefix shard at the instance-identifier, with replicas
+                on the required members.";
         input {
-            leaf shard-name {
-                description "TBD.
 
-                FIXME: Ask Java implementation developer about the format needed.";
+            leaf prefix {
                 mandatory true;
+                type instance-identifier;
+            }
+            leaf-list replicas {
+                min-elements 1;
                 type string;
             }
         }
-        // No output.
     }
 
-    rpc become-module-leader {
-        description "Upon receiving this, the member shall ask appropriate API
-            to become Leader of given config shard and return immediatelly.";
+    rpc remove-prefix-shard {
+        description "Upon receiving this, the member removes the prefix based shard identifier by this prefix.
+                This must be called from the same node that created the shard.";
+
         input {
-            leaf shard-name {
-                description "TBD.
+            leaf prefix {
+                mandatory true;
+                type instance-identifier;
+            }
+        }
+    }
+
 
-                FIXME: Ask Java implementation developer about the format needed.
-                TODO: Perhaps the names are compatible and one 'become-leader' would suffice?";
+    rpc become-prefix-leader {
+        description "Upon receiving this, the member shall ask the appropriate API
+            to become Leader of the given shard (presumably the llt:list-ints one,
+            created by produce-transactions) and return immediatelly.";
+        input {
+            leaf prefix {
                 mandatory true;
-                type string;
+                type instance-identifier;
             }
         }
         // No output.
@@ -404,12 +430,10 @@ module odl-mdsal-lowlevel-control {
     rpc subscribe-dtcl {
         description "Upon receiving this, the member checks whether it has already subscribed
             and fails if yes. If no, the member subscribes a Data Tree Change Listener
-            to listen for changes on whole llt:id-ints, and stores the state
-            from the initial notification to a local variable (called the local copy).
-            Each Data Tree Change from further Notifications shall be applied
-            to the local copy if it is compatible
-            (the old state from notification is equal to the local copy state).
-            If a notification is not compatible, it shall be ignored.";
+            to listen for changes on whole llt:id-ints. The first notification received is stored immediately.
+            Every notification received after the first one has the data(getDataBefore()) compared with the
+            last stored notification(called local copy), if they match the local copy is overwritten with
+            this notifications data(getDataAfter()). If they don't match the new notification is ignored.";
         // No input.
         // No output.
     }
@@ -489,4 +513,15 @@ module odl-mdsal-lowlevel-control {
         // No output.
     }
 
+    rpc shutdown-shard-replica {
+        description "Upon receiving this, the member will try to gracefully shutdown local configuration
+            data store module-based shard replica.";
+        input {
+            leaf shard-name {
+                type string;
+                description "The name of the configuration data store module-based shard to be shutdown
+                    gracefully.";
+            }
+        }
+    }
 }