"""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
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))
: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.
"""
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, "")
: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
"""
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)