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.
- checksums.yaml +4 -4
- data/lib/VMwareWebService/MiqVimDataStore.rb +6 -7
- data/lib/VMwareWebService/MiqVimHost.rb +1 -2
- data/lib/VMwareWebService/MiqVimVm.rb +8 -8
- data/lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb +0 -1
- data/lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb +0 -1
- data/lib/VMwareWebService/exception.rb +14 -0
- data/lib/VMwareWebService/miq_fault_tolerant_vim.rb +1 -0
- data/lib/VMwareWebService/version.rb +1 -1
- metadata +21 -84
- data/lib/VMwareWebService/VixDiskLib/test/api_test.rb +0 -76
- data/lib/VMwareWebService/VixDiskLib/test/cookedTest.rb +0 -86
- data/lib/VMwareWebService/VixDiskLib/test/fillDisk.rb +0 -30
- data/lib/VMwareWebService/VixDiskLib/test/rawCloneTest.rb +0 -49
- data/lib/VMwareWebService/VixDiskLib/test/rawTest.rb +0 -79
- data/lib/VMwareWebService/VixDiskLib/test/rawTest11.rb +0 -72
- data/lib/VMwareWebService/VixDiskLib/test/rawWriteTest.rb +0 -33
- data/lib/VMwareWebService/VixDiskLib/test/vixDiskModTest.rb +0 -96
- data/lib/VMwareWebService/test/CustomizationSpec/sles10-x64-vanilla-cust-spec.xml +0 -56
- data/lib/VMwareWebService/test/CustomizationSpec/w2k8-x64-vanilla-cust-spec.xml +0 -566
- data/lib/VMwareWebService/test/MiqVimBrokerClient.rb +0 -116
- data/lib/VMwareWebService/test/MiqVimBrokerServer.rb +0 -128
- data/lib/VMwareWebService/test/MiqVimFolderTest.rb +0 -57
- data/lib/VMwareWebService/test/MiqVimPerfTest.rb +0 -129
- data/lib/VMwareWebService/test/MiqVimVmTest.rb +0 -127
- data/lib/VMwareWebService/test/addDiskTest.rb +0 -45
- data/lib/VMwareWebService/test/addHostToCluster.rb +0 -89
- data/lib/VMwareWebService/test/addNasDatastoreByName.rb +0 -45
- data/lib/VMwareWebService/test/addStandaloneHost.rb +0 -59
- data/lib/VMwareWebService/test/alarmManagerTest.rb +0 -37
- data/lib/VMwareWebService/test/alarmTest.rb +0 -20
- data/lib/VMwareWebService/test/annotation.rb +0 -33
- data/lib/VMwareWebService/test/brokerClientServerStats.rb +0 -78
- data/lib/VMwareWebService/test/brokerConnectionLockTest.rb +0 -81
- data/lib/VMwareWebService/test/brokerLoadTest.rb +0 -123
- data/lib/VMwareWebService/test/brokerObjCountTest.rb +0 -43
- data/lib/VMwareWebService/test/browserTest.rb +0 -141
- data/lib/VMwareWebService/test/cloneAsyncTest.rb +0 -140
- data/lib/VMwareWebService/test/cloneCsmTest.rb +0 -162
- data/lib/VMwareWebService/test/cloneDvsTest.rb +0 -187
- data/lib/VMwareWebService/test/cloneTest.rb +0 -153
- data/lib/VMwareWebService/test/cpuAffinity.rb +0 -35
- data/lib/VMwareWebService/test/cpuMemTest.rb +0 -45
- data/lib/VMwareWebService/test/createFolderTest.rb +0 -65
- data/lib/VMwareWebService/test/createNfsDatastore.rb +0 -42
- data/lib/VMwareWebService/test/customFieldsManagerTest.rb +0 -57
- data/lib/VMwareWebService/test/customizationSpecManagerTest.rb +0 -69
- data/lib/VMwareWebService/test/diskPerf.rb +0 -122
- data/lib/VMwareWebService/test/emsRefreshTest.rb +0 -78
- data/lib/VMwareWebService/test/enterMaintenanceMode.rb +0 -56
- data/lib/VMwareWebService/test/eventHistoryTest.rb +0 -139
- data/lib/VMwareWebService/test/hostAdvancedOptionTest.rb +0 -45
- data/lib/VMwareWebService/test/hostConfigSpecTest.rb +0 -51
- data/lib/VMwareWebService/test/hostDatastoreTest.rb +0 -51
- data/lib/VMwareWebService/test/hostDvsTest.rb +0 -60
- data/lib/VMwareWebService/test/hostFirewallTest.rb +0 -149
- data/lib/VMwareWebService/test/hostNetworkTest.rb +0 -63
- data/lib/VMwareWebService/test/hostServiceTest.rb +0 -147
- data/lib/VMwareWebService/test/hostSnmpSystemTest.rb +0 -58
- data/lib/VMwareWebService/test/hostStandByTest.rb +0 -51
- data/lib/VMwareWebService/test/hostStorageSystem.rb +0 -73
- data/lib/VMwareWebService/test/hostTest.rb +0 -50
- data/lib/VMwareWebService/test/hostVirtualNicManagerTest.rb +0 -83
- data/lib/VMwareWebService/test/linkedCloneFromTemplateTest.rb +0 -135
- data/lib/VMwareWebService/test/linkedCloneTest.rb +0 -132
- data/lib/VMwareWebService/test/list_evm_snapshots.rb +0 -38
- data/lib/VMwareWebService/test/logStatusTest.rb +0 -31
- data/lib/VMwareWebService/test/logTest.rb +0 -72
- data/lib/VMwareWebService/test/migrateTest.rb +0 -71
- data/lib/VMwareWebService/test/rebootHostTest.rb +0 -47
- data/lib/VMwareWebService/test/remoteDisplayVnc.rb +0 -52
- data/lib/VMwareWebService/test/rm_evm_snapshots.rb +0 -45
- data/lib/VMwareWebService/test/rtPerfTest.rb +0 -135
- data/lib/VMwareWebService/test/selectionSpecBrokerClassTest.rb +0 -90
- data/lib/VMwareWebService/test/selectionSpecBrokerInstanceTest.rb +0 -163
- data/lib/VMwareWebService/test/selectionSpecVimClassTest.rb +0 -249
- data/lib/VMwareWebService/test/selectionSpecVimTest.rb +0 -232
- data/lib/VMwareWebService/test/shutdownHostTest.rb +0 -47
- data/lib/VMwareWebService/test/snapshotTest.rb +0 -61
- data/lib/VMwareWebService/test/templateTest.rb +0 -67
- data/lib/VMwareWebService/test/thinProvisioned.rb +0 -87
- data/lib/VMwareWebService/test/vdlBrowserTest.rb +0 -113
- data/lib/VMwareWebService/test/vimCoreUpdater.rb +0 -25
- data/lib/VMwareWebService/test/vimEventMonitory.rb +0 -26
- data/lib/VMwareWebService/test/vimInventory.rb +0 -24
- data/lib/VMwareWebService/test/virtualApp.rb +0 -47
- data/lib/VMwareWebService/test/virtualDiskPerf.rb +0 -82
- 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
|