vmware_web_service 0.1.1 → 0.1.2

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.
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