def platform_info(self): """Return distro, version, architecture. Requires >= Python 2.4 on remote system. """ if not self._platform_info: platform_command = "import platform,sys\n" platform_command += utils.get_source_definition( utils.get_platform_info) platform_command += ("\nsys.stdout.write(str(" "get_platform_info()))\n") command = 'echo -e """%s""" | python' % platform_command output = self.remote_execute(command) stdout = re.split('\n|\r\n', output['stdout'])[-1].strip() if stdout: try: plat = ast.literal_eval(stdout) except SyntaxError as exc: plat = {'dist': 'unknown'} LOG.warning("Error parsing response from host '%s': %s", self.host, output, exc_info=exc) else: plat = {'dist': 'unknown'} LOG.warning("Blank response from host '%s': %s", self.host, output) self._platform_info = plat return self._platform_info
def test_get_definition_with_docstring(self): nab = utils.get_source_definition(self.get_my_source_oneline_docstring, with_docstring=True) copy = "%s\n %s\n %s" % (self.function_signature, self.function_oneline_docstring, "\n ".join(self.function_body)) self.assertEqual(copy, nab)
def test_get_definition_with_docstring(self): nab = utils.get_source_definition( self.get_my_source_oneline_docstring, with_docstring=True) copy = "%s\n %s\n %s" % (self.function_signature, self.function_oneline_docstring, "\n ".join(self.function_body)) self.assertEqual(copy, nab)
def platform_info(self): """Return distro, version, architecture. Requires >= Python 2.4 on remote system. """ if not self._platform_info: platform_command = "import platform,sys\n" platform_command += utils.get_source_definition( utils.get_platform_info) platform_command += ("\nsys.stdout.write(str(" "get_platform_info()))\n") command = 'echo -e """%s""" | python' % platform_command output = self.remote_execute(command) stdout = re.split('\n|\r\n', output['stdout'])[-1].strip() plat = ast.literal_eval(stdout) self._platform_info = plat LOG.debug("Remote platform info: %s", self._platform_info) return self._platform_info