vagrant-subutai 7.0.2 → 7.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/.gitignore +2 -1
- data/CHANGELOG.md +7 -1
- data/LICENSE +201 -0
- data/lib/vagrant-subutai.rb +1 -0
- data/lib/vagrant-subutai/cleanup.rb +79 -0
- data/lib/vagrant-subutai/create_disk.rb +1 -0
- data/lib/vagrant-subutai/packer/script/remove_virtual_disk.ps1 +12 -0
- data/lib/vagrant-subutai/packer/subutai_config.rb +22 -4
- data/lib/vagrant-subutai/packer/subutai_disk.rb +44 -43
- data/lib/vagrant-subutai/packer/subutai_validation.rb +23 -8
- data/lib/vagrant-subutai/plugin.rb +5 -0
- data/lib/vagrant-subutai/version.rb +1 -1
- data/test/disk_create.yml +2 -0
- data/test/disk_size.yml +1 -0
- data/test/management_script.sh +0 -0
- data/test/management_test_file.deb +0 -0
- data/test/subutai-validation-0.yml +29 -0
- data/test/subutai1.yaml +1 -1
- data/test/subutai2.yaml +2 -2
- data/test/subutai_config_test.rb +121 -20
- data/test/subutai_disk_test.rb +220 -0
- data/test/subutai_net_test.rb +2 -1
- data/test/subutai_validation_test.rb +85 -0
- data/test/vagrant-subutai-disk-grow.yml +1 -0
- data/test/vagrant-subutai-disk-with-path.yml +2 -0
- data/test/vagrant-subutai-disk-withoutpath.yml +1 -0
- metadata +25 -2
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'uri'
|
2
|
+
require 'json'
|
2
3
|
require_relative 'subutai_config'
|
3
4
|
|
4
5
|
module SubutaiValidation
|
@@ -47,18 +48,20 @@ module SubutaiValidation
|
|
47
48
|
SubutaiConfig.set_env_type(key, value.to_sym)
|
48
49
|
end
|
49
50
|
when :int
|
50
|
-
raise "
|
51
|
+
raise "\e[33m\n\nInvalid #{key} type of #{value}: use int type \n\e[0m" unless value.is_a?(Integer)
|
51
52
|
when :path
|
52
|
-
raise "
|
53
|
+
raise "\e[33m\n\nPermission denied or invalid #{key} path of #{value}: use valid path \n\e[0m" unless writable_and_exist?(value)
|
53
54
|
when :string
|
54
|
-
raise "
|
55
|
+
raise "\e[33m\n\nInvalid #{key} type of #{value}: use string type \n\e[0m" unless value.is_a?(String)
|
55
56
|
when :bool
|
56
|
-
raise "
|
57
|
+
raise "\e[33m\n\nInvalid #{key} type of #{value}: use bool type \n\e[0m" unless bool?(value)
|
57
58
|
when :url
|
58
|
-
raise "
|
59
|
+
raise "\e[33m\n\nInvalid #{key} url of #{value}: use valid url \n\e[0m" unless value =~ URI::regexp
|
59
60
|
when :json_object
|
60
|
-
raise "
|
61
|
+
raise "\e[33m\n\nInvalid #{key} json of #{value}: use json object \n\e[0m" unless is_json?(value)
|
61
62
|
end
|
63
|
+
|
64
|
+
true
|
62
65
|
end
|
63
66
|
|
64
67
|
def self.bool?(value)
|
@@ -71,11 +74,23 @@ module SubutaiValidation
|
|
71
74
|
end
|
72
75
|
end
|
73
76
|
|
77
|
+
def self.writable_and_exist?(value)
|
78
|
+
if File.exist?(value) && File.writable?(value)
|
79
|
+
return true
|
80
|
+
end
|
81
|
+
|
82
|
+
false
|
83
|
+
end
|
84
|
+
|
74
85
|
def self.is_json?(json)
|
86
|
+
if json.kind_of?(Hash)
|
87
|
+
return true
|
88
|
+
end
|
89
|
+
|
75
90
|
begin
|
76
91
|
JSON.parse(json)
|
77
|
-
rescue
|
78
|
-
false
|
92
|
+
rescue JSON::ParserError
|
93
|
+
return false
|
79
94
|
end
|
80
95
|
|
81
96
|
true
|
data/test/disk_size.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
DISK_SIZE: 250
|
File without changes
|
File without changes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
DESIRED_CONSOLE_PORT: 9999
|
2
|
+
ALLOW_INSECURE: false
|
3
|
+
SUBUTAI_ENV: dev
|
4
|
+
SUBUTAI_PEER: 'true'
|
5
|
+
SUBUTAI_RAM: 1025
|
6
|
+
SUBUTAI_CPU: 5
|
7
|
+
SUBUTAI_DESKTOP: true
|
8
|
+
SUBUTAI_MAN_TMPL: './test/management_script.sh'
|
9
|
+
APT_PROXY_URL: 'http://google.com'
|
10
|
+
PROVISION: "false"
|
11
|
+
PASSWORD_OVERRIDE: secret
|
12
|
+
AUTHORIZED_KEYS: '/tmp'
|
13
|
+
BRIDGE: '545'
|
14
|
+
DISK_SIZE: 1000
|
15
|
+
SUBUTAI_DISK_PATH: '/tmp'
|
16
|
+
SUBUTAI_ENV_TYPE: 'bazaar'
|
17
|
+
SUBUTAI_NAME: '56565'
|
18
|
+
SUBUTAI_SCOPE: public
|
19
|
+
SUBUTAI_USERNAME: '656'
|
20
|
+
SUBUTAI_PASSWORD: 'password'
|
21
|
+
USER_VARIABLES: '{"env": "env name"}'
|
22
|
+
BAZAAR_EMAIL: '6565'
|
23
|
+
BAZAAR_PASSWORD: 'password'
|
24
|
+
LIBVIRT_USER: 'libvirtuser'
|
25
|
+
LIBVIRT_HOST: '192.168.77.19'
|
26
|
+
LIBVIRT_PORT: 23
|
27
|
+
LIBVIRT_MACVTAP: 'true'
|
28
|
+
LIBVIRT_NO_BRIDGE: 'true'
|
29
|
+
BAZAAR_NO_AUTO: false
|
data/test/subutai1.yaml
CHANGED
data/test/subutai2.yaml
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
SUBUTAI_PEER: false
|
2
|
-
SUBUTAI_ENV: master
|
2
|
+
SUBUTAI_ENV: :master
|
3
3
|
SUBUTAI_DESKTOP: true
|
4
4
|
DESIRED_CONSOLE_PORT: 9191
|
5
5
|
ALLOW_INSECURE: true
|
6
6
|
SUBUTAI_RAM: 2000
|
7
7
|
SUBUTAI_CPU: 6
|
8
|
-
SUBUTAI_MAN_TMPL: ./
|
8
|
+
SUBUTAI_MAN_TMPL: './test/management_test_file.deb'
|
9
9
|
APT_PROXY_URL: http://some_server:4444
|
data/test/subutai_config_test.rb
CHANGED
@@ -2,7 +2,8 @@ require 'rubygems'
|
|
2
2
|
require 'test/unit'
|
3
3
|
require 'fileutils'
|
4
4
|
|
5
|
-
require_relative '../lib/
|
5
|
+
require_relative '../lib/vagrant-subutai/packer/subutai_config'
|
6
|
+
require_relative '../lib/vagrant-subutai/put'
|
6
7
|
|
7
8
|
# Tests the SubutaiConfig module
|
8
9
|
class SubutaiConfigTest < Test::Unit::TestCase
|
@@ -75,7 +76,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
75
76
|
SubutaiConfig.load_config('destroy', :virtualbox)
|
76
77
|
assert_path_exist(SubutaiConfig::GENERATED_FILE, 'generated.yaml')
|
77
78
|
|
78
|
-
SubutaiConfig.cleanup
|
79
|
+
SubutaiConfig.cleanup!
|
79
80
|
assert_path_not_exist(SubutaiConfig::GENERATED_FILE, 'generated.yaml')
|
80
81
|
end
|
81
82
|
|
@@ -257,27 +258,35 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
257
258
|
end
|
258
259
|
end
|
259
260
|
|
261
|
+
def test_not_raise
|
262
|
+
assert_nothing_raised do
|
263
|
+
SubutaiConfig.override_conf_file('./test/subutai-validation-0.yml')
|
264
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
265
|
+
end
|
266
|
+
end
|
267
|
+
|
260
268
|
def test_bad_env_subutai_yaml_0
|
261
|
-
SubutaiConfig.override_conf_file('./ruby/tests/subutai0.yaml')
|
262
269
|
assert_raise do
|
270
|
+
SubutaiConfig.override_conf_file('./test/subutai0.yaml')
|
263
271
|
SubutaiConfig.load_config('up', :virtualbox)
|
264
272
|
end
|
265
273
|
end
|
266
274
|
|
267
275
|
def test_bad_key_subutai_yaml_1
|
268
|
-
SubutaiConfig.override_conf_file('./ruby/tests/subutai1.yaml')
|
269
276
|
assert_raise do
|
277
|
+
SubutaiConfig.override_conf_file('./test/subutai1.yaml')
|
270
278
|
SubutaiConfig.load_config('up', :virtualbox)
|
271
279
|
end
|
272
280
|
end
|
273
281
|
|
274
282
|
def test_subutai_yaml_2
|
275
|
-
SubutaiConfig.override_conf_file('./
|
283
|
+
SubutaiConfig.override_conf_file('./test/subutai2.yaml')
|
276
284
|
SubutaiConfig.load_config('up', :virtualbox)
|
277
285
|
SubutaiConfig.logging!(:debug)
|
278
286
|
SubutaiConfig.print
|
279
287
|
SubutaiConfig.log('up', 'dummy message')
|
280
288
|
SubutaiConfig.log_mode([:debug], ['up'], 'dummy message')
|
289
|
+
SubutaiConfig.print
|
281
290
|
assert_equal(:master, SubutaiConfig.get(:SUBUTAI_ENV))
|
282
291
|
assert_equal(9191, SubutaiConfig.get(:DESIRED_CONSOLE_PORT))
|
283
292
|
assert_equal(2000, SubutaiConfig.get(:SUBUTAI_RAM))
|
@@ -285,7 +294,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
285
294
|
assert_false(SubutaiConfig.get(:SUBUTAI_PEER))
|
286
295
|
assert_true(SubutaiConfig.get(:SUBUTAI_DESKTOP))
|
287
296
|
assert_true(SubutaiConfig.get(:ALLOW_INSECURE))
|
288
|
-
assert_equal('./
|
297
|
+
assert_equal('./test/management_test_file.deb', SubutaiConfig.get(:SUBUTAI_MAN_TMPL))
|
289
298
|
|
290
299
|
if ENV['APT_PROXY_URL'].nil?
|
291
300
|
assert_equal('http://some_server:4444', SubutaiConfig.get(:APT_PROXY_URL))
|
@@ -294,6 +303,7 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
294
303
|
end
|
295
304
|
end
|
296
305
|
|
306
|
+
|
297
307
|
def test_boolean?
|
298
308
|
SubutaiConfig.load_config('up', :virtualbox)
|
299
309
|
assert_true(SubutaiConfig.boolean?(:SUBUTAI_PEER))
|
@@ -327,25 +337,25 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
327
337
|
# Make it all negative for provisioning conditions
|
328
338
|
configs.store(:PROVISION, false)
|
329
339
|
configs.store(:_ALT_MANAGEMENT, nil)
|
330
|
-
configs.store(:_ALT_MANAGEMENT_MD5, '
|
331
|
-
configs.store(:_ALT_MANAGEMENT_MD5_LAST, '
|
340
|
+
configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
|
341
|
+
configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
|
332
342
|
assert_false(SubutaiConfig.provision_management?)
|
333
343
|
|
334
344
|
configs.store(:PROVISION, true)
|
335
345
|
configs.store(:_ALT_MANAGEMENT, nil)
|
336
|
-
configs.store(:_ALT_MANAGEMENT_MD5, '
|
337
|
-
configs.store(:_ALT_MANAGEMENT_MD5_LAST, '
|
346
|
+
configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
|
347
|
+
configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
|
338
348
|
assert_false(SubutaiConfig.provision_management?)
|
339
349
|
|
340
350
|
configs.store(:PROVISION, true)
|
341
|
-
configs.store(:_ALT_MANAGEMENT, './
|
342
|
-
configs.store(:_ALT_MANAGEMENT_MD5, '
|
343
|
-
configs.store(:_ALT_MANAGEMENT_MD5_LAST, '
|
351
|
+
configs.store(:_ALT_MANAGEMENT, './snap_script.sh')
|
352
|
+
configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
|
353
|
+
configs.store(:_ALT_MANAGEMENT_MD5_LAST, 'd41d8cd98f00b204e9800998ecf8427e')
|
344
354
|
assert_false(SubutaiConfig.provision_management?)
|
345
355
|
|
346
356
|
configs.store(:PROVISION, true)
|
347
|
-
configs.store(:_ALT_MANAGEMENT, './
|
348
|
-
configs.store(:_ALT_MANAGEMENT_MD5, '
|
357
|
+
configs.store(:_ALT_MANAGEMENT, './snap_script.sh')
|
358
|
+
configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
|
349
359
|
configs.store(:_ALT_MANAGEMENT_MD5_LAST, nil)
|
350
360
|
assert_false(SubutaiConfig.provision_management?)
|
351
361
|
|
@@ -354,10 +364,10 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
354
364
|
configs.store(:PROVISION, true)
|
355
365
|
puts configs
|
356
366
|
|
357
|
-
configs.store(:_ALT_MANAGEMENT, './
|
358
|
-
configs.store(:_ALT_MANAGEMENT_MD5, '
|
367
|
+
configs.store(:_ALT_MANAGEMENT, './test/snap_script.sh')
|
368
|
+
configs.store(:_ALT_MANAGEMENT_MD5, 'd41d8cd98f00b204e9800998ecf8427e')
|
359
369
|
configs.store(:_ALT_MANAGEMENT_MD5_LAST, nil)
|
360
|
-
|
370
|
+
assert_false(SubutaiConfig.provision_management?)
|
361
371
|
|
362
372
|
SubutaiConfig.management_provisioned!
|
363
373
|
end
|
@@ -368,12 +378,103 @@ class SubutaiConfigTest < Test::Unit::TestCase
|
|
368
378
|
assert_false(SubutaiConfig.do_handlers)
|
369
379
|
|
370
380
|
SubutaiConfig.load_config('up', :virtualbox)
|
371
|
-
configs.store(:SUBUTAI_MAN_TMPL, './
|
381
|
+
configs.store(:SUBUTAI_MAN_TMPL, './test/snap_script.sh')
|
372
382
|
assert_true(SubutaiConfig.do_handlers)
|
373
383
|
|
374
|
-
configs.store(:SUBUTAI_MAN_TMPL, './
|
384
|
+
configs.store(:SUBUTAI_MAN_TMPL, './test/bad_snap_script.sh')
|
375
385
|
assert_raise do
|
376
386
|
SubutaiConfig.do_handlers
|
377
387
|
end
|
378
388
|
end
|
389
|
+
|
390
|
+
def test_get_latest_artifact
|
391
|
+
assert_equal('https://cdn.subutai.io:8338/kurjun/rest', SubutaiConfig.url_of_cdn)
|
392
|
+
|
393
|
+
SubutaiConfig.load_config("up", :libvirt)
|
394
|
+
assert_equal("", SubutaiConfig.get_latest_id_artifact("invalid", "vagrant-subutai-stretch-libvirt.box"))
|
395
|
+
|
396
|
+
SubutaiConfig.cleanup!
|
397
|
+
|
398
|
+
SubutaiConfig.load_config("destroy", :hyper_v)
|
399
|
+
assert_equal("", SubutaiConfig.get_latest_id_artifact("subutai", "vagrant-subutai-stretch-hyperv.box"))
|
400
|
+
|
401
|
+
SubutaiConfig.cleanup!
|
402
|
+
|
403
|
+
SubutaiConfig.url_of_cdn = 'https://cdn.subutai.io:8338/kurjun/rest/invalid'
|
404
|
+
assert_equal('https://cdn.subutai.io:8338/kurjun/rest/invalid', SubutaiConfig.url_of_cdn)
|
405
|
+
|
406
|
+
SubutaiConfig.load_config("up", :virtualbox)
|
407
|
+
SubutaiConfig.url_of_cdn = 'https://cdn.subutai.io:8338/kurjun/rest/invalid'
|
408
|
+
assert_equal("", SubutaiConfig.get_latest_id_artifact("subutai", "vagrant-subutai-stretch-virtualbox-master.box"))
|
409
|
+
end
|
410
|
+
|
411
|
+
def test_get
|
412
|
+
SubutaiConfig.load_config("up", :virtualbox)
|
413
|
+
|
414
|
+
assert_equal(nil, SubutaiConfig.get(:INVALID_KEY))
|
415
|
+
end
|
416
|
+
|
417
|
+
def test_set_scope
|
418
|
+
assert_raise do
|
419
|
+
SubutaiConfig.set_scope(:SUBUTAI_SCOPE, "public_incorrect")
|
420
|
+
end
|
421
|
+
|
422
|
+
assert_nothing_raised do
|
423
|
+
SubutaiConfig.set_scope(:SUBUTAI_SCOPE, 'PubLiC'.to_sym)
|
424
|
+
SubutaiConfig.set_scope(:SUBUTAI_SCOPE, 'PriVate'.to_sym)
|
425
|
+
end
|
426
|
+
end
|
427
|
+
|
428
|
+
def test_write
|
429
|
+
SubutaiConfig.load_config("up", :libvirt)
|
430
|
+
assert_true(SubutaiConfig.write?)
|
431
|
+
SubutaiConfig.cleanup!
|
432
|
+
|
433
|
+
SubutaiConfig.load_config("destroy", :virtualbox)
|
434
|
+
assert_false(SubutaiConfig.write?)
|
435
|
+
end
|
436
|
+
|
437
|
+
def test_reload
|
438
|
+
SubutaiConfig.load_config("reload", :virtualbox)
|
439
|
+
assert_true(SubutaiConfig.reload?)
|
440
|
+
|
441
|
+
SubutaiConfig.cleanup!
|
442
|
+
SubutaiConfig.load_config("up", :libvirt)
|
443
|
+
assert_false(SubutaiConfig.reload?)
|
444
|
+
end
|
445
|
+
|
446
|
+
def test_delete
|
447
|
+
SubutaiConfig.load_config("destroy", :vmware)
|
448
|
+
assert_true(SubutaiConfig.delete?)
|
449
|
+
|
450
|
+
SubutaiConfig.cleanup!
|
451
|
+
|
452
|
+
SubutaiConfig.load_config("up", :vmware)
|
453
|
+
assert_false(SubutaiConfig.delete?)
|
454
|
+
end
|
455
|
+
|
456
|
+
def test_read
|
457
|
+
SubutaiConfig.load_config("up", :vmware)
|
458
|
+
assert_false(SubutaiConfig.read?)
|
459
|
+
|
460
|
+
SubutaiConfig.cleanup!
|
461
|
+
|
462
|
+
SubutaiConfig.load_config("provision", :vmware)
|
463
|
+
assert_true(SubutaiConfig.read?)
|
464
|
+
end
|
465
|
+
|
466
|
+
def test_conf_file
|
467
|
+
puts "conf file: #{SubutaiConfig::CONF_FILE}"
|
468
|
+
assert_equal(SubutaiConfig::CONF_FILE, SubutaiConfig.conf_file)
|
469
|
+
SubutaiConfig.override_conf_file "./test/vagrant-subutai-disk-withoutpath.yml"
|
470
|
+
assert_equal("./test/vagrant-subutai-disk-withoutpath.yml", SubutaiConfig.conf_file)
|
471
|
+
end
|
472
|
+
|
473
|
+
def test_provider
|
474
|
+
SubutaiConfig.load_config('up', :hyper_v)
|
475
|
+
assert_equal(:hyper_v, SubutaiConfig.provider)
|
476
|
+
|
477
|
+
SubutaiConfig.reset
|
478
|
+
assert_equal(nil, SubutaiConfig.provider)
|
479
|
+
end
|
379
480
|
end
|
@@ -0,0 +1,220 @@
|
|
1
|
+
require_relative '../lib/vagrant-subutai/packer/subutai_disk'
|
2
|
+
require_relative '../lib/vagrant-subutai/packer/subutai_config'
|
3
|
+
require 'rubygems'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'fileutils'
|
6
|
+
# Tests the subutai_net module
|
7
|
+
class SubutaiDiskTest < Test::Unit::TestCase
|
8
|
+
# Called before every test method runs. Can be used
|
9
|
+
# to set up fixture information.
|
10
|
+
def setup
|
11
|
+
# Do nothing
|
12
|
+
end
|
13
|
+
|
14
|
+
# Called after every test method runs. Can be used to tear
|
15
|
+
# down fixture information.
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
# Do nothing
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_global_variables
|
22
|
+
assert_equal("SubutaiDisk",
|
23
|
+
SubutaiDisk::DISK_NAME)
|
24
|
+
assert_equal("vdi",
|
25
|
+
SubutaiDisk::DISK_FORMAT)
|
26
|
+
assert_equal("vdi",
|
27
|
+
SubutaiDisk::DISK_FORMAT_VIRTUALBOX)
|
28
|
+
assert_equal("vmdk",
|
29
|
+
SubutaiDisk::DISK_FORMAT_VMWARE)
|
30
|
+
assert_equal("vhdx",
|
31
|
+
SubutaiDisk::DISK_FORMAT_HYPERV)
|
32
|
+
assert_equal("qcow2",
|
33
|
+
SubutaiDisk::DISK_FORMAT_LIBVIRT)
|
34
|
+
assert_equal("vmware",
|
35
|
+
SubutaiDisk::PROVIDER_VMWARE)
|
36
|
+
assert_equal("hyper_v",
|
37
|
+
SubutaiDisk::PROVIDER_HYPERV)
|
38
|
+
assert_equal("libvirt",
|
39
|
+
SubutaiDisk::PROVIDER_LIBVIRT)
|
40
|
+
assert_equal('script/create_disk_and_attach.ps1',
|
41
|
+
SubutaiDisk::SCRIPT_HYPERV_DISK_CREATE_PATH)
|
42
|
+
assert_equal('script/remove_virtual_disk.ps1',
|
43
|
+
SubutaiDisk::SCRIPT_HYPERV_DISK_REMOVE_PATH)
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_port
|
47
|
+
SubutaiConfig.cleanup!
|
48
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
49
|
+
assert_equal(1, SubutaiDisk.port)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_size
|
53
|
+
assert_equal(12288, SubutaiDisk.size(10))
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_libvirt_size
|
57
|
+
assert_equal("26G", SubutaiDisk.libvirt_size(24))
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_vmware_size
|
61
|
+
assert_equal(22, SubutaiDisk.vmware_size(20))
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_has_grow
|
65
|
+
SubutaiConfig.override_conf_file('./test/disk_size.yml')
|
66
|
+
SubutaiConfig.load_config("up", :virtualbox)
|
67
|
+
has_grow, grow_by = SubutaiDisk.has_grow
|
68
|
+
assert_true(true, has_grow)
|
69
|
+
assert_equal(150, grow_by)
|
70
|
+
assert_equal(1, SubutaiDisk.port)
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_file
|
74
|
+
assert_equal("./SubutaiDisk-1-250.vdi",
|
75
|
+
SubutaiDisk.file(250))
|
76
|
+
|
77
|
+
SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
|
78
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
79
|
+
|
80
|
+
assert_equal('/tmp/SubutaiDisk-1-389.vdi',
|
81
|
+
SubutaiDisk.file(SubutaiConfig.get_grow_by))
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_file_path
|
85
|
+
SubutaiConfig.cleanup!
|
86
|
+
SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-withoutpath.yml')
|
87
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
88
|
+
|
89
|
+
assert_equal(File.expand_path('SubutaiDisk-1-50.vdi'),
|
90
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "virtualbox"))
|
91
|
+
assert_equal(File.expand_path('SubutaiDisk-1-50.vmdk'),
|
92
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "vmware"))
|
93
|
+
assert_equal(File.expand_path('SubutaiDisk-1-50.vhdx'),
|
94
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "hyper_v"))
|
95
|
+
assert_equal(File.expand_path('SubutaiDisk-1-50.qcow2'),
|
96
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "libvirt"))
|
97
|
+
|
98
|
+
SubutaiConfig.cleanup!
|
99
|
+
|
100
|
+
SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
|
101
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
102
|
+
|
103
|
+
assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.vdi'),
|
104
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "virtualbox"))
|
105
|
+
assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), "SubutaiDisk-1-389.vmdk"),
|
106
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "vmware"))
|
107
|
+
assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.vhdx'),
|
108
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "hyper_v"))
|
109
|
+
assert_equal(File.join(SubutaiConfig.get(:SUBUTAI_DISK_PATH), 'SubutaiDisk-1-389.qcow2'),
|
110
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by, "libvirt"))
|
111
|
+
|
112
|
+
SubutaiConfig.cleanup!
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_safe_conf
|
116
|
+
SubutaiConfig.cleanup!
|
117
|
+
|
118
|
+
SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-with-path.yml')
|
119
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
120
|
+
SubutaiDisk.save_conf(SubutaiConfig.get_grow_by)
|
121
|
+
|
122
|
+
assert_equal(389, SubutaiConfig.get(:_DISK_SIZE))
|
123
|
+
assert_equal(1, SubutaiConfig.get(:_DISK_PORT))
|
124
|
+
assert_true(File.exist?('./.vagrant/generated.yml'))
|
125
|
+
|
126
|
+
|
127
|
+
SubutaiConfig.override_conf_file('./test/vagrant-subutai-disk-grow.yml')
|
128
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
129
|
+
SubutaiDisk.save_conf(SubutaiConfig.get_grow_by)
|
130
|
+
|
131
|
+
assert_equal(400, SubutaiConfig.get(:_DISK_SIZE))
|
132
|
+
assert_equal(2, SubutaiConfig.get(:_DISK_PORT))
|
133
|
+
assert_true(File.exist?('./.vagrant/generated.yml'))
|
134
|
+
end
|
135
|
+
|
136
|
+
def test_vmware_create_disk
|
137
|
+
if File.exist?('/tmp/SubutaiDisk-1-1.vmdk')
|
138
|
+
FileUtils.rm('/tmp/SubutaiDisk-1-1.vmdk')
|
139
|
+
end
|
140
|
+
SubutaiConfig.cleanup!
|
141
|
+
SubutaiConfig.override_conf_file('./test/disk_create.yml')
|
142
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
143
|
+
|
144
|
+
puts "DISKSIZE: #{SubutaiConfig.get(:DISK_SIZE)}"
|
145
|
+
assert_equal(1, SubutaiConfig.get_grow_by)
|
146
|
+
assert_true(SubutaiDisk.vmware_create_disk(SubutaiConfig.get_grow_by,
|
147
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by,
|
148
|
+
"vmware")))
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_hyperv_create_disk
|
152
|
+
SubutaiConfig.cleanup!
|
153
|
+
SubutaiConfig.override_conf_file('./test/disk_create.yml')
|
154
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
155
|
+
|
156
|
+
assert_equal(1, SubutaiConfig.get_grow_by)
|
157
|
+
assert_false(SubutaiDisk.hyperv_create_disk(SubutaiConfig.get_grow_by,
|
158
|
+
SubutaiDisk.file_path(SubutaiConfig.get_grow_by,
|
159
|
+
"hyper_v")))
|
160
|
+
end
|
161
|
+
|
162
|
+
def test_hyperv_remove_disk
|
163
|
+
assert_false(SubutaiDisk.hyperv_remove_disk)
|
164
|
+
end
|
165
|
+
|
166
|
+
def test_save_path
|
167
|
+
SubutaiConfig.cleanup!
|
168
|
+
SubutaiConfig.override_conf_file('./test/disk_create.yml')
|
169
|
+
SubutaiConfig.load_config('up', :virtualbox)
|
170
|
+
|
171
|
+
|
172
|
+
grow_by = SubutaiConfig.get_grow_by
|
173
|
+
assert_equal(1, grow_by)
|
174
|
+
assert_equal('/tmp/SubutaiDisk-1-1.vmdk',
|
175
|
+
SubutaiDisk.file_path(grow_by, "vmware"))
|
176
|
+
|
177
|
+
File.delete(SubutaiDisk.file_path(grow_by, "vmware")) if File.exist?(SubutaiDisk.file_path(grow_by,
|
178
|
+
"vmware"))
|
179
|
+
|
180
|
+
assert_true(SubutaiDisk.vmware_create_disk(grow_by,
|
181
|
+
SubutaiDisk.file_path(grow_by,
|
182
|
+
"vmware")))
|
183
|
+
|
184
|
+
assert_true(SubutaiDisk.save_path(SubutaiDisk.port,
|
185
|
+
SubutaiDisk.file_path(grow_by,
|
186
|
+
"vmware")))
|
187
|
+
|
188
|
+
assert_true(SubutaiDisk.save_conf(grow_by))
|
189
|
+
|
190
|
+
hash = {}
|
191
|
+
hash[1] = "/tmp/SubutaiDisk-1-1.vmdk"
|
192
|
+
assert_equal(hash, SubutaiConfig.get(:_DISK_PATHES))
|
193
|
+
|
194
|
+
|
195
|
+
# Let's set disk size 150 Gb, grow by would be 49
|
196
|
+
SubutaiConfig.put(:DISK_SIZE, 150, false)
|
197
|
+
grow_by = SubutaiConfig.get_grow_by
|
198
|
+
assert_equal(49, grow_by)
|
199
|
+
assert_equal('/tmp/SubutaiDisk-2-49.vmdk',
|
200
|
+
SubutaiDisk.file_path(grow_by, "vmware"))
|
201
|
+
|
202
|
+
File.delete(SubutaiDisk.file_path(grow_by, "vmware")) if File.exist?(SubutaiDisk.file_path(grow_by,
|
203
|
+
"vmware"))
|
204
|
+
|
205
|
+
assert_true(SubutaiDisk.vmware_create_disk(grow_by,
|
206
|
+
SubutaiDisk.file_path(grow_by,
|
207
|
+
"vmware")))
|
208
|
+
|
209
|
+
assert_true(SubutaiDisk.save_path(SubutaiDisk.port,
|
210
|
+
SubutaiDisk.file_path(grow_by,
|
211
|
+
"vmware")))
|
212
|
+
|
213
|
+
assert_true(SubutaiDisk.save_conf(grow_by))
|
214
|
+
hash[2] = "/tmp/SubutaiDisk-2-49.vmdk"
|
215
|
+
assert_equal(hash, SubutaiConfig.get(:_DISK_PATHES))
|
216
|
+
|
217
|
+
SubutaiConfig.cleanup!
|
218
|
+
assert_equal(nil, SubutaiConfig.get(:_DISK_PATHES))
|
219
|
+
end
|
220
|
+
end
|