susi-qemu 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. checksums.yaml +4 -4
  2. data/bin/susi +1 -0
  3. data/lib/susi.rb +0 -1
  4. data/lib/version.rb +3 -0
  5. data/lib/vm.rb +12 -17
  6. data/lib/vnc.rb +1 -2
  7. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1dea990fdc410fb49ca174ec0a224c6a9561b557c334d8878ce09e044bafe810
4
- data.tar.gz: 65fc4f31010e7a2da46e68bb1b9704c6a44209ab993e167e850322c317a15799
3
+ metadata.gz: '040378a35425ae9289a4cfef45818da3001a1a8dc199ad5ef1725dfc809bb239'
4
+ data.tar.gz: 386be63f2c3a50fc99bd1c2d4e2850e605b04c1cfe50f86677bf6f1272896c00
5
5
  SHA512:
6
- metadata.gz: 91b8c72497b3b8c88cb8508bcb409d65850f0c489507c0f4e3f74c0a25da40cb0a23fc1928f408fbbb63fa25787e878474269f8d9942299f5b43a63d794d2523
7
- data.tar.gz: 6d9d80553774e38b5a812c7c58f04d120b62f12e3a06ad5a150b53d5003a59466e0883948f61ff9028a3ed12ec1faec07ec3e603810681e3ca3a39b9698c3f18
6
+ metadata.gz: b0a6449ff120efabb18c973cb1e487820c3a24201588893f4539c77c4be95259bfcce544a757a6309868f8bd56d7d474947bd595108f1011781a7a2ade8908fe
7
+ data.tar.gz: 0bbb251ecc0a459c197f55a57f16ba9fcd07e8d35393ee6f1882bb1dd7c1677cc48befd394949baaa8d8f7f7a0332d6d2078e3650a256acba3a553038cef1322
data/bin/susi CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'susi'
4
+ require 'version'
4
5
 
5
6
  if ARGV[0] == 'init'
6
7
  Susi::init
data/lib/susi.rb CHANGED
@@ -10,7 +10,6 @@ require 'yaml'
10
10
  require 'securerandom'
11
11
 
12
12
  module Susi
13
- VERSION = '0.0.1'
14
13
  CONFIG_FILE = ".susi.yml"
15
14
  SUSI_DIR = "#{ENV['HOME']}/.susi"
16
15
  TEMPLATE_DIR = "#{SUSI_DIR}/templates"
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module Susi
2
+ VERSION = '0.0.3'
3
+ end
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 - 5900 + 5800
51
+ vnc_port - 100
52
52
  end
53
53
 
54
54
  def vnc_websocket_port
55
- vnc_port - 5900 + 5700
55
+ vnc_port - 200
56
56
  end
57
57
 
58
58
  def ssh_port
@@ -106,18 +106,12 @@ 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 = 5800 + vnc_port - 5900
110
- vnc_websocket_port = 5700 + vnc_port - 5900
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
 
120
- cmd << "~/susi/docs/qemu/build/qemu-system-x86_64"
114
+ cmd << "qemu-system-x86_64"
121
115
 
122
116
  # general setup
123
117
  cmd << "-name #{name}"
@@ -138,8 +132,9 @@ module Susi
138
132
  cmd << "-cdrom #{cdrom}"
139
133
  end
140
134
 
141
- puts cmd.join(" ")
142
- system(cmd.join(" "))
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 = Socket.ip_address_list.find { |ai| ai.ipv4? && !ai.ipv4_loopback? }
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.ip_address}:#{vm.vnc_port}
165
- - Screen: http://#{ip.ip_address}:#{vm.vnc_www_port}/
166
- - SSH: ssh -p #{vm.ssh_port} dabo@#{ip.ip_address}
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.ip_address}:#{port}/#{token}.html"
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__))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: susi-qemu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Bovensiepen
@@ -36,6 +36,7 @@ files:
36
36
  - lib/qmp.rb
37
37
  - lib/ssh.rb
38
38
  - lib/susi.rb
39
+ - lib/version.rb
39
40
  - lib/vm.rb
40
41
  - lib/vnc.rb
41
42
  homepage: https://github.com/bovi/susi