susi-qemu 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/version.rb +1 -1
- data/lib/vm.rb +11 -16
- data/lib/vnc.rb +1 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '040378a35425ae9289a4cfef45818da3001a1a8dc199ad5ef1725dfc809bb239'
|
4
|
+
data.tar.gz: 386be63f2c3a50fc99bd1c2d4e2850e605b04c1cfe50f86677bf6f1272896c00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0a6449ff120efabb18c973cb1e487820c3a24201588893f4539c77c4be95259bfcce544a757a6309868f8bd56d7d474947bd595108f1011781a7a2ade8908fe
|
7
|
+
data.tar.gz: 0bbb251ecc0a459c197f55a57f16ba9fcd07e8d35393ee6f1882bb1dd7c1677cc48befd394949baaa8d8f7f7a0332d6d2078e3650a256acba3a553038cef1322
|
data/lib/version.rb
CHANGED
data/lib/vm.rb
CHANGED
@@ -48,11 +48,11 @@ module Susi
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def vnc_www_port
|
51
|
-
vnc_port -
|
51
|
+
vnc_port - 100
|
52
52
|
end
|
53
53
|
|
54
54
|
def vnc_websocket_port
|
55
|
-
vnc_port -
|
55
|
+
vnc_port - 200
|
56
56
|
end
|
57
57
|
|
58
58
|
def ssh_port
|
@@ -106,14 +106,8 @@ module Susi
|
|
106
106
|
qmp_port = self.get_free_port(4000, 4099)
|
107
107
|
ssh_port = self.get_free_port(2000, 2099)
|
108
108
|
vnc_port = self.get_free_port(5900, 5999)
|
109
|
-
vnc_www_port =
|
110
|
-
vnc_websocket_port =
|
111
|
-
|
112
|
-
puts "QMP Port: #{qmp_port}"
|
113
|
-
puts "SSH Port: #{ssh_port}"
|
114
|
-
puts "VNC Port: #{vnc_port}"
|
115
|
-
puts "VNC WWW Port: #{vnc_www_port}"
|
116
|
-
puts "VNC WebSocket Port: #{vnc_websocket_port}"
|
109
|
+
vnc_www_port = vnc_port - 100
|
110
|
+
vnc_websocket_port = vnc_port - 200
|
117
111
|
|
118
112
|
cmd = []
|
119
113
|
|
@@ -138,8 +132,9 @@ module Susi
|
|
138
132
|
cmd << "-cdrom #{cdrom}"
|
139
133
|
end
|
140
134
|
|
141
|
-
|
142
|
-
|
135
|
+
cmd = cmd.join(" ")
|
136
|
+
puts cmd
|
137
|
+
system(cmd)
|
143
138
|
|
144
139
|
QMP.new(qmp_port).close
|
145
140
|
end
|
@@ -155,15 +150,15 @@ module Susi
|
|
155
150
|
vm = VM.new(n)
|
156
151
|
|
157
152
|
# get local device name or IP
|
158
|
-
ip =
|
153
|
+
ip = vm.ip
|
159
154
|
|
160
155
|
puts <<-EOF
|
161
156
|
VM: #{n}
|
162
157
|
- Disk: #{vm.disk}
|
163
158
|
- QMP: #{vm.qmp_port}
|
164
|
-
- VNC: vnc://#{ip
|
165
|
-
- Screen: http://#{ip
|
166
|
-
- SSH: ssh -p #{vm.ssh_port} dabo@#{ip
|
159
|
+
- VNC: vnc://#{ip}:#{vm.vnc_port}
|
160
|
+
- Screen: http://#{ip}:#{vm.vnc_www_port}/
|
161
|
+
- SSH: ssh -p #{vm.ssh_port} dabo@#{ip}
|
167
162
|
EOF
|
168
163
|
end
|
169
164
|
end
|
data/lib/vnc.rb
CHANGED
@@ -6,9 +6,8 @@ module Susi
|
|
6
6
|
def self.open(name)
|
7
7
|
vm = VM.new(name)
|
8
8
|
port = vm.vnc_www_port
|
9
|
-
ip = Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }
|
10
9
|
token = (0...8).map { (65 + rand(26)).chr }.join
|
11
|
-
url = "http://#{ip
|
10
|
+
url = "http://#{vm.ip}:#{port}/#{token}.html"
|
12
11
|
|
13
12
|
# prepare paths and files
|
14
13
|
path = File.expand_path(File.dirname(__FILE__))
|