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,35 +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 = "rpo-vmsafe"
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
- aa = nil
21
- if miqVm.vmh['config']['cpuAffinity'] && miqVm.vmh['config']['cpuAffinity']['affinitySet']
22
- aa = miqVm.vmh['config']['cpuAffinity']['affinitySet']
23
- puts "CPU affinity for #{TARGET_VM}:"
24
- aa.each { |cpu| puts "\t#{cpu}" }
25
- else
26
- puts "VM: #{TARGET_VM} has no CPU affility"
27
- end
28
- puts
29
-
30
- rescue => err
31
- puts err.to_s
32
- puts err.backtrace.join("\n")
33
- ensure
34
- vim.disconnect
35
- end
@@ -1,45 +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 = "rpo-test2"
8
- vmMor = nil
9
-
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 "******* Memory *******"
20
-
21
- origMem = miqVm.getMemory
22
- puts "Memory: #{origMem}"
23
-
24
- newMem = (origMem == 256 ? 512 : 256)
25
- puts "Setting memory to #{newMem}"
26
-
27
- miqVm.setMemory(newMem)
28
- puts "Memory: #{miqVm.getMemory}"
29
-
30
- puts "******* CPUs *******"
31
-
32
- origCPUs = miqVm.getNumCPUs
33
- puts "CPUs: #{miqVm.getNumCPUs}"
34
-
35
- newCPUs = (origCPUs == 1 ? 2 : 1)
36
- puts "Setting CPUs to #{newCPUs}"
37
-
38
- miqVm.setNumCPUs(newCPUs)
39
- puts "CPUs: #{miqVm.getNumCPUs}"
40
- rescue => err
41
- puts err.to_s
42
- puts err.backtrace.join("\n")
43
- ensure
44
- vim.disconnect
45
- end
@@ -1,65 +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
- SERVER = ""
9
- USERNAME = ""
10
- PASSWORD = ""
11
-
12
- # $miq_wiredump = true
13
- PARENT_FOLDER_NAME = ""
14
- NEW_FOLDER_NAME = ""
15
-
16
- # broker = MiqVimBroker.new(:client)
17
- # vim = broker.getMiqVim(SERVER, USERNAME, PASSWORD)
18
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
19
-
20
- begin
21
- miqFolder = newFolder = nil
22
-
23
- puts "vim.class: #{vim.class}"
24
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
25
- puts "API version: #{vim.apiVersion}"
26
-
27
- puts
28
- miqFolder = vim.getVimFolder(PARENT_FOLDER_NAME)
29
- puts "Found folder: #{miqFolder.name}"
30
-
31
- puts "Sub-folders before:"
32
- miqFolder.subFolderMors.each do |sfmor|
33
- subFolder = vim.getVimFolderByMor(sfmor)
34
- puts "\t#{subFolder.name}"
35
- end
36
-
37
- puts
38
- puts "Creating folder: #{NEW_FOLDER_NAME}..."
39
- nfMor = miqFolder.createFolder(NEW_FOLDER_NAME)
40
- puts "Folder added."
41
-
42
- puts
43
- puts "New folder MOR: #{nfMor} (#{nfMor.class.name})"
44
- # Reset cache so we will see the new folder.
45
- # Only needed if not using the broker.
46
- vim.resetCache
47
- newFolder = vim.getVimFolderByMor(nfMor)
48
- puts "Found new folder: #{newFolder.name}"
49
-
50
- puts
51
- puts "Sub-folders after:"
52
- miqFolder.reload # reload folder to update children.
53
- miqFolder.subFolderMors.each do |sfmor|
54
- subFolder = vim.getVimFolderByMor(sfmor)
55
- puts "\t#{subFolder.name}"
56
- end
57
-
58
- rescue => err
59
- puts err.to_s
60
- puts err.backtrace.join("\n")
61
- ensure
62
- miqFolder.release if miqFolder
63
- newFolder.release if newFolder
64
- vim.disconnect
65
- end
@@ -1,42 +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
- VOL_NAME = "api_test_vol1"
14
- REMOTE_HOST = ""
15
- REMOTE_PATH = "/vol/#{VOL_NAME}"
16
- LOCAL_PATH = VOL_NAME.tr('_', '-') # Datastore names cannot contain underscores
17
- ACCESS_MODE = "readWrite"
18
-
19
- begin
20
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
21
-
22
- puts "vim.class: #{vim.class}"
23
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
24
- puts "API version: #{vim.apiVersion}"
25
- puts
26
-
27
- miqHost = vim.getVimHost(TARGET_HOST)
28
- puts "Got object for host: #{miqHost.name}"
29
-
30
- miqDss = miqHost.datastoreSystem
31
-
32
- puts
33
- puts "Creating datastore: #{LOCAL_PATH}..."
34
- miqDss.createNasDatastore(REMOTE_HOST, REMOTE_PATH, LOCAL_PATH, ACCESS_MODE)
35
- puts "done."
36
-
37
- rescue => err
38
- puts err.to_s
39
- puts err.backtrace.join("\n")
40
- ensure
41
- vim.disconnect
42
- end
@@ -1,57 +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
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
10
- TARGET_VM = ""
11
- TARGET_HOST = ""
12
-
13
- begin
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 raw CustomFieldsManager
21
- #
22
- miqCfm = vim.getMiqCustomFieldsManager
23
-
24
- fields = miqCfm.field
25
- if fields
26
- vim.dumpObj(fields)
27
- else
28
- puts "No custom fields currently defined"
29
- end
30
- puts
31
-
32
- fKey = miqCfm.getFieldKey('EVM Policy', 'VirtualMachine')
33
-
34
- miqVm = vim.getVimVmByFilter("config.name" => TARGET_VM)
35
- puts "Target VM: #{TARGET_VM}, MOR: #{miqVm.vmMor}"
36
- puts
37
-
38
- # Test raw method.
39
- miqCfm.setField(miqVm.vmMor, fKey, 'Test data')
40
-
41
- #
42
- # Test VM-specific method.
43
- #
44
- miqVm.setCustomField('EVM Policy', 'Test data VM')
45
-
46
- #
47
- # Now, test for host.
48
- #
49
- miqHost = vim.getVimHost(TARGET_HOST)
50
- miqHost.setCustomField('EVM Policy', 'Test data HOST')
51
- rescue => err
52
- puts err.to_s
53
- puts err.backtrace.join("\n")
54
- ensure
55
- miqCfm.release if miqCfm
56
- vim.disconnect
57
- end
@@ -1,69 +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
-
10
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
11
-
12
- CSI_XML_FILE = File.join(File.dirname(__FILE__), "CustomizationSpec", "sles10-x64-vanilla-cust-spec.xml")
13
-
14
- begin
15
-
16
- puts "vim.class: #{vim.class}"
17
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
18
- puts "API version: #{vim.apiVersion}"
19
-
20
- miqCsm = vim.getVimCustomizationSpecManager
21
-
22
- # puts "***** encryptionKey:"
23
- # vim.dumpObj(miqCsm.encryptionKey)
24
- # puts
25
- puts "***** info:"
26
- vim.dumpObj(miqCsm.info)
27
-
28
- puts
29
- puts "***** doesCustomizationSpecExist('Win2K3'):"
30
- vim.dumpObj(miqCsm.doesCustomizationSpecExist('Win2K3'))
31
-
32
- puts
33
- puts "***** doesCustomizationSpecExist('foo'):"
34
- vim.dumpObj(miqCsm.doesCustomizationSpecExist('foo'))
35
-
36
- puts
37
- puts "***** CustomizationSpecExist('Win2K3'):"
38
- csi = miqCsm.getCustomizationSpec('Win2K3')
39
- vim.dumpObj(csi)
40
-
41
- puts
42
- puts "***** customizationSpecItemToXml:"
43
- csiXml = miqCsm.customizationSpecItemToXml(csi)
44
- vim.dumpObj(csiXml)
45
-
46
- csiXml = nil
47
- File.open(CSI_XML_FILE) { |f| csiXml = f.read }
48
-
49
- puts
50
- puts "***** xmlToCustomizationSpecItem:"
51
- csi = miqCsm.xmlToCustomizationSpecItem(csiXml)
52
- vim.dumpObj(csi)
53
-
54
- if miqCsm.doesCustomizationSpecExist(csi.info.name)
55
- puts "***** #{csi.info.name} already exists, deleting..."
56
- miqCsm.deleteCustomizationSpec(csi.info.name)
57
- end
58
-
59
- puts
60
- puts "***** createCustomizationSpec:"
61
- vim.dumpObj(miqCsm.createCustomizationSpec(csi))
62
-
63
- rescue => err
64
- puts err.to_s
65
- puts err.backtrace.join("\n")
66
- ensure
67
- miqCsm.release if miqCsm
68
- vim.disconnect
69
- end
@@ -1,122 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'enumerator'
3
- require 'VMwareWebService/MiqVim'
4
- require 'VMwareWebService/MiqVimBroker'
5
-
6
- $vim_log = Logger.new(STDOUT)
7
- $vim_log.level = Logger::WARN
8
-
9
- $stdout.sync = true
10
- $stderr.sync = true
11
-
12
- $miq_wiredump = false
13
-
14
- host2 = raise "please define"
15
- vm = raise "please define"
16
-
17
- begin
18
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
19
-
20
- puts "vim.class: #{vim.class}"
21
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
22
- puts "API version: #{vim.apiVersion}"
23
- puts
24
-
25
- miqPh = vim.getVimPerfHistory
26
- puts "*** Avail intervals:"
27
- vim.dumpObj(miqPh.intervals)
28
- puts
29
-
30
- vmo = vim.virtualMachinesByFilter("config.name" => vm)
31
- if vmo.empty?
32
- puts "VM: #{vm} not found"
33
- exit
34
- end
35
- vmMor = vmo[0]['MOR']
36
-
37
- # vim.dumpObj(vim.getMoProp(vmMor))
38
- puts "*** Calling: queryProviderSummary for #{vm}"
39
- psum = miqPh.queryProviderSummary(vmMor)
40
- vim.dumpObj(psum)
41
- puts
42
-
43
- puts "Calling: availMetricsForEntity"
44
- pmids = miqPh.availMetricsForEntity(vmMor, :intervalId => psum['refreshRate'])
45
-
46
- puts "*** Available Counters for: #{vm}"
47
- pmids.each do |pmid|
48
- cinfo = miqPh.id2Counter[pmid.counterId]
49
- puts "\t#{cinfo['groupInfo']['key']}.#{cinfo['nameInfo']['key']}"
50
- puts "\t\tcounterId = #{pmid.counterId}"
51
- puts "\t\tinstance = >#{pmid.instance}<"
52
- end
53
- puts
54
-
55
- numberRead = miqPh.getCounterInfo('disk', 'numberRead', 'summation', 'delta')
56
- numberWrite = miqPh.getCounterInfo('disk', 'numberWrite', 'summation', 'delta')
57
- read = miqPh.getCounterInfo('disk', 'read', 'average', 'rate')
58
- write = miqPh.getCounterInfo('disk', 'write', 'average', 'rate')
59
-
60
- metricId = [
61
- { :counterId => numberRead['key'], :instance => "*" },
62
- # { :counterId => numberWrite['key'], :instance => "*" },
63
- # { :counterId => read['key'], :instance => "*" },
64
- # { :counterId => write['key'], :instance => "*" }
65
- ]
66
- ea = [ { :entity => vmMor, :intervalId => psum['refreshRate'], :metricId => metricId } ]
67
-
68
- pcm = miqPh.queryPerfMulti(ea)
69
- vim.dumpObj(pcm)
70
-
71
- exit
72
-
73
- vma = vim.virtualMachinesByFilter("summary.runtime.hostName" => host2)
74
-
75
- metricId = [ { :counterId => numberRead['key'], :instance => "*" } ]
76
- ea = []
77
-
78
- puts "VMs on: #{host2}"
79
- vma.each do |vmo|
80
- puts "\t#{vmo['config']['name']}"
81
- ea << { :entity => vmo['MOR'], :intervalId => psum['refreshRate'], :metricId => metricId }
82
- end
83
- puts
84
-
85
- pcm = miqPh.queryPerfMulti(ea)
86
- vim.dumpObj(pcm)
87
-
88
- tsHash = Hash.new { |h, k| h[k] = [] }
89
- pcm.each do |pem|
90
- sInfo = pem['sampleInfo']
91
- va = pem['value']['value']
92
- sInfo.each_index do |si|
93
- ts = sInfo[si]['timestamp'].to_s
94
- tsHash[ts] << va[si]
95
- end
96
- end
97
- puts
98
-
99
- puts "*** Average VM CPU ready time by time-slice:"
100
- tsHash.keys.sort.each do |ts|
101
- va = tsHash[ts]
102
- sum = 0
103
- va.each { |v| sum += v.to_i }
104
- avg = sum/va.length
105
- print ":\t#{ts}: [NV = #{va.length}, AVG = #{avg}]"
106
- va.each { |v| print ", #{v}" }
107
- puts
108
- end
109
-
110
- # puts "**** queryPerfMulti start"
111
- # vim.dumpObj(pcm)
112
- # puts "**** queryPerfMulti end"
113
-
114
- rescue => err
115
- puts err.to_s
116
- puts err.backtrace.join("\n")
117
- ensure
118
- puts
119
- puts "Exiting..."
120
- miqPh.release if miqPh
121
- vim.disconnect if vim
122
- end
@@ -1,78 +0,0 @@
1
- USE_BROKER = true
2
-
3
- require 'manageiq-gems-pending'
4
- require 'VMwareWebService/MiqVimBroker'
5
- require 'VMwareWebService/MiqVim'
6
- require 'util/extensions/miq-hash'
7
- require 'util/vmdb-logger'
8
-
9
- trap("INT") { exit }
10
-
11
- VC_ACCESSORS = [
12
- [:dataStoresByMor, :storage],
13
- [:hostSystemsByMor, :host],
14
- [:virtualMachinesByMor, :vm],
15
- [:datacentersByMor, :dc],
16
- [:foldersByMor, :folder],
17
- [:clusterComputeResourcesByMor, :cluster],
18
- [:computeResourcesByMor, :host_res],
19
- [:resourcePoolsByMor, :rp],
20
- ]
21
-
22
- $vim_log = VMDBLogger.new("./ems_refresh_test.log") unless USE_BROKER
23
-
24
- begin
25
- loop do
26
- vc_data = Hash.new { |h, k| h[k] = {} }
27
-
28
- begin
29
-
30
- if USE_BROKER
31
- puts "Connecting with broker."
32
- broker = MiqVimBroker.new(:client)
33
- vim = broker.getMiqVim(SERVER, USERNAME, PASSWORD)
34
- else
35
- puts "Connecting without broker."
36
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
37
- end
38
-
39
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
40
- puts "API version: #{vim.apiVersion}"
41
- puts
42
-
43
- puts "Retrieving inventory..."
44
- VC_ACCESSORS.each do |acc, type|
45
- puts " Retrieving #{type}"
46
- vc_data[type] = vim.send(acc)
47
- end
48
-
49
- unless vc_data[:host].nil?
50
- vc_data[:host].each_key do |mor|
51
- puts " Retrieving host scsi data for host mor [#{mor}]"
52
- begin
53
- vim_host = vim.getVimHostByMor(mor)
54
- sd = vim_host.storageDevice
55
- vc_data.store_path(mor, 'config', 'storageDevice', sd.fetch_path('config', 'storageDevice')) unless sd.nil?
56
- ensure
57
- vim_host.release if vim_host rescue nil
58
- end
59
- end
60
- end
61
- puts "Retrieving inventory...Complete"
62
-
63
- ensure
64
- puts "Disconnecting"
65
- vim.disconnect if vim rescue nil
66
- vim = nil
67
- end
68
-
69
- puts "Pretending to do work with the data"
70
- puts
71
- sleep 0.5
72
- end
73
-
74
- rescue => err
75
- puts err
76
- puts err.class.to_s
77
- puts err.backtrace.join("\n")
78
- end