X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsamples%2Fclustering-test-app%2Fmodel%2Fsrc%2Fmain%2Fyang%2Fodl-mdsal-lowlevel-control.yang;h=aa2f2da7dd0fdb9746328321aaf921594786f349;hb=d97061af6814ad7b085af10797a252aa4aa5cda6;hp=302fbbd3626e6e4ac80f0510d70acb7b5c3582d1;hpb=909db4bfbe3e4e036fc3e968ba6e2b1af150ee66;p=controller.git diff --git a/opendaylight/md-sal/samples/clustering-test-app/model/src/main/yang/odl-mdsal-lowlevel-control.yang b/opendaylight/md-sal/samples/clustering-test-app/model/src/main/yang/odl-mdsal-lowlevel-control.yang index 302fbbd362..aa2f2da7dd 100644 --- a/opendaylight/md-sal/samples/clustering-test-app/model/src/main/yang/odl-mdsal-lowlevel-control.yang +++ b/opendaylight/md-sal/samples/clustering-test-app/model/src/main/yang/odl-mdsal-lowlevel-control.yang @@ -227,6 +227,37 @@ module odl-mdsal-lowlevel-control { } } + grouping transactions-params { + leaf seconds { + description "This RPC has to work (roughly) this long."; + mandatory true; + type uint32; + } + leaf transactions-per-second { + description "An upper limit of transactions per second this RPC shall try to achieve."; + mandatory true; + type uint32; + } + } + + grouping transactions-result { + 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 write-transactions { description "Upon receiving this, the member shall make sure the outer list item of llt:id-ints exists for the given id, and then start creating (one by one) @@ -245,16 +276,7 @@ module odl-mdsal-lowlevel-control { OptimisticLockException is always considered an error."; input { uses llc:id-grouping; - leaf seconds { - description "This RPC has to work (roughly) this long."; - mandatory true; - type uint32; - } - leaf transactions-per-second { - description "An upper limit of transactions per second this RPC shall try to achieve."; - mandatory true; - type uint32; - } + uses transactions-params; leaf chained-transactions { description "If true, write transactions shall be created on a transaction chain, (created at start of the RPC call, and deleted at at its end). @@ -264,21 +286,7 @@ module odl-mdsal-lowlevel-control { } } 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; - } + uses transactions-result; } } @@ -305,16 +313,7 @@ module odl-mdsal-lowlevel-control { but the shard and the whole id item shall be kept as they are."; input { uses llc:id-grouping; - leaf seconds { - description "This RPC has to work (roughly) this long."; - mandatory true; - type uint32; - } - leaf transactions-per-second { - description "An upper limit of transactions per second this RPC shall try to achieve."; - mandatory true; - type uint32; - } + uses transactions-params; leaf isolated-transactions { description "The value for DOMDataTreeProducer#createTransaction argument."; mandatory true; @@ -322,51 +321,47 @@ module odl-mdsal-lowlevel-control { } } 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; - } + uses transactions-result; } } - 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. @@ -420,12 +415,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. } @@ -505,4 +498,28 @@ 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."; + } + } + } + + rpc shutdown-prefix-shard-replica { + description "Upon receiving this, the member will try to gracefully shutdown local configuration + data store prefix-based shard replica."; + input { + leaf prefix { + description "The prefix of the configuration data store prefix-based shard to be shutdown + gracefully."; + mandatory true; + type instance-identifier; + } + } + } }