mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
Python: add utility function for retrieving port redirection
Slightly different versions for the same utility code are currently present on different locations. This unifies them all, giving preference to the version from virtiofs_submounts.py, because of the last tweaks added to it. While at it, this adds a "qemu.utils" module to host the utility function and a test. Signed-off-by: Cleber Rosa <crosa@redhat.com> Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Willian Rampazzo <willianr@redhat.com> Message-Id: <20210412044644.55083-4-crosa@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com> [Squashed in below fix. --js] Signed-off-by: John Snow <jsnow@redhat.com> Signed-off-by: Cleber Rosa <crosa@redhat.com> Message-Id: <20210601154546.130870-2-crosa@redhat.com> Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
c028691e65
commit
976218cbe7
5 changed files with 79 additions and 33 deletions
|
@ -21,6 +21,7 @@ import datetime
|
|||
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
|
||||
from qemu.accel import kvm_available
|
||||
from qemu.machine import QEMUMachine
|
||||
from qemu.utils import get_info_usernet_hostfwd_port
|
||||
import subprocess
|
||||
import hashlib
|
||||
import argparse
|
||||
|
@ -227,7 +228,7 @@ class BaseVM(object):
|
|||
"-o", "UserKnownHostsFile=" + os.devnull,
|
||||
"-o",
|
||||
"ConnectTimeout={}".format(self._config["ssh_timeout"]),
|
||||
"-p", self.ssh_port, "-i", self._ssh_tmp_key_file]
|
||||
"-p", str(self.ssh_port), "-i", self._ssh_tmp_key_file]
|
||||
# If not in debug mode, set ssh to quiet mode to
|
||||
# avoid printing the results of commands.
|
||||
if not self.debug:
|
||||
|
@ -305,12 +306,8 @@ class BaseVM(object):
|
|||
# Init console so we can start consuming the chars.
|
||||
self.console_init()
|
||||
usernet_info = guest.qmp("human-monitor-command",
|
||||
command_line="info usernet")
|
||||
self.ssh_port = None
|
||||
for l in usernet_info["return"].splitlines():
|
||||
fields = l.split()
|
||||
if "TCP[HOST_FORWARD]" in fields and "22" in fields:
|
||||
self.ssh_port = l.split()[3]
|
||||
command_line="info usernet").get("return")
|
||||
self.ssh_port = get_info_usernet_hostfwd_port(usernet_info)
|
||||
if not self.ssh_port:
|
||||
raise Exception("Cannot find ssh port from 'info usernet':\n%s" % \
|
||||
usernet_info)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue