HC Test: create Vlan sub-interface using netconf
[csit.git] / resources / libraries / python / honeycomb / Netconf.py
index 3c98387..770af95 100644 (file)
 """Keywords used to connect to Honeycomb through Netconf, send messages
  and receive replies."""
 
+import socket
 from time import time
 
 import paramiko
-import socket
 from robot.api import logger
 from interruptingcow import timeout
 
@@ -61,8 +61,7 @@ class Netconf(object):
                        password=node['honeycomb']['passwd'],
                        pkey=None,
                        port=node['honeycomb']['netconf_port'],
-                       timeout=time_out,
-                       )
+                       timeout=time_out)
 
         logger.trace('Connect took {0} seconds'.format(time() - start))
         logger.debug('New ssh: {0}'.format(client))
@@ -102,7 +101,7 @@ class Netconf(object):
         :type size:int
         :type time_out:int
         :type err:str
-        :return: Content of response.
+        :returns: Content of response.
         :rtype: str
         :raises HoneycombError: If the read process times out.
         """
@@ -123,13 +122,11 @@ class Netconf(object):
                             break
                     except socket.timeout:
                         raise HoneycombError("Socket timeout.",
-                                             enable_logging=False
-                                             )
+                                             enable_logging=False)
 
         except RuntimeError:
             raise HoneycombError(err + " Content of buffer: {0}".format(reply),
-                                 enable_logging=False
-                                 )
+                                 enable_logging=False)
 
         logger.trace(reply)
         return reply.replace(self.delimiter, "")
@@ -142,7 +139,7 @@ class Netconf(object):
         :param time_out: Timeout value for getting the complete response.
         :type size:int
         :type time_out:int
-        :return: Content of response.
+        :returns: Content of response.
         :rtype: str
         """
 
@@ -157,14 +154,20 @@ class Netconf(object):
 
         return response
 
-    def send(self, message):
+    def send(self, message, **params):
         """Sends provided message through the channel.
 
         :param message: Message to be sent to Honeycomb.
+        :param params: Format the message string with these parameters.
         :type message: str
+        :type params: dict
         """
 
+        message = message.format(**params)
+
         if not message.endswith(self.delimiter):
             message += self.delimiter
 
+        logger.debug(message)
+
         self.channel.send(message)