Merge "Removed `which` dependency, now using proper shell builtin."
[controller.git] / opendaylight / md-sal / sal-netconf-connector / src / main / yang / odl-sal-netconf-connector-cfg.yang
index 45f10162ca7edd600ca86bc5a56ac3cfb229fafb..c59c41c4374838908cf3d7440bc71cef7940b0d3 100644 (file)
@@ -3,15 +3,16 @@ module odl-sal-netconf-connector-cfg {
     namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf";
     prefix "sal-netconf";
 
-       import config { prefix config; revision-date 2013-04-05; }
-       import threadpool {prefix th;}
-       import netty {prefix netty;}
-       import ietf-inet-types {prefix inet;}
-       import opendaylight-md-sal-dom {prefix dom;}
+    import config { prefix config; revision-date 2013-04-05; }
+    import threadpool {prefix th;}
+    import netty {prefix netty;}
+    import opendaylight-md-sal-dom {prefix dom;}
+    import opendaylight-md-sal-binding {prefix md-sal-binding; revision-date 2013-10-28;}
+    import odl-netconf-cfg { prefix cfg-net; revision-date 2014-04-08; }
 
     description
         "Service definition for Binding Aware MD-SAL.";
+
     revision "2013-10-28" {
         description
             "Initial revision";
@@ -22,22 +23,20 @@ module odl-sal-netconf-connector-cfg {
         config:java-name-prefix NetconfConnector;
     }
 
-
     grouping server {
         leaf address {
             type string;
         }
-    
+
         leaf port {
             type uint32;
         }
     }
 
-
     augment "/config:modules/config:module/config:configuration" {
         case sal-netconf-connector {
             when "/config:modules/config:module/config:type = 'sal-netconf-connector'";
-            
+
             leaf address {
                 type string;
             }
@@ -46,6 +45,18 @@ module odl-sal-netconf-connector-cfg {
                 type uint32;
             }
 
+            leaf tcp-only {
+                type boolean;
+            }
+
+            leaf username {
+                type string;
+            }
+
+            leaf password {
+                type string;
+            }
+
             container dom-registry {
                 uses config:service-ref {
                     refine type {
@@ -55,21 +66,94 @@ module odl-sal-netconf-connector-cfg {
                 }
             }
 
+            container binding-registry {
+                uses config:service-ref {
+                    refine type {
+                        // FIXME BUG-944 make mandatory (remove backwards compatibility)
+                        mandatory false;
+                        config:required-identity md-sal-binding:binding-broker-osgi-registry;
+                    }
+                }
+            }
+
+            // FIXME BUG-944 remove backwards compatibility
+            // Deprecated, replaced by client dispatcher.
+            // This dependency will be removed in near future and all configurations of netconf-connector need to be changed to use dispatcher dependency.
             container boss-thread-group {
                 uses config:service-ref {
                     refine type {
+                        mandatory false;
                         config:required-identity netty:netty-threadgroup;
                     }
                 }
             }
 
+            // FIXME BUG-944 remove backwards compatibility
+            // Deprecated, replaced by client dispatcher.
+            // This dependency will be removed in near future and all configurations of netconf-connector need to be changed to use dispatcher dependency.
             container worker-thread-group {
                 uses config:service-ref {
                     refine type {
+                        mandatory false;
                         config:required-identity netty:netty-threadgroup;
                     }
                 }
             }
+
+            container event-executor {
+                uses config:service-ref {
+                    refine type {
+                        config:required-identity netty:netty-event-executor;
+                    }
+                }
+            }
+
+            container processing-executor {
+                uses config:service-ref {
+                    refine type {
+                        // FIXME BUG-944 make mandatory (remove backwards compatibility)
+                        mandatory false;
+                        config:required-identity th:threadpool;
+                    }
+                }
+
+                description "Makes up for flaws in netty threading design";
+            }
+
+            // Replaces thread group dependencies
+            container client-dispatcher {
+                uses config:service-ref {
+                    refine type {
+                        mandatory false;
+                        config:required-identity cfg-net:netconf-client-dispatcher;
+                    }
+                }
+            }
+
+            leaf connection-timeout-millis {
+                description "Specifies timeout in milliseconds after which connection must be established.";
+                type uint32;
+                default 20000;
+            }
+
+            leaf max-connection-attempts {
+                description "Maximum number of connection retries. Non positive value or null is interpreted as infinity.";
+                type uint32;
+                default 0; // retry forever
+            }
+
+            leaf between-attempts-timeout-millis {
+                description "Initial timeout in milliseconds to wait between connection attempts. Will be multiplied by sleep-factor with every additional attempt";
+                type uint16;
+                default 2000;
+            }
+
+            leaf sleep-factor {
+                type decimal64 {
+                    fraction-digits 1;
+                }
+                default 1.5;
+            }
         }
     }
 }
\ No newline at end of file