X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Ftest%2Fresources%2Fsal-broker-impl%2Fopendaylight-dom-broker-impl.yang;fp=yang%2Fyang-parser-rfc7950%2Fsrc%2Ftest%2Fresources%2Fsal-broker-impl%2Fopendaylight-dom-broker-impl.yang;h=944a63dbf6f75b0b9408300376edc1b5ed2cf94b;hb=1cc6359e5bae1459582e9262a24ca56f23bcc70f;hp=0000000000000000000000000000000000000000;hpb=3b445156dfea75955b98f40208ffea51fe252209;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/test/resources/sal-broker-impl/opendaylight-dom-broker-impl.yang b/yang/yang-parser-rfc7950/src/test/resources/sal-broker-impl/opendaylight-dom-broker-impl.yang new file mode 100644 index 0000000000..944a63dbf6 --- /dev/null +++ b/yang/yang-parser-rfc7950/src/test/resources/sal-broker-impl/opendaylight-dom-broker-impl.yang @@ -0,0 +1,218 @@ +module opendaylight-sal-dom-broker-impl { + yang-version 1; + namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl"; + prefix "broker"; + + import config { prefix config; revision-date 2013-04-05; } + import ietf-yang-types { prefix yang; } + 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; } + import rpc-context { prefix rpcx; revision-date 2013-06-17; } + + description + "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"; + } + + identity 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 schema-service-singleton { + base config:module-type; + config:provided-service sal:schema-service; + config:java-name-prefix SchemaServiceImplSingleton; + } + + typedef max-queue-depth { + type uint32 { + range 1..1073741824; + } + } + + augment "/config:modules/config:module/config:configuration" { + case dom-broker-impl { + when "/config:modules/config:module/config:type = 'dom-broker-impl'"; + + container async-data-broker { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:dom-async-data-broker; + } + } + } + + container root-schema-service { + uses config:service-ref { + refine type { + mandatory false; + config:required-identity sal:schema-service; + } + } + } + + leaf notification-queue-depth { + description "Maximum number of elements in the notification queue, must be + power-of-two."; + type max-queue-depth; + default 65536; + } + leaf notification-queue-spin { + description "Number of milliseconds notification queue should spin for new + requests before parking."; + type uint16; + units milliseconds; + default 1; + } + leaf notification-queue-park { + description "Number of milliseconds notification queue should park for new + requests before blocking."; + type uint16; + units milliseconds; + default 30; + } + } + } + + 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."; + } + } + + grouping dom-broker-operational { + leaf total-commits { + type uint64; + } + + leaf average-commit { + type uint64; + units ns; + } + + leaf longest-commit-duration { + type uint64; + units ns; + } + + leaf longest-commit-timestamp { + type yang:date-and-time; + } + + leaf shortest-commit-duration { + type uint64; + units ns; + } + + leaf shortest-commit-timestamp { + type yang:date-and-time; + } + + rpcx:rpc-context-instance dom-broker-rpc-ctx; + } + + identity dom-broker-rpc-ctx; + + rpc reset-statistics { + description + "JMX call to clear the toasts-made counter."; + + input { + uses rpcx:rpc-context-ref { + refine context-instance { + rpcx:rpc-context-instance dom-broker-rpc-ctx; + } + } + } + } + + 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 dom-inmemory-data-broker { + when "/config:modules/config:module/config:type = 'dom-inmemory-data-broker'"; + + uses dom-broker-operational; + } + } + + 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; + } + } + } +}