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,116 +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
- TARGET_VM = "NetAppDsTest7"
9
-
10
- begin
11
- broker = MiqVimBroker.new(:client)
12
- unless broker.serverAlive?
13
- puts "Broker server isn't running"
14
- exit
15
- end
16
-
17
- t0 = Time.now
18
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
19
- t1 = Time.now
20
-
21
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
22
- puts "API version: #{vim.apiVersion}"
23
- puts
24
- puts "Inventory load time: #{t1 - t0}"
25
-
26
- # exit
27
-
28
- # puts
29
- # puts broker.connectionInfo.inspect
30
-
31
- puts
32
- puts "logging broker status..."
33
- broker.logStatus
34
- puts "done."
35
-
36
- # puts
37
- # puts "Loading VMs..."
38
- # t1 = Time.now
39
-
40
- # vms = vim.virtualMachinesByMor
41
-
42
- # t2 = Time.now
43
- # puts "VM load complete."
44
- #
45
- # puts "Number of VMs: #{vms.keys.length}"
46
- # puts "VM load (transfer) time: #{t2 - t1}"
47
- # puts
48
- # puts "Total time: #{t2 - t0}"
49
-
50
- # exit
51
-
52
- puts
53
- puts "Resetting cache..."
54
- vim.resetCache
55
-
56
- puts
57
- puts "Loading VMs..."
58
- t1 = Time.now
59
-
60
- # vim.receiveTimeout = 0
61
- vms = vim.virtualMachinesByMor
62
-
63
- t2 = Time.now
64
- puts "VM load complete."
65
-
66
- puts "Number of VMs: #{vms.keys.length}"
67
- puts "VM load (transfer) time: #{t2 - t1}"
68
- puts
69
-
70
- # exit
71
-
72
- vimVm = vim.getVimVmByMor(vms.values.first['MOR'])
73
-
74
- broker.logStatus
75
-
76
- # broker.removeMiqVim(vim.server, vim.username)
77
- # exit
78
-
79
- vimVm.release
80
-
81
- broker.logStatus
82
-
83
- # exit
84
-
85
- # vim.resetCache
86
- # vim.dumpAll
87
-
88
- # exit
89
-
90
- vim.virtualMachines.each do |n, _o|
91
- next if vim.dsPath?(n)
92
- # puts
93
- puts "********* #{n}"
94
- puts "Original local path: #{n}"
95
- # puts "\tConverted to DS path: #{vim.datastorePath(n)}"
96
- # puts "Original DS path: #{o['config']['vmPathName']}"
97
- # puts "\tConverted to local path: #{vim.localVmPath(o['config']['vmPathName'])}"
98
- # vim.dumpObj(o)
99
- end
100
-
101
- puts
102
- vim.inventoryHash.each do |k, v|
103
- puts
104
- puts "#{k}:"
105
- v.each do |mor|
106
- # puts
107
- puts "******** #{mor}"
108
- props = vim.getMoProp(mor)
109
- # vim.dumpObj(props)
110
- end
111
- end
112
- rescue => err
113
- puts err
114
- puts err.class.to_s
115
- puts err.backtrace.join("\n")
116
- end
@@ -1,128 +0,0 @@
1
- require 'manageiq-gems-pending'
2
- require 'VMwareWebService/MiqVimBroker'
3
-
4
- SelectionSpec = {
5
- :virtualMachines => [
6
- "MOR",
7
- "config.name",
8
- "guest.net[*].ipAddress",
9
- "guest.net[*].macAddress"
10
- ],
11
-
12
- :computeResources => [
13
- "MOR"
14
- ],
15
-
16
- :clusterComputeResources => [
17
- "MOR",
18
- "name",
19
- "host",
20
- "configuration.drsConfig.defaultVmBehavior",
21
- "configuration.drsConfig.enabled"
22
- ],
23
-
24
- :resourcePools => [
25
- "MOR",
26
- "name",
27
- "summary.configuredMemoryMB"
28
- ],
29
-
30
- :folders => [
31
- "MOR",
32
- "name",
33
- "overallStatus"
34
- ],
35
-
36
- :datacenters => [
37
- "MOR",
38
- "name",
39
- "overallStatus",
40
- "network"
41
- ],
42
-
43
- :hostSystems => [
44
- "MOR",
45
- "summary.config.name",
46
- "hardware.systemInfo"
47
- ],
48
-
49
- :dataStores => [
50
- "MOR",
51
- "info.name",
52
- "info.freeSpace"
53
- ],
54
-
55
- :storageDeviceSS => [
56
- "config.storageDevice.hostBusAdapter[*].device",
57
- "config.storageDevice.hostBusAdapter[*].iScsiAlias",
58
- "config.storageDevice.hostBusAdapter[*].iScsiName",
59
- "config.storageDevice.hostBusAdapter[*].key",
60
- "config.storageDevice.hostBusAdapter[*].model",
61
- "config.storageDevice.hostBusAdapter[*].pci",
62
- "config.storageDevice.scsiLun[*].canonicalName",
63
- "config.storageDevice.scsiLun[*].capacity.block",
64
- "config.storageDevice.scsiLun[*].capacity.blockSize",
65
- "config.storageDevice.scsiLun[*].deviceName",
66
- "config.storageDevice.scsiLun[*].deviceType",
67
- "config.storageDevice.scsiLun[*].key",
68
- "config.storageDevice.scsiLun[*].lunType",
69
- "config.storageDevice.scsiLun[*].uuid",
70
- "config.storageDevice.scsiTopology.adapter[*].adapter",
71
- "config.storageDevice.scsiTopology.adapter[*].target[*].lun[*].lun",
72
- "config.storageDevice.scsiTopology.adapter[*].target[*].lun[*].scsiLun",
73
- "config.storageDevice.scsiTopology.adapter[*].target[*].target",
74
- "config.storageDevice.scsiTopology.adapter[*].target[*].transport.address",
75
- "config.storageDevice.scsiTopology.adapter[*].target[*].transport.iScsiAlias",
76
- "config.storageDevice.scsiTopology.adapter[*].target[*].transport.iScsiName"
77
- ]
78
- }
79
-
80
- $stderr.sync = true
81
-
82
- $vim_log = Logger.new(STDOUT)
83
- $vim_log.level = Logger::WARN
84
-
85
- broker = nil
86
-
87
- trap(:INT) do
88
- puts "Connection broker ignoring INT."
89
- end
90
-
91
- MiqVimBroker.preLoad = true
92
- MiqVimBroker.debugUpdates = false
93
- # MiqVimBroker.updateDelay = 120
94
-
95
- # MiqVimBroker.setSelector(SelectionSpec)
96
-
97
- nmSync = Sync.new
98
-
99
- # MiqVimBroker.notifyMethod = lambda { |h|
100
- # nmSync.synchronize(:EX) do
101
- # puts
102
- # puts "***"
103
- # h.each do |k,v|
104
- # if k == :changedProps
105
- # puts "#{k} =>"
106
- # v.each { |pn| puts "\t#{pn}" }
107
- # next
108
- # end
109
- # puts "#{k} => #{v}"
110
- # end
111
- # end
112
- # }
113
-
114
- $miq_wiredump = false
115
- $sim_update_reply = false
116
-
117
- broker = MiqVimBroker.new(:server)
118
- broker.cacheScope = :cache_scope_core
119
- # broker = MiqVimBroker.new(:server, 0)
120
- puts "Broker server started at #{DRb.uri}"
121
-
122
- # sleep 300
123
- # puts "setting upate delay to 30"
124
- # broker.updateDelay = 30
125
- # broker.debugUpdates = true
126
- # broker.notifyMethod = nil
127
-
128
- DRb.thread.join
@@ -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
- $stderr.sync = true
9
- $stdout.sync = true
10
-
11
- TARGET_VM = "rpo-clone-src"
12
- sVmMor = nil
13
- miqVm = nil
14
-
15
- vimDs = nil
16
- dsName = "DEVOpen-E0"
17
-
18
- begin
19
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
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
- miqVm = vim.getVimVmByFilter("config.name" => TARGET_VM)
26
-
27
- vmMor = miqVm.vmMor
28
- rpMor = miqVm.vmh.resourcePool
29
- hsMor = miqVm.vmh.summary.runtime.host
30
- vmPath = miqVm.vmh.summary.config.vmPathName
31
-
32
- puts "Target VM: #{TARGET_VM}, MOR: #{vmMor}"
33
- puts "Target VM path: #{vmPath}"
34
- puts "VM resource pool MOR: #{rpMor}"
35
- puts "VM host MOR: #{hsMor}"
36
- puts
37
-
38
- miqVmf = vim.getVimFolderByFilter('childType' => 'VirtualMachine', 'childEntity' => vmMor)
39
- # vim.dumpObj(miqVmf.fh)
40
-
41
- puts "Unregistering #{TARGET_VM}..."
42
- miqVm.unregister
43
- puts "Done."
44
-
45
- puts
46
- puts "Registering VM #{TARGET_VM}..."
47
- miqVmf.registerVM(vmPath, TARGET_VM, rpMor, hsMor, false)
48
- puts "done."
49
- rescue => err
50
- puts err.to_s
51
- puts err.backtrace.join("\n")
52
- ensure
53
- puts
54
- puts "Exiting..."
55
- miqVm.release if miqVm
56
- vim.disconnect if vim
57
- end
@@ -1,129 +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
- # MiqVimClientBase.wiredump_file = "perf.txt"
10
-
11
- begin
12
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
13
- puts "vim.class: #{vim.class}"
14
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
15
- puts "API version: #{vim.apiVersion}"
16
- puts
17
-
18
- endTime = vim.currentServerTime
19
- puts "Current server time: #{endTime}"
20
- puts
21
-
22
- miqPh = vim.getVimPerfHistory
23
- # vim.dumpObj(miqPh.intervals)
24
-
25
- puts "Available historical archive sampling intervals:"
26
- miqPh.intervals.each { |i| puts "\t#{i['name']}: Sampling Period = #{i['samplingPeriod']}(secs), length = #{i['length']}" }
27
- puts
28
-
29
- puts "Counter Groups:"
30
- miqPh.groupInfo.each { |gk, gi| puts "\t#{gk}: label = #{gi['label']}, summary = #{gi['summary']}" }
31
- puts
32
-
33
- puts "Counters by group:"
34
- miqPh.cInfoMap.each do |gn, nh|
35
- puts "\tGROUP: #{gn}"
36
- nh.each do |n, _ca|
37
- puts "\t\tNAME: #{gn}.#{n}"
38
- # ca.each_index do |ci|
39
- # co = ca[ci]
40
- # puts "\t\t\tCOUNTER[#{ci}]:"
41
- # puts "\t\t\t\tSummary: #{co['nameInfo']['summary']}"
42
- # puts "\t\t\t\tLabel: #{co['nameInfo']['label']}"
43
- # puts "\t\t\t\tRollup type: #{co['rollupType']}"
44
- # puts "\t\t\t\tStats type: #{co['statsType']}"
45
- # puts "\t\t\t\tLevel: #{co['level']}"
46
- # puts "\t\t\t\tKey: #{co['key']}"
47
- # puts
48
- # end
49
- end
50
- end
51
-
52
- # iid = '3600'
53
- iid = '7200'
54
-
55
- startTime = endTime - 1
56
-
57
- puts "Start Time: #{startTime}"
58
- puts "End Time: #{endTime}"
59
- puts
60
-
61
- ha = vim.hostSystemsByMor.values
62
- h1 = ha[0]
63
- h2 = ha[1]
64
-
65
- host = h1['config']['name'] if h1
66
- host2 = h2['config']['name'] if h2
67
-
68
- hostMor = h1['MOR']
69
- raise "Host #{host} not found" unless hostMor
70
-
71
- puts "Calling: queryProviderSummary for #{host}"
72
- psum = miqPh.queryProviderSummary(hostMor)
73
- # vim.dumpObj(psum)
74
- # puts
75
-
76
- puts "Calling: availMetricsForEntity"
77
- # pmids = miqPh.availMetricsForEntity(hostMor, :intervalId => iid, :beginTime => startTime, :endTime => endTime)
78
- pmids = miqPh.availMetricsForEntity(hostMor, :intervalId => psum['refreshRate'])
79
- # puts "Available Counters for: #{host}"
80
- # pmids.each do |pmid|
81
- # cinfo = miqPh.id2Counter[pmid.counterId]
82
- # puts "\t#{cinfo['groupInfo']['key']}.#{cinfo['nameInfo']['key']}"
83
- # puts "\t\tcounterId = #{pmid.counterId}"
84
- # puts "\t\tinstance = #{pmid.instance}"
85
- # end
86
- # puts
87
-
88
- ci = miqPh.getCounterInfo('cpu', 'usage', 'average', 'rate')
89
- ci2 = miqPh.getCounterInfo('mem', 'usage', 'average', 'absolute')
90
-
91
- puts "#{miqPh.intervalMap[iid]['name']} average CPU usage for #{host} (sampled every #{iid} seconds):"
92
- units = ci['unitInfo']['label']
93
-
94
- ma = miqPh.queryPerf(hostMor, :counterId => ci['key'], :intervalId => iid, :startTime => startTime, :endTime => endTime)
95
- ma.each_slice(2) { |t, v| puts ":\tValue: #{v * 0.01} (#{units})\t\tTIme: #{t}" }
96
- puts
97
-
98
- puts "**** queryPerfComposite start"
99
- pc = miqPh.queryPerfComposite(hostMor, :counterId => ci['key'], :intervalId => iid, :startTime => startTime, :endTime => endTime)
100
- puts "Parent MOR: #{pc['entity']['entity']}, Type: #{pc['entity']['entity'].vimType}"
101
- puts "Child MORs:"
102
- pc['childEntity'].each { |e| puts "\tMOR: #{e['entity']}, Type: #{e['entity'].vimType}" }
103
- # puts
104
- # vim.dumpObj(pc)
105
- puts "**** queryPerfComposite end"
106
- puts
107
-
108
- host2Mor = h2['MOR']
109
- raise "Host #{host2} not found" unless host2Mor
110
-
111
- metricId = [{:counterId => ci['key'], :instance => ""}, {:counterId => ci2['key'], :instance => ""}]
112
- e1h = {:entity => hostMor, :intervalId => iid, :metricId => metricId, :startTime => startTime, :endTime => endTime}
113
- e2h = {:entity => host2Mor, :intervalId => iid, :metricId => metricId, :startTime => startTime, :endTime => endTime}
114
-
115
- # $miq_wiredump = true
116
-
117
- puts "**** queryPerfMulti start"
118
- pcm = miqPh.queryPerfMulti([e1h, e2h])
119
- # vim.dumpObj(pcm)
120
- puts "**** queryPerfMulti end"
121
- rescue => err
122
- puts err.to_s
123
- puts err.backtrace.join("\n")
124
- ensure
125
- puts
126
- puts "Exiting..."
127
- miqPh.release if miqPh
128
- vim.disconnect if vim
129
- end
@@ -1,127 +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
- # TARGET_VM = "rpo-test2"
9
- TARGET_VM = "NetappDsTest2"
10
- ISO_PATH = "[] /vmimages/tools-isoimages/linux.iso"
11
- vmMor = nil
12
- miqVm = nil
13
-
14
- begin
15
- vim = MiqVim.new(SERVER, USERNAME, PASSWORD)
16
-
17
- puts "vim.class: #{vim.class}"
18
- puts "#{vim.server} is #{(vim.isVirtualCenter? ? 'VC' : 'ESX')}"
19
- puts "API version: #{vim.apiVersion}"
20
- puts
21
-
22
- miqVm = vim.getVimVmByFilter("summary.config.name" => TARGET_VM)
23
-
24
- # puts miqVm.acquireMksTicket
25
- # puts vim.acquireCloneTicket.inspect
26
-
27
- puts
28
- puts "Connection State: #{miqVm.connectionState}"
29
- puts "Power State: #{miqVm.powerState}"
30
-
31
- puts
32
- puts "extraConfig:"
33
- vim.dumpObj(miqVm.extraConfig)
34
-
35
- exit
36
-
37
- nic = miqVm.devicesByFilter("deviceInfo.label" => "Network adapter 1")
38
- puts "NIC 1: #{nic.first.backing.deviceName}"
39
- vim.dumpObj(nic)
40
-
41
- # exit
42
-
43
- # puts "Powering on VM..."
44
- # miqVm.start
45
- # puts "done."
46
- #
47
- # puts "Powering off VM..."
48
- # miqVm.stop
49
- # puts "done."
50
- #
51
- # exit
52
- #
53
- # devs = miqVm.devicesByFilter("connectable.connected" => /(false|true)/)
54
- # devs.each do |dev|
55
- # puts dev['deviceInfo']['label']
56
- # end
57
- # puts
58
- #
59
- # cd = miqVm.devicesByFilter("deviceInfo.label" => "CD/DVD Drive 1")
60
- # raise "VM has no CD/DVD drive" if cd.empty?
61
- # puts "*** Before reconfigure <#{cd[0].xsiType}>:"
62
- # vim.dumpObj(cd[0])
63
- #
64
- # # vim.logger = $stdout
65
- # miqVm.connectDevice(cd[0], false, true)
66
- # # vim.logger = nil
67
- # miqVm.refresh
68
- #
69
- # cd = miqVm.devicesByFilter("deviceInfo.label" => "CD/DVD Drive 1")
70
- # raise "VM has no CD/DVD drive" if cd.empty?
71
- # puts "*** After reconfigure:"
72
- # vim.dumpObj(cd[0])
73
- # puts
74
-
75
- cd = miqVm.devicesByFilter("deviceInfo.label" => "CD/DVD Drive 1")
76
- raise "VM has no CD/DVD drive" if cd.empty?
77
- cd = cd.first
78
- puts "*** Before attaching ISO image <#{cd.xsiType}>:"
79
- vim.dumpObj(cd)
80
- puts
81
-
82
- puts "Attaching #{ISO_PATH} to CD..."
83
- miqVm.attachIsoToCd(ISO_PATH, cd)
84
- puts "done."
85
- puts
86
-
87
- miqVm.refresh
88
- cd = miqVm.devicesByFilter("deviceInfo.label" => "CD/DVD Drive 1")
89
- raise "VM has no CD/DVD drive" if cd.empty?
90
- cd = cd.first
91
- puts "*** After attaching ISO image <#{cd.xsiType}>:"
92
- vim.dumpObj(cd)
93
- puts
94
-
95
- puts "Detaching #{ISO_PATH} from CD..."
96
- miqVm.resetCd
97
- puts "done."
98
- puts
99
-
100
- miqVm.refresh
101
- cd = miqVm.devicesByFilter("deviceInfo.label" => "CD/DVD Drive 1")
102
- raise "VM has no CD/DVD drive" if cd.empty?
103
- cd = cd.first
104
- puts "*** After detaching ISO image <#{cd.xsiType}>:"
105
- vim.dumpObj(cd)
106
- puts
107
-
108
- exit
109
- ## vmxSpec = miqVm.vixVmxSpec
110
- # puts "vmxSpec: #{vmxSpec}"
111
- # # puts
112
- # puts "Local Path: #{miqVm.localPath}"
113
- ## puts
114
- # ch = miqVm.getCfg
115
- # puts "**** cfg:"
116
- # ch.keys.sort.each { |k| puts "#{k}\t=> #{ch[k]}" }
117
- # puts "**** end cfg"
118
-
119
- rescue => err
120
- puts err.to_s
121
- puts err.backtrace.join("\n")
122
- ensure
123
- puts
124
- puts "Exiting..."
125
- miqVm.release if miqVm
126
- vim.disconnect if vim
127
- end