Merge "Implementation for enabling remote rpc calls between 2 instances of md-sal"
[controller.git] / opendaylight / md-sal / sal-remoterpc-connector / implementation / src / main / yang / odl-sal-dom-rpc-remote-cfg.yang
1 module odl-sal-dom-rpc-remote-cfg {
2         yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:remote:rpc";
4     prefix "rpc-cluster";
5
6     import config { prefix config; revision-date 2013-04-05; }
7     import opendaylight-md-sal-dom {prefix dom;}
8     
9     description
10         "Service definition for Binding Aware MD-SAL.";
11  
12     revision "2013-10-28" {
13         description
14             "Initial revision";
15     }
16
17     identity remote-rpc-server {
18         base config:service-type;
19         config:java-class "org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcServer";
20     }
21
22     identity remote-rpc-client {
23         base config:service-type;
24         config:java-class "org.opendaylight.controller.sal.connector.remoterpc.RemoteRpcClient";
25     }
26
27     identity remote-zeromq-rpc-server {
28         base config:module-type;
29         config:provided-service remote-rpc-server;
30         config:provided-service remote-rpc-client;
31         config:java-name-prefix ZeroMQServer;
32     }
33
34     augment "/config:modules/config:module/config:configuration" {
35         case remote-zeromq-rpc-server {
36             when "/config:modules/config:module/config:type = 'remote-zeromq-rpc-server'";
37             
38             container dom-broker {
39                 uses config:service-ref {
40                     refine type {
41                         mandatory true;
42                         config:required-identity dom:dom-broker-osgi-registry;
43                     }
44                 }
45             }
46             
47             leaf port {
48                 type uint16;
49             }
50         }
51     }
52 }