vmware_web_service 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/lib/VMwareWebService/MiqVimDataStore.rb +6 -7
  3. data/lib/VMwareWebService/MiqVimHost.rb +1 -2
  4. data/lib/VMwareWebService/MiqVimVm.rb +8 -8
  5. data/lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb +0 -1
  6. data/lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb +0 -1
  7. data/lib/VMwareWebService/exception.rb +14 -0
  8. data/lib/VMwareWebService/miq_fault_tolerant_vim.rb +1 -0
  9. data/lib/VMwareWebService/version.rb +1 -1
  10. metadata +21 -84
  11. data/lib/VMwareWebService/VixDiskLib/test/api_test.rb +0 -76
  12. data/lib/VMwareWebService/VixDiskLib/test/cookedTest.rb +0 -86
  13. data/lib/VMwareWebService/VixDiskLib/test/fillDisk.rb +0 -30
  14. data/lib/VMwareWebService/VixDiskLib/test/rawCloneTest.rb +0 -49
  15. data/lib/VMwareWebService/VixDiskLib/test/rawTest.rb +0 -79
  16. data/lib/VMwareWebService/VixDiskLib/test/rawTest11.rb +0 -72
  17. data/lib/VMwareWebService/VixDiskLib/test/rawWriteTest.rb +0 -33
  18. data/lib/VMwareWebService/VixDiskLib/test/vixDiskModTest.rb +0 -96
  19. data/lib/VMwareWebService/test/CustomizationSpec/sles10-x64-vanilla-cust-spec.xml +0 -56
  20. data/lib/VMwareWebService/test/CustomizationSpec/w2k8-x64-vanilla-cust-spec.xml +0 -566
  21. data/lib/VMwareWebService/test/MiqVimBrokerClient.rb +0 -116
  22. data/lib/VMwareWebService/test/MiqVimBrokerServer.rb +0 -128
  23. data/lib/VMwareWebService/test/MiqVimFolderTest.rb +0 -57
  24. data/lib/VMwareWebService/test/MiqVimPerfTest.rb +0 -129
  25. data/lib/VMwareWebService/test/MiqVimVmTest.rb +0 -127
  26. data/lib/VMwareWebService/test/addDiskTest.rb +0 -45
  27. data/lib/VMwareWebService/test/addHostToCluster.rb +0 -89
  28. data/lib/VMwareWebService/test/addNasDatastoreByName.rb +0 -45
  29. data/lib/VMwareWebService/test/addStandaloneHost.rb +0 -59
  30. data/lib/VMwareWebService/test/alarmManagerTest.rb +0 -37
  31. data/lib/VMwareWebService/test/alarmTest.rb +0 -20
  32. data/lib/VMwareWebService/test/annotation.rb +0 -33
  33. data/lib/VMwareWebService/test/brokerClientServerStats.rb +0 -78
  34. data/lib/VMwareWebService/test/brokerConnectionLockTest.rb +0 -81
  35. data/lib/VMwareWebService/test/brokerLoadTest.rb +0 -123
  36. data/lib/VMwareWebService/test/brokerObjCountTest.rb +0 -43
  37. data/lib/VMwareWebService/test/browserTest.rb +0 -141
  38. data/lib/VMwareWebService/test/cloneAsyncTest.rb +0 -140
  39. data/lib/VMwareWebService/test/cloneCsmTest.rb +0 -162
  40. data/lib/VMwareWebService/test/cloneDvsTest.rb +0 -187
  41. data/lib/VMwareWebService/test/cloneTest.rb +0 -153
  42. data/lib/VMwareWebService/test/cpuAffinity.rb +0 -35
  43. data/lib/VMwareWebService/test/cpuMemTest.rb +0 -45
  44. data/lib/VMwareWebService/test/createFolderTest.rb +0 -65
  45. data/lib/VMwareWebService/test/createNfsDatastore.rb +0 -42
  46. data/lib/VMwareWebService/test/customFieldsManagerTest.rb +0 -57
  47. data/lib/VMwareWebService/test/customizationSpecManagerTest.rb +0 -69
  48. data/lib/VMwareWebService/test/diskPerf.rb +0 -122
  49. data/lib/VMwareWebService/test/emsRefreshTest.rb +0 -78
  50. data/lib/VMwareWebService/test/enterMaintenanceMode.rb +0 -56
  51. data/lib/VMwareWebService/test/eventHistoryTest.rb +0 -139
  52. data/lib/VMwareWebService/test/hostAdvancedOptionTest.rb +0 -45
  53. data/lib/VMwareWebService/test/hostConfigSpecTest.rb +0 -51
  54. data/lib/VMwareWebService/test/hostDatastoreTest.rb +0 -51
  55. data/lib/VMwareWebService/test/hostDvsTest.rb +0 -60
  56. data/lib/VMwareWebService/test/hostFirewallTest.rb +0 -149
  57. data/lib/VMwareWebService/test/hostNetworkTest.rb +0 -63
  58. data/lib/VMwareWebService/test/hostServiceTest.rb +0 -147
  59. data/lib/VMwareWebService/test/hostSnmpSystemTest.rb +0 -58
  60. data/lib/VMwareWebService/test/hostStandByTest.rb +0 -51
  61. data/lib/VMwareWebService/test/hostStorageSystem.rb +0 -73
  62. data/lib/VMwareWebService/test/hostTest.rb +0 -50
  63. data/lib/VMwareWebService/test/hostVirtualNicManagerTest.rb +0 -83
  64. data/lib/VMwareWebService/test/linkedCloneFromTemplateTest.rb +0 -135
  65. data/lib/VMwareWebService/test/linkedCloneTest.rb +0 -132
  66. data/lib/VMwareWebService/test/list_evm_snapshots.rb +0 -38
  67. data/lib/VMwareWebService/test/logStatusTest.rb +0 -31
  68. data/lib/VMwareWebService/test/logTest.rb +0 -72
  69. data/lib/VMwareWebService/test/migrateTest.rb +0 -71
  70. data/lib/VMwareWebService/test/rebootHostTest.rb +0 -47
  71. data/lib/VMwareWebService/test/remoteDisplayVnc.rb +0 -52
  72. data/lib/VMwareWebService/test/rm_evm_snapshots.rb +0 -45
  73. data/lib/VMwareWebService/test/rtPerfTest.rb +0 -135
  74. data/lib/VMwareWebService/test/selectionSpecBrokerClassTest.rb +0 -90
  75. data/lib/VMwareWebService/test/selectionSpecBrokerInstanceTest.rb +0 -163
  76. data/lib/VMwareWebService/test/selectionSpecVimClassTest.rb +0 -249
  77. data/lib/VMwareWebService/test/selectionSpecVimTest.rb +0 -232
  78. data/lib/VMwareWebService/test/shutdownHostTest.rb +0 -47
  79. data/lib/VMwareWebService/test/snapshotTest.rb +0 -61
  80. data/lib/VMwareWebService/test/templateTest.rb +0 -67
  81. data/lib/VMwareWebService/test/thinProvisioned.rb +0 -87
  82. data/lib/VMwareWebService/test/vdlBrowserTest.rb +0 -113
  83. data/lib/VMwareWebService/test/vimCoreUpdater.rb +0 -25
  84. data/lib/VMwareWebService/test/vimEventMonitory.rb +0 -26
  85. data/lib/VMwareWebService/test/vimInventory.rb +0 -24
  86. data/lib/VMwareWebService/test/virtualApp.rb +0 -47
  87. data/lib/VMwareWebService/test/virtualDiskPerf.rb +0 -82
  88. data/lib/VMwareWebService/test/vmsafe.rb +0 -56
