This commit consists of:
1) Dockerizing the netconf server
2) Update proto2yang to support module imports
3) Provide a set of yang modules derived from the proto files in voltha.
   These files as well as the slight mmodifications to the proto files are
   provided in the experiments/netconf/proto2yang directory
4) Code to automatically pull proto files from voltha into the netconf server,
   compiles them and produce the yang equivalent files.
5) Add a getvoltha netconf API to provide voltha state information (basic at
   this time).  There is potential to make this generic once we experiment
   with additional APIs

Change-Id: I94f3a1f871b8025ad675d5f9b9b626d1be8b8d36
diff --git a/experiments/netconf/proto2yang/ietf-adapter.yang b/experiments/netconf/proto2yang/ietf-adapter.yang
new file mode 100644
index 0000000..42ef6e3
--- /dev/null
+++ b/experiments/netconf/proto2yang/ietf-adapter.yang
@@ -0,0 +1,105 @@
+
+module ietf-adapter {
+
+
+    namespace "urn:opencord:params:xml:ns:voltha:ietf-adapter";
+    prefix adapter;
+
+    import ietf-common { prefix common ; }
+    import ietf-any { prefix any ; }
+
+    organization "CORD";
+    contact
+        " Any name";
+
+    description
+        "";
+
+    revision "2016-11-15" {
+        description "Initial revision.";
+        reference "reference";
+    }
+
+
+    grouping AdapterConfig {
+        description
+            "";
+        leaf log_level {
+            type  common:LogLevel;
+
+            description
+                "Common adapter config attributes here";
+        }
+
+        container additional_config {
+            uses  any:Any;
+
+            description
+                "Custom (vendor-specific) configuration attributes";
+        }
+
+    }
+
+    grouping Adapter {
+        description
+            "Adapter (software plugin)";
+        leaf id {
+            type  string; 
+            description
+                "Unique name of adapter, matching the python packate name under
+ voltha adapters.";
+        }
+
+        leaf vendor {
+            type  string; 
+            description
+                "";
+        }
+
+        leaf version {
+            type  string; 
+            description
+                "";
+        }
+
+        container config {
+            uses  AdapterConfig;
+
+            description
+                "Adapter configuration";
+        }
+
+        container additional_description {
+            uses  any:Any;
+
+            description
+                "Custom descriptors and custom configuration";
+        }
+
+        list logical_device_ids {
+            key "logical_device_ids";
+            leaf logical_device_ids {
+                type  string; 
+                description
+                    "Logical devices  owned ";
+            }
+            description
+                "Logical devices  owned ";
+        }
+
+    }
+
+    grouping Adapters {
+        description
+            "";
+        list items {
+            key "id";
+            uses  Adapter;
+
+            description
+                "";
+        }
+
+    }
+
+}
\ No newline at end of file