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/netconf/session/nc_protocol_handler.py b/netconf/session/nc_protocol_handler.py
index e0a4baf..a08ea37 100644
--- a/netconf/session/nc_protocol_handler.py
+++ b/netconf/session/nc_protocol_handler.py
@@ -33,11 +33,11 @@
class NetconfProtocolHandler:
- def __init__(self, nc_server, nc_conn, session, grpc_stub):
+ def __init__(self, nc_server, nc_conn, session, grpc_client):
self.started = True
self.conn = nc_conn
self.nc_server = nc_server
- self.grpc_stub = grpc_stub
+ self.grpc_client = grpc_client
self.new_framing = False
self.capabilities = Capabilities()
self.session = session
@@ -171,6 +171,7 @@
# Get a rpc handler
rpc_handler = rpc_factory.get_rpc_handler(rpc,
msg,
+ self.grpc_client,
self.session)
if rpc_handler:
# set the parameters for this handler
@@ -206,21 +207,6 @@
error = ncerror.ServerException(rpc, ex)
self.send_message(error.get_reply_msg())
- # @inlineCallbacks
- # def invoke_method(self, rpcname, rpc, params):
- # try:
- # # Handle any namespaces or prefixes in the tag, other than
- # # "nc" which was removed above. Of course, this does not handle
- # # namespace collisions, but that seems reasonable for now.
- # rpcname = rpcname.rpartition("}")[-1]
- # method_name = "rpc_" + rpcname.replace('-', '_')
- # method = getattr(self.methods, method_name,
- # self._rpc_not_implemented)
- # log.info("invoking-method", method=method_name)
- # reply = yield method(self, rpc, *params)
- # returnValue(reply)
- # except NotImplementedError:
- # raise ncerror.NotImpl(rpc)
def stop(self, reason):
if not self.exiting: