X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fyang%2Fopendaylight-dom-broker-impl.yang;h=1a553eab52b6c320f30cfb89034bedadb442514f;hp=3c29fe588567dafee48c5f4e628e4eb22a8364fc;hb=78aa007feef2169a0280bd3d3fbbbea160b63d82;hpb=43d7c8702fc7a89ca5acdeefb4696c91b2963b38 diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang index 3c29fe5885..1a553eab52 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang +++ b/opendaylight/md-sal/sal-dom-broker/src/main/yang/opendaylight-dom-broker-impl.yang @@ -1,15 +1,20 @@ module opendaylight-sal-dom-broker-impl { - yang-version 1; + yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl"; prefix "binding-impl"; - import config { prefix config; revision-date 2013-04-05; } - import opendaylight-md-sal-dom {prefix sal;} - import opendaylight-md-sal-common {prefix common;} + import config { prefix config; revision-date 2013-04-05; } + import opendaylight-md-sal-dom {prefix sal;} + import opendaylight-md-sal-common {prefix common;} + import opendaylight-config-dom-datastore {prefix config-dom-store-spi;} + import opendaylight-operational-dom-datastore {prefix operational-dom-store-spi;} description - "Service definition for Binding Aware MD-SAL."; - + "Service definition for Binding Aware MD-SAL. + Note: The dom-inmemory-data-broker utilizes configurable config-dom-datastore + and operation-dom-datastore. If configuration is not done for this stores + then it defaults to InMemoryDOMDataStore"; + revision "2013-10-28" { description "Initial revision"; @@ -19,20 +24,14 @@ module opendaylight-sal-dom-broker-impl { base config:module-type; config:provided-service sal:dom-broker-osgi-registry; config:java-name-prefix DomBrokerImpl; - } - - + } + + identity dom-inmemory-data-broker { base config:module-type; config:provided-service sal:dom-async-data-broker; } - - identity hash-map-data-store { - base config:module-type; - config:provided-service sal:dom-data-store; - config:java-name-prefix HashMapDataStore; - } - + identity schema-service-singleton { base config:module-type; config:provided-service sal:schema-service; @@ -50,7 +49,7 @@ module opendaylight-sal-dom-broker-impl { } } } - + container async-data-broker { uses config:service-ref { refine type { @@ -58,45 +57,86 @@ module opendaylight-sal-dom-broker-impl { config:required-identity sal:dom-async-data-broker; } } - } - } - } - - augment "/config:modules/config:module/config:configuration" { - case dom-inmemory-data-broker { - when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; - - container schema-service { + + container root-schema-service { uses config:service-ref { refine type { mandatory false; config:required-identity sal:schema-service; } } - } } } - - augment "/config:modules/config:module/config:state" { - case hash-map-data-store { - when "/config:modules/config:module/config:type = 'hash-map-data-store'"; + + grouping dom-broker-config { + container schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + } + + container config-data-store { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity config-dom-store-spi:config-dom-datastore; + } + } + } + + container operational-data-store { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity operational-dom-store-spi:operational-dom-datastore; + } + } + } + + leaf max-data-broker-future-callback-queue-size { + default 1000; + type uint16; + description "The maximum queue size for the data broker's commit future callback executor."; + } + + leaf max-data-broker-future-callback-pool-size { + default 20; + type uint16; + description "The maximum thread pool size for the data broker's commit future callback executor."; + } + + leaf max-data-broker-commit-queue-size { + default 5000; + type uint16; + description "The maximum queue size for the data broker's commit executor."; } } - + + augment "/config:modules/config:module/config:configuration" { + case dom-inmemory-data-broker { + when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; + + uses dom-broker-config; + } + } + augment "/config:modules/config:module/config:state" { case schema-service-singleton { when "/config:modules/config:module/config:type = 'schema-service-singleton'"; } } - + augment "/config:modules/config:module/config:state" { case dom-broker-impl { when "/config:modules/config:module/config:type = 'dom-broker-impl'"; container data { uses common:data-state; - } + } } } -} \ No newline at end of file +}