@@ -1,45 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
-
4
- unless ARGV.length == 1 && ARGV[0] =~ /(add|remove)/
5
- $stderr.puts "Usage: #{$0} add | remove"
6
- exit 1
7
- end
8
-
9
- $vim_log = Logger.new(STDOUT)
10
- $vim_log.level = Logger::WARN
11
-
12
- targetVm = raise "please define"
13
- targetVmPath = nil
14
- targetVmLpath = nil
15
-
16
- # $DEBUG = true
17
-
18
- begin
19
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
20
-
21
- puts "vim.class: #{vim.class}"
22
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
23
- puts "API version: #{vim.apiVersion}"
24
- puts
25
-
26
- miqVm = vim.getVimVmByFilter("config.name" => targetVm)
27
-
28
- targetVmPath = miqVm.dsPath
29
-
30
- puts
31
- puts "Target VM path: #{targetVmPath}"
32
-
33
- newVmdk = File.join(File.dirname(targetVmPath), "testDisk.vmdk")
34
- puts "newVmdk = #{newVmdk}"
35
-
36
- puts "********"
37
- if ARGV[0] == "add"
38
- miqVm.addDisk(newVmdk, 100)
39
- else
40
- miqVm.removeDiskByFile(newVmdk, true)
41
- end
42
- rescue => err
43
- puts err.to_s
44
- puts err.backtrace.join("\n")
45
- end
@@ -1,89 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
- require 'VMwareWebService/MiqVimBroker'
4
-
5
- $vim_log = Logger.new(STDOUT)
6
- $vim_log.level = Logger::WARN
7
-
8
- # $miq_wiredump = true
9
- TARGET_HOST = raise "please define"
10
- HOST_USERNAME = ""
11
- HOST_PASSWORD = ""
12
- CLUSTER_NAME = ""
13
-
14
- miqCluster = nil
15
- miqHost = nil
16
-
17
- broker = MiqVimBroker.new(:client)
18
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
19
- hvim = nil
20
-
21
- begin
22
-
23
- puts
24
- puts "VC:"
25
- puts "vim.class: #{vim.class}"
26
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
27
- puts "API version: #{vim.apiVersion}"
28
-
29
- puts
30
- puts "Clusters: #{vim.clusterComputeResources.keys.join(', ')}"
31
- miqCluster = vim.getVimCluster(CLUSTER_NAME)
32
- puts "Found cluster: #{miqCluster.name}"
33
-
34
- #
35
- # Ensure host is in Maintenance Mode before adding it to cluster.
36
- #
37
- hvim = MiqVim.new(TARGET_HOST, HOST_USERNAME, HOST_PASSWORD)
38
- hostMor = hvim.hostSystemsByMor.values.first['MOR']
39
- miqHost = hvim.getVimHostByMor(hostMor)
40
- if miqHost.inMaintenanceMode?
41
- puts "New host is already Maintenance Mode"
42
- else
43
- puts "Putting host in Maintenance Mode..."
44
- miqHost.enterMaintenanceMode
45
- end
46
- hvim.disconnect
47
- hvim = nil
48
-
49
- puts
50
- puts "Adding host: #{TARGET_HOST}..."
51
- begin
52
- newHostMor = miqCluster.addHost(TARGET_HOST, HOST_USERNAME, HOST_PASSWORD)
53
- rescue VimFault => verr
54
- raise unless (fault = verr.vimFaultInfo.fault)
55
- raise unless fault.xsiType == "SSLVerifyFault"
56
-
57
- sslTp = fault.thumbprint
58
- puts "VimFault: SSLVerifyFault, thumbprint = #{sslTp}"
59
- puts "\tRetrying with sslThumbprint..."
60
- newHostMor = miqCluster.addHost(TARGET_HOST, HOST_USERNAME, HOST_PASSWORD, :sslThumbprint => sslTp)
61
- end
62
- puts "Host added."
63
-
64
- puts
65
- puts "New host MOR: #{newHostMor}"
66
-
67
- #
68
- # This will only work when connecting through the broker.
69
- #
70
- miqHost = vim.getVimHostByMor(newHostMor)
71
- puts "Got object for new host: #{miqHost.name}"
72
-
73
- if miqHost.inMaintenanceMode?
74
- puts "New host is in Maintenance Mode"
75
- puts "\texiting Maintenance Mode..."
76
- miqHost.exitMaintenanceMode
77
- puts "\tdone."
78
- puts "inMaintenanceMode? = #{miqHost.inMaintenanceMode?}"
79
- end
80
-
81
- rescue => err
82
- puts err.class.to_s
83
- puts err.to_s
84
- puts err.backtrace.join("\n")
85
- ensure
86
- miqCluster.release if miqCluster
87
- hvim.disconnect unless hvim.nil?
88
- vim.disconnect
89
- end
@@ -1,45 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
- require 'VMwareWebService/MiqVimBroker'
4
-
5
- $vim_log = Logger.new(STDOUT)
6
- $vim_log.level = Logger::WARN
7
-
8
- $stdout.sync = true
9
- # $miq_wiredump = true
10
-
11
- TARGET_HOST = raise "please define"
12
-
13
- DS_NAME = "nas-ds-add-test"
14
-
15
- begin
16
-
17
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
18
- puts "vim.class: #{vim.class}"
19
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
20
- puts "API version: #{vim.apiVersion}"
21
- puts
22
-
23
- nasDsa = vim.dataStoresByFilter("summary.type" => "NFS")
24
- puts "NAS Datastores:"
25
- nasDsa.each { |ds| puts "\t#{ds.summary.name} (#{ds.summary.url})" }
26
- puts
27
- puts "Target datastore: #{DS_NAME}"
28
- puts
29
-
30
- miqHost = vim.getVimHost(TARGET_HOST)
31
- puts "Got object for host: #{miqHost.name}"
32
-
33
- miqDss = miqHost.datastoreSystem
34
-
35
- puts
36
- puts "Adding datastore: #{DS_NAME}..."
37
- miqDss.addNasDatastoreByName(DS_NAME)
38
- puts "done."
39
-
40
- rescue => err
41
- puts err.to_s
42
- puts err.backtrace.join("\n")
43
- ensure
44
- vim.disconnect
45
- end
@@ -1,59 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
- require 'VMwareWebService/MiqVimBroker'
4
-
5
- $vim_log = Logger.new(STDOUT)
6
- $vim_log.level = Logger::WARN
7
-
8
- # $miq_wiredump = true
9
- TARGET_HOST = ""
10
- HOST_USERNAME = ""
11
- HOST_PASSWORD = ""
12
- FOLDER_NAME = ""
13
-
14
- miqCluster = nil
15
- miqHost = nil
16
-
17
- broker = MiqVimBroker.new(:client)
18
- vim = broker.getMiqVim(SERVER, USERNAME, PASSWORD)
19
-
20
- begin
21
-
22
- puts "vim.class: #{vim.class}"
23
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
24
- puts "API version: #{vim.apiVersion}"
25
-
26
- puts
27
- puts "Folders: #{vim.folders.keys.join(', ')}"
28
- miqFolder = vim.getVimFolder(FOLDER_NAME)
29
- puts "Found folder: #{miqFolder.name}"
30
-
31
- puts
32
- puts "Adding host: #{TARGET_HOST}..."
33
- crMor = miqFolder.addStandaloneHost(TARGET_HOST, HOST_USERNAME, HOST_PASSWORD)
34
- puts "Host added."
35
-
36
- newHostMor = vim.computeResourcesByMor[crMor].host.first
37
-
38
- puts
39
- puts "New host MOR: #{newHostMor}"
40
-
41
- miqHost = vim.getVimHostByMor(newHostMor)
42
- puts "Got object for new host: #{miqHost.name}"
43
-
44
- if miqHost.inMaintenanceMode?
45
- puts "New host is in Maintenance Mode"
46
- puts "\texiting Maintenance Mode..."
47
- miqHost.exitMaintenanceMode
48
- puts "\tdone."
49
- puts "inMaintenanceMode? = #{miqHost.inMaintenanceMode?}"
50
- end
51
- # vim.dumpObj(miqHost.hh)
52
-
53
- rescue => err
54
- puts err.to_s
55
- puts err.backtrace.join("\n")
56
- ensure
57
- miqCluster.release if miqCluster
58
- vim.disconnect
59
- end
@@ -1,37 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
- require 'VMwareWebService/MiqVimBroker'
4
-
5
- $vim_log = Logger.new(STDOUT)
6
- $vim_log.level = Logger::WARN
7
-
8
- # $DEBUG = true
9
-
10
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
11
-
12
- begin
13
-
14
- puts "vim.class: #{vim.class}"
15
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
16
- puts "API version: #{vim.apiVersion}"
17
- puts
18
-
19
- #
20
- # Test the AlarmManager
21
- #
22
- miqAm = vim.getVimAlarmManager
23
-
24
- alarms = miqAm.getAlarm
25
- if alarms
26
- vim.dumpObj(alarms)
27
- else
28
- puts "No alarms currently defined"
29
- end
30
-
31
- rescue => err
32
- puts err.to_s
33
- puts err.backtrace.join("\n")
34
- ensure
35
- miqAm.release if miqAm
36
- vim.disconnect
37
- end
@@ -1,20 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
-
4
- $vim_log = Logger.new(STDOUT)
5
- $vim_log.level = Logger::WARN
6
-
7
- TARGET_VM = raise "please define"
8
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
9
-
10
- begin
11
- miqVm = vim.getVimVmByFilter("config.name" => TARGET_VM)
12
- aMor = miqVm.addMiqAlarm
13
- puts "aMor = #{aMor} <#{aMor.vimType}>"
14
- miqVm.removeMiqAlarm
15
- rescue => err
16
- puts err.to_s
17
- puts err.backtrace.join("\n")
18
- ensure
19
- vim.disconnect
20
- end
@@ -1,33 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVim'
3
-
4
- $vim_log = Logger.new(STDOUT)
5
- $vim_log.level = Logger::WARN
6
-
7
- # $miq_wiredump = true
8
-
9
- TARGET_VM = raise "please define"
10
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
11
-
12
- begin
13
- puts "vim.class: #{vim.class}"
14
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
15
- puts "API version: #{vim.apiVersion}"
16
-
17
- miqVm = vim.getVimVmByFilter("config.name" => TARGET_VM)
18
-
19
- puts
20
- puts "** VM annotation start:"
21
- puts miqVm.annotation
22
- puts "** VM annotation end"
23
-
24
- puts
25
- puts "Custom values:"
26
- miqVm.customValues.each { |k, v| puts "\t#{k} => #{v}" }
27
-
28
- rescue => err
29
- puts err.to_s
30
- puts err.backtrace.join("\n")
31
- ensure
32
- vim.disconnect
33
- end
@@ -1,78 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Enumerable
4
- def mean
5
- reduce(:+) / length.to_f
6
- end
7
-
8
- def stddev
9
- mean = self.mean
10
- Math.sqrt(inject(0) { |sum, i| sum + (i - mean)**2 } / length.to_f)
11
- end
12
- end
13
-
14
- require 'manageiq-gems-pending'
15
- require 'VMwareWebService/MiqVimBroker'
16
- require 'benchmark'
17
- require 'util/miq-process'
18
-
19
- SERVER_PROCESS = "ruby #{File.join(File.dirname(__FILE__), "MiqVimBrokerServer.rb")}"
20
- SERVER_PASSES = 10
21
- CLIENT_PASSES = 5
22
-
23
- def with_server
24
- pid = Kernel.spawn(SERVER_PROCESS, :out => "/dev/null", :err => "/dev/null")
25
- Process.detach(pid)
26
- sleep(2) # Give the server a chance to actually start up
27
- yield pid
28
- ensure
29
- Process.kill("HUP", pid) # Because the script blocks INT for some reason
30
- end
31
-
32
- def connect_client
33
- broker = MiqVimBroker.new(:client)
34
- broker.getMiqVim(SERVER, USERNAME, PASSWORD)
35
- end
36
-
37
- all_stats = SERVER_PASSES.times.collect do |t|
38
- print "Pass #{t + 1}/#{SERVER_PASSES}... "
39
-
40
- stats = with_server do |pid|
41
- CLIENT_PASSES.times.collect do |i|
42
- {
43
- # On the first pass, don't connect, just get memory statistics
44
- :time => i == 0 ? 0.0 : Benchmark.realtime { connect_client },
45
- :memory => MiqProcess.processInfo(pid)[:memory_usage] / 1024.0 / 1024.0
46
- }
47
- end
48
- end
49
-
50
- puts stats.collect { |s| "#{s[:time].round(4)}s #{s[:memory].round(2)}M" }.join(" | ")
51
- stats
52
- end
53
-
54
- def print_stats(stats)
55
- timings = stats.collect { |s| s[:time] }
56
- memory = stats.collect { |s| s[:memory] }
57
-
58
- values = [
59
- "#{timings.mean.round(4)}s ± #{timings.stddev.round(4)}s",
60
- "#{memory.mean.round(2)}M ± #{memory.stddev.round(2)}M",
61
- ]
62
-
63
- values.join(" | ")
64
- end
65
-
66
- transposed = all_stats.transpose
67
- before = transposed[0]
68
- unprimed = transposed[1]
69
- primed_once = transposed[2]
70
- primed_rest = transposed[3..-1].flatten
71
-
72
- puts
73
- puts " | Timing | Memory |"
74
- puts "---------------- | ------ | ------ |"
75
- puts "Before connect | #{print_stats(before)} | "
76
- puts "Unprimed (first) | #{print_stats(unprimed)} | "
77
- puts "Primed (second) | #{print_stats(primed_once)} | "
78
- puts "Primed (rest) | #{print_stats(primed_rest)} | "
@@ -1,81 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVimBroker'
3
-
4
- NTHREAD = 40
5
-
6
- CONNECTIONS = [
7
- # GOAL is to have a couple of these
8
- {:server => '', :user => '', :password => ''}
9
- ]
10
-
11
- def openConn(cid)
12
- Thread.new do
13
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} open - start"
14
- Thread.current[:t0] = Time.now
15
- Thread.current[:vim] = $broker.getMiqVim(CONNECTIONS[cid][:server], CONNECTIONS[cid][:user], CONNECTIONS[cid][:password])
16
- Thread.current[:t1] = Time.now
17
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} open, dt = #{Thread.current[:t1] - Thread.current[:t0]}"
18
- puts
19
- end
20
- end
21
-
22
- def removeConn(cid)
23
- Thread.new do
24
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} remove - start"
25
- Thread.current[:t0] = Time.now
26
- Thread.current[:vim] = $broker.removeMiqVim(CONNECTIONS[cid][:server], CONNECTIONS[cid][:user])
27
- Thread.current[:t1] = Time.now
28
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} remove, dt = #{Thread.current[:t1] - Thread.current[:t0]}"
29
- puts
30
- end
31
- end
32
-
33
- def failConn(cid)
34
- Thread.new do
35
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} force fail - start"
36
- Thread.current[:vim] = $broker.getMiqVim(CONNECTIONS[cid][:server], CONNECTIONS[cid][:user], CONNECTIONS[cid][:password])
37
- Thread.current[:vim].forceFail
38
- puts "#{Time.now} - Thread: #{Thread.current.object_id} - connection #{CONNECTIONS[cid][:server]} force fail"
39
- puts
40
- end
41
- end
42
-
43
- begin
44
- $broker = MiqVimBroker.new(:client)
45
- unless $broker.serverAlive?
46
- puts "Broker server isn't running"
47
- exit
48
- end
49
-
50
- srand Time.now.to_i
51
-
52
- begin
53
- ta = []
54
- loop do
55
- [0..NTHREAD].each do |_i|
56
- cidx = rand(CONNECTIONS.length)
57
-
58
- case rand(8)
59
- when 7
60
- ta << failConn(cidx)
61
- when 6
62
- ta << removeConn(cidx)
63
- when 5
64
- ta << removeConn(cidx)
65
- else
66
- ta << openConn(cidx)
67
- end
68
- Thread.pass
69
- end
70
- ta.each { |t| t.join if t.alive? }
71
- ta.clear
72
- end
73
- rescue ThreadError => terr
74
- retry
75
- end
76
-
77
- rescue => err
78
- puts err
79
- puts err.class.to_s
80
- puts err.backtrace.join("\n")
81
- end