From dfc1f64841face08e647dd88ab7c5bfeb543375e Mon Sep 17 00:00:00 2001 From: Mikhail Klementev Date: Wed, 19 Sep 2018 06:18:05 +0000 Subject: [PATCH] Save forwarded ssh port --- qemu-kernel.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qemu-kernel.go b/qemu-kernel.go index 038a843..4865d41 100644 --- a/qemu-kernel.go +++ b/qemu-kernel.go @@ -74,7 +74,8 @@ type QemuSystem struct { stderr io.ReadCloser stdout io.ReadCloser } - died bool + died bool + sshHostFwd string // accessible after qemu is closed Stdout, Stderr string @@ -134,7 +135,7 @@ func kvmExists() bool { // Start qemu process func (q *QemuSystem) Start() (err error) { rand.Seed(time.Now().UnixNano()) // Are you sure? - hostfwd := fmt.Sprintf("hostfwd=tcp:%s-:22", getFreeAddrPort()) + q.sshHostFwd = fmt.Sprintf("hostfwd=tcp:%s-:22", getFreeAddrPort()) qemuArgs := []string{"-snapshot", "-nographic", "-hda", q.drivePath, "-kernel", q.kernel.Path, @@ -142,7 +143,7 @@ func (q *QemuSystem) Start() (err error) { "-smp", fmt.Sprintf("%d", q.Cpus), "-m", fmt.Sprintf("%d", q.Memory), "-device", "e1000,netdev=n1", - "-netdev", "user,id=n1," + hostfwd, + "-netdev", "user,id=n1," + q.sshHostFwd, } if (q.arch == X86_64 || q.arch == I386) && kvmExists() {