X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fyang%2Fdistributed-datastore-provider.yang;h=e19a76703f69f61ec8df33decddf483cfc6e7192;hp=0471bc806e00d65e973432b4faa7dea90e593516;hb=25b805c6685467f561506dbb5187a744fc12096b;hpb=2a35e5ab8c3300757a425841d017097c1fa31e68 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang index 0471bc806e..e19a76703f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/yang/distributed-datastore-provider.yang @@ -7,6 +7,9 @@ module distributed-datastore-provider { import config { prefix config; revision-date 2013-04-05; } import rpc-context { prefix rpcx; revision-date 2013-06-17; } + import opendaylight-config-dom-datastore {prefix config-dom-store-spi;} + import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} + import opendaylight-md-sal-dom {prefix sal;} description "This module contains the base YANG definitions for @@ -18,17 +21,118 @@ module distributed-datastore-provider { } // This is the definition of the service implementation as a module identity. - identity distributed-datastore-provider { + identity distributed-config-datastore-provider { base config:module-type; - + config:provided-service config-dom-store-spi:config-dom-datastore; // Specifies the prefix for generated java classes. - config:java-name-prefix DistributedDataStoreProvider; + config:java-name-prefix DistributedConfigDataStoreProvider; + } + + // This is the definition of the service implementation as a module identity. + identity distributed-operational-datastore-provider { + base config:module-type; + config:provided-service operational-dom-store-spi:operational-dom-datastore; + // Specifies the prefix for generated java classes. + config:java-name-prefix DistributedOperationalDataStoreProvider; + } + + typedef non-zero-uint16-type { + type uint16 { + range "1..max"; + } + } + + typedef operation-timeout-type { + type uint16 { + range "5..max"; + } + } + + grouping data-store-properties { + leaf max-shard-data-change-executor-queue-size { + default 1000; + type non-zero-uint16-type; + description "The maximum queue size for each shard's data store data change notification executor."; + } + + leaf max-shard-data-change-executor-pool-size { + default 20; + type non-zero-uint16-type; + description "The maximum thread pool size for each shard's data store data change notification executor."; + } + + leaf max-shard-data-change-listener-queue-size { + default 1000; + type non-zero-uint16-type; + description "The maximum queue size for each shard's data store data change listeners."; + } + + leaf max-shard-data-store-executor-queue-size { + default 5000; + type non-zero-uint16-type; + description "The maximum queue size for each shard's data store executor."; + } + + leaf shard-transaction-idle-timeout-in-minutes { + default 10; + type non-zero-uint16-type; + description "The maximum amount of time a shard transaction can be idle without receiving any messages before it self-destructs."; + } + + leaf operation-timeout-in-seconds { + default 5; + type operation-timeout-type; + description "The maximum amount of time for akka operations (remote or local) to complete before failing."; + } + + leaf enable-metric-capture { + default false; + type boolean; + description "Enable or disable metric capture."; + } + + leaf bounded-mailbox-capacity { + default 1000; + type non-zero-uint16-type; + description "Max queue size that an actor's mailbox can reach"; + } + } + + // Augments the 'configuration' choice node under modules/module. + augment "/config:modules/config:module/config:configuration" { + case distributed-config-datastore-provider { + when "/config:modules/config:module/config:type = 'distributed-config-datastore-provider'"; + container config-schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + } + + container config-properties { + uses data-store-properties; + } + } } // Augments the 'configuration' choice node under modules/module. augment "/config:modules/config:module/config:configuration" { - case distributed-datastore-provider { - when "/config:modules/config:module/config:type = 'distributed-datastore-provider'"; + case distributed-operational-datastore-provider { + when "/config:modules/config:module/config:type = 'distributed-operational-datastore-provider'"; + container operational-schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + } + + container operational-properties { + uses data-store-properties; + } } } }