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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 006b481c986e6cad728640d1394bfbb13bd7a6ab
|
4
|
+
data.tar.gz: 4c33d39aefbedeec84d41631f49083153af2940b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90f4d0600f05f832bf7269f03a06d445a5791a7307f6189be587d56234b8b939b30e58469a4bc20f9ff415794cdd637e8f9de83a39a6831478f70f94da236ab1
|
7
|
+
data.tar.gz: eb246f1531c6fc7dfd6dfaec639dfd4dc2d21c02b615de061de7b481d382862d0f1e8c3f17d63f19c5ccf735fac751aeb7ab35822a0a45577b748b8582c8a323
|
@@ -1,7 +1,4 @@
|
|
1
1
|
require 'sync'
|
2
|
-
|
3
|
-
require 'fs/MiqFS/MiqFS'
|
4
|
-
require 'fs/VimDatastoreFS/VimDatastoreFS'
|
5
2
|
require 'util/miq-extensions' # Required patch to open-uri for get_file_content
|
6
3
|
|
7
4
|
class MiqVimDataStore
|
@@ -265,9 +262,6 @@ class MiqVimDataStore
|
|
265
262
|
end
|
266
263
|
end
|
267
264
|
|
268
|
-
def getFs
|
269
|
-
(MiqFS.new(VimDatastoreFS, self))
|
270
|
-
end
|
271
265
|
|
272
266
|
def dumpProps
|
273
267
|
props = @invObj.getMoProp_local(@dsMor, "browser")["browser"]
|
@@ -287,7 +281,12 @@ class MiqVimDataStore
|
|
287
281
|
raise "get_file_content not supported on [#{@invObj.about['fullName']}]" if $1.to_i < 3 || ($1.to_i == 3 && $2.to_i < 5)
|
288
282
|
|
289
283
|
fileUrl = encode_datastore_url(filepath, @name)
|
290
|
-
|
284
|
+
|
285
|
+
options = {
|
286
|
+
:http_basic_authentication => [@invObj.username, @invObj.password],
|
287
|
+
:ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE
|
288
|
+
}
|
289
|
+
|
291
290
|
if block_given?
|
292
291
|
open(fileUrl, options) { |ret| yield(ret) }
|
293
292
|
else
|
@@ -3,8 +3,7 @@ require 'sync'
|
|
3
3
|
require 'enumerator'
|
4
4
|
require "ostruct"
|
5
5
|
|
6
|
-
require '
|
7
|
-
require 'util/miq-exception'
|
6
|
+
require 'more_core_extensions/core_ext/hash'
|
8
7
|
require 'VMwareWebService/MiqHostDatastoreSystem'
|
9
8
|
require 'VMwareWebService/MiqHostStorageSystem'
|
10
9
|
require 'VMwareWebService/MiqHostFirewallSystem'
|
@@ -3,10 +3,10 @@ require 'sync'
|
|
3
3
|
require 'enumerator'
|
4
4
|
require "ostruct"
|
5
5
|
|
6
|
-
require '
|
7
|
-
require 'util/miq-exception'
|
6
|
+
require 'more_core_extensions/core_ext/hash'
|
8
7
|
require 'active_support/core_ext/object/try'
|
9
8
|
|
9
|
+
require 'VMwareWebService/exception'
|
10
10
|
require 'VMwareWebService/MiqVimVdlMod'
|
11
11
|
require 'VMwareWebService/esx_thumb_print'
|
12
12
|
require 'VMwareWebService/vcenter_thumb_print'
|
@@ -343,11 +343,11 @@ class MiqVimVm
|
|
343
343
|
hasNetApp = hasSnapshot?(NETAPP_SNAPSHOT_NAME, false)
|
344
344
|
|
345
345
|
if hasEvm || hasCh || hasVcb
|
346
|
-
raise MiqException::
|
347
|
-
raise MiqException::
|
348
|
-
raise MiqException::
|
349
|
-
raise MiqException::
|
350
|
-
raise MiqException::
|
346
|
+
raise MiqException::MiqVimVmSnapshotError, "VM has EVM and consolidate helper snapshots" if hasEvm && hasCh
|
347
|
+
raise MiqException::MiqVimVmSnapshotError, "VM already has an EVM snapshot" if hasEvm
|
348
|
+
raise MiqException::MiqVimVmSnapshotError, "VM already has an VCB snapshot" if hasVcb
|
349
|
+
raise MiqException::MiqVimVmSnapshotError, "VM already has a NetApp snapshot" if hasNetApp
|
350
|
+
raise MiqException::MiqVimVmSnapshotError, "VM has a consolidate helper snapshot"
|
351
351
|
end
|
352
352
|
createSnapshot(EVM_SNAPSHOT_NAME, desc, false, quiesce, wait, free_space_percent)
|
353
353
|
end
|
@@ -476,7 +476,7 @@ class MiqVimVm
|
|
476
476
|
end
|
477
477
|
|
478
478
|
if ds_free_space < required_snapshot_space
|
479
|
-
raise MiqException::
|
479
|
+
raise MiqException::MiqVimVmSnapshotError, "Snapshot #{action} aborted. Datastore <#{ds_name}> does not have enough free space. Space Free:<#{ds_free_space}> Required:<#{required_snapshot_space}> Disk Percentage Used:<#{free_space_percent}>"
|
480
480
|
else
|
481
481
|
$log.info "Snapshot #{action} pre-check OK. Datastore <#{ds_name}> has enough free space. Space Free:<#{ds_free_space}> Required:<#{required_snapshot_space}> Disk Percentage Used:<#{free_space_percent}>" if $log
|
482
482
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module MiqException
|
2
|
+
class Error < RuntimeError; end
|
3
|
+
|
4
|
+
class MiqVimError < Error; end
|
5
|
+
class MiqVimBrokerStaleHandle < MiqVimError; end
|
6
|
+
class MiqVimBrokerUnavailable < MiqVimError; end
|
7
|
+
# MiqVimResourceNotFound is derived from RuntimeError to ensure it gets marshalled over DRB properly.
|
8
|
+
# TODO: Rename MiqException::Error class to avoid issues returning derived error classes over DRB.
|
9
|
+
# Then change MiqVimResourceNotFound to derive from MiqVimError
|
10
|
+
class MiqVimResourceNotFound < RuntimeError; end
|
11
|
+
|
12
|
+
# MiqVimVm Errors
|
13
|
+
class MiqVimVmSnapshotError < MiqVimError; end
|
14
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmware_web_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -78,28 +78,42 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 2.
|
81
|
+
version: 2.8.0
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 2.
|
88
|
+
version: 2.8.0
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: more_core_extensions
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '3.2'
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '3.2'
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: rbvmomi
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
92
106
|
requirements:
|
93
107
|
- - "~>"
|
94
108
|
- !ruby/object:Gem::Version
|
95
|
-
version: 1.
|
109
|
+
version: 1.11.3
|
96
110
|
type: :runtime
|
97
111
|
prerelease: false
|
98
112
|
version_requirements: !ruby/object:Gem::Requirement
|
99
113
|
requirements:
|
100
114
|
- - "~>"
|
101
115
|
- !ruby/object:Gem::Version
|
102
|
-
version: 1.
|
116
|
+
version: 1.11.3
|
103
117
|
- !ruby/object:Gem::Dependency
|
104
118
|
name: bundler
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -217,89 +231,12 @@ files:
|
|
217
231
|
- lib/VMwareWebService/VimTypes.rb
|
218
232
|
- lib/VMwareWebService/VixDiskLib/VixDiskLib.rb
|
219
233
|
- lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb
|
220
|
-
- lib/VMwareWebService/VixDiskLib/test/api_test.rb
|
221
|
-
- lib/VMwareWebService/VixDiskLib/test/cookedTest.rb
|
222
|
-
- lib/VMwareWebService/VixDiskLib/test/fillDisk.rb
|
223
|
-
- lib/VMwareWebService/VixDiskLib/test/rawCloneTest.rb
|
224
|
-
- lib/VMwareWebService/VixDiskLib/test/rawTest.rb
|
225
|
-
- lib/VMwareWebService/VixDiskLib/test/rawTest11.rb
|
226
|
-
- lib/VMwareWebService/VixDiskLib/test/rawWriteTest.rb
|
227
|
-
- lib/VMwareWebService/VixDiskLib/test/vixDiskModTest.rb
|
228
234
|
- lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb
|
229
235
|
- lib/VMwareWebService/broker_sync_debug.rb
|
230
236
|
- lib/VMwareWebService/broker_timeout.rb
|
231
237
|
- lib/VMwareWebService/esx_thumb_print.rb
|
238
|
+
- lib/VMwareWebService/exception.rb
|
232
239
|
- lib/VMwareWebService/miq_fault_tolerant_vim.rb
|
233
|
-
- lib/VMwareWebService/test/CustomizationSpec/sles10-x64-vanilla-cust-spec.xml
|
234
|
-
- lib/VMwareWebService/test/CustomizationSpec/w2k8-x64-vanilla-cust-spec.xml
|
235
|
-
- lib/VMwareWebService/test/MiqVimBrokerClient.rb
|
236
|
-
- lib/VMwareWebService/test/MiqVimBrokerServer.rb
|
237
|
-
- lib/VMwareWebService/test/MiqVimFolderTest.rb
|
238
|
-
- lib/VMwareWebService/test/MiqVimPerfTest.rb
|
239
|
-
- lib/VMwareWebService/test/MiqVimVmTest.rb
|
240
|
-
- lib/VMwareWebService/test/addDiskTest.rb
|
241
|
-
- lib/VMwareWebService/test/addHostToCluster.rb
|
242
|
-
- lib/VMwareWebService/test/addNasDatastoreByName.rb
|
243
|
-
- lib/VMwareWebService/test/addStandaloneHost.rb
|
244
|
-
- lib/VMwareWebService/test/alarmManagerTest.rb
|
245
|
-
- lib/VMwareWebService/test/alarmTest.rb
|
246
|
-
- lib/VMwareWebService/test/annotation.rb
|
247
|
-
- lib/VMwareWebService/test/brokerClientServerStats.rb
|
248
|
-
- lib/VMwareWebService/test/brokerConnectionLockTest.rb
|
249
|
-
- lib/VMwareWebService/test/brokerLoadTest.rb
|
250
|
-
- lib/VMwareWebService/test/brokerObjCountTest.rb
|
251
|
-
- lib/VMwareWebService/test/browserTest.rb
|
252
|
-
- lib/VMwareWebService/test/cloneAsyncTest.rb
|
253
|
-
- lib/VMwareWebService/test/cloneCsmTest.rb
|
254
|
-
- lib/VMwareWebService/test/cloneDvsTest.rb
|
255
|
-
- lib/VMwareWebService/test/cloneTest.rb
|
256
|
-
- lib/VMwareWebService/test/cpuAffinity.rb
|
257
|
-
- lib/VMwareWebService/test/cpuMemTest.rb
|
258
|
-
- lib/VMwareWebService/test/createFolderTest.rb
|
259
|
-
- lib/VMwareWebService/test/createNfsDatastore.rb
|
260
|
-
- lib/VMwareWebService/test/customFieldsManagerTest.rb
|
261
|
-
- lib/VMwareWebService/test/customizationSpecManagerTest.rb
|
262
|
-
- lib/VMwareWebService/test/diskPerf.rb
|
263
|
-
- lib/VMwareWebService/test/emsRefreshTest.rb
|
264
|
-
- lib/VMwareWebService/test/enterMaintenanceMode.rb
|
265
|
-
- lib/VMwareWebService/test/eventHistoryTest.rb
|
266
|
-
- lib/VMwareWebService/test/hostAdvancedOptionTest.rb
|
267
|
-
- lib/VMwareWebService/test/hostConfigSpecTest.rb
|
268
|
-
- lib/VMwareWebService/test/hostDatastoreTest.rb
|
269
|
-
- lib/VMwareWebService/test/hostDvsTest.rb
|
270
|
-
- lib/VMwareWebService/test/hostFirewallTest.rb
|
271
|
-
- lib/VMwareWebService/test/hostNetworkTest.rb
|
272
|
-
- lib/VMwareWebService/test/hostServiceTest.rb
|
273
|
-
- lib/VMwareWebService/test/hostSnmpSystemTest.rb
|
274
|
-
- lib/VMwareWebService/test/hostStandByTest.rb
|
275
|
-
- lib/VMwareWebService/test/hostStorageSystem.rb
|
276
|
-
- lib/VMwareWebService/test/hostTest.rb
|
277
|
-
- lib/VMwareWebService/test/hostVirtualNicManagerTest.rb
|
278
|
-
- lib/VMwareWebService/test/linkedCloneFromTemplateTest.rb
|
279
|
-
- lib/VMwareWebService/test/linkedCloneTest.rb
|
280
|
-
- lib/VMwareWebService/test/list_evm_snapshots.rb
|
281
|
-
- lib/VMwareWebService/test/logStatusTest.rb
|
282
|
-
- lib/VMwareWebService/test/logTest.rb
|
283
|
-
- lib/VMwareWebService/test/migrateTest.rb
|
284
|
-
- lib/VMwareWebService/test/rebootHostTest.rb
|
285
|
-
- lib/VMwareWebService/test/remoteDisplayVnc.rb
|
286
|
-
- lib/VMwareWebService/test/rm_evm_snapshots.rb
|
287
|
-
- lib/VMwareWebService/test/rtPerfTest.rb
|
288
|
-
- lib/VMwareWebService/test/selectionSpecBrokerClassTest.rb
|
289
|
-
- lib/VMwareWebService/test/selectionSpecBrokerInstanceTest.rb
|
290
|
-
- lib/VMwareWebService/test/selectionSpecVimClassTest.rb
|
291
|
-
- lib/VMwareWebService/test/selectionSpecVimTest.rb
|
292
|
-
- lib/VMwareWebService/test/shutdownHostTest.rb
|
293
|
-
- lib/VMwareWebService/test/snapshotTest.rb
|
294
|
-
- lib/VMwareWebService/test/templateTest.rb
|
295
|
-
- lib/VMwareWebService/test/thinProvisioned.rb
|
296
|
-
- lib/VMwareWebService/test/vdlBrowserTest.rb
|
297
|
-
- lib/VMwareWebService/test/vimCoreUpdater.rb
|
298
|
-
- lib/VMwareWebService/test/vimEventMonitory.rb
|
299
|
-
- lib/VMwareWebService/test/vimInventory.rb
|
300
|
-
- lib/VMwareWebService/test/virtualApp.rb
|
301
|
-
- lib/VMwareWebService/test/virtualDiskPerf.rb
|
302
|
-
- lib/VMwareWebService/test/vmsafe.rb
|
303
240
|
- lib/VMwareWebService/thumb_print.rb
|
304
241
|
- lib/VMwareWebService/vcenter_thumb_print.rb
|
305
242
|
- lib/VMwareWebService/version.rb
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require "ffi-vix_disk_lib/api_wrapper"
|
2
|
-
|
3
|
-
$vim_log = Logger.new(STDOUT)
|
4
|
-
$vim_log.level = Logger::WARN
|
5
|
-
|
6
|
-
vmdk = "/vmfs/volumes/StarM1-Dev/Citrix-Mahwah2/Citrix-Mahwah2.vmdk"
|
7
|
-
|
8
|
-
VixDiskLibApi = FFI::VixDiskLib::ApiWrapper
|
9
|
-
VixDiskLib_raw = FFI::VixDiskLib::API
|
10
|
-
|
11
|
-
VixDiskLibApi.init(nil, nil, nil, nil)
|
12
|
-
|
13
|
-
tmodes = VixDiskLibApi.list_transport_modes
|
14
|
-
puts "Transport Modes = [#{tmodes}]"
|
15
|
-
|
16
|
-
SERVERNAME = raise "Please define SERVERNAME"
|
17
|
-
PORTNUMBER = raise "Please define PORTNUMBER"
|
18
|
-
USERNAME = raise "Please define USERNAME"
|
19
|
-
PASSWORD = raise "Please define PASSWORD"
|
20
|
-
|
21
|
-
con_parms = {
|
22
|
-
:serverName => SERVERNAME,
|
23
|
-
:port => PORTNUMBER,
|
24
|
-
:credType => VixDiskLib_raw::VIXDISKLIB_CRED_UID,
|
25
|
-
:userName => USERNAME,
|
26
|
-
:password => PASSWORD,
|
27
|
-
}
|
28
|
-
|
29
|
-
connection = VixDiskLibApi.connect(con_parms)
|
30
|
-
|
31
|
-
begin
|
32
|
-
disk_handle = VixDiskLibApi.open(connection, vmdk, VixDiskLib_raw::VIXDISKLIB_FLAG_OPEN_READ_ONLY)
|
33
|
-
rescue VixDiskLibError => err
|
34
|
-
puts "Error opening #{vmdk}: #{err}. Exiting test."
|
35
|
-
exit
|
36
|
-
end
|
37
|
-
dinfo = VixDiskLibApi.get_info(disk_handle)
|
38
|
-
puts
|
39
|
-
puts "Disk info:"
|
40
|
-
dinfo.each { |k, v| puts "\t#{k} => #{v}" }
|
41
|
-
puts
|
42
|
-
|
43
|
-
mode = VixDiskLibApi.get_transport_mode(disk_handle)
|
44
|
-
puts "Transport Mode: #{mode}"
|
45
|
-
|
46
|
-
mkeys = VixDiskLibApi.get_metadata_keys(disk_handle)
|
47
|
-
puts "Metadata:"
|
48
|
-
mkeys.each do |k|
|
49
|
-
v = VixDiskLibApi.read_metadata(disk_handle, k)
|
50
|
-
puts "\t#{k} => #{v}"
|
51
|
-
end
|
52
|
-
|
53
|
-
space = VixDiskLibApi.space_needed_for_clone(disk_handle, :DISK_VMFS_FLAT)
|
54
|
-
puts "Space Needed for Clone: #{space}"
|
55
|
-
|
56
|
-
# nReads = 500000
|
57
|
-
number_reads = 500
|
58
|
-
# number_reads = 5000
|
59
|
-
|
60
|
-
bytes_read = 0
|
61
|
-
t0 = Time.now
|
62
|
-
|
63
|
-
(0...number_reads).each do |rn|
|
64
|
-
read_data = VixDiskLibApi.read(disk_handle, rn, 1)
|
65
|
-
bytes_read += read_data.length
|
66
|
-
end
|
67
|
-
|
68
|
-
t1 = Time.now
|
69
|
-
bps = bytes_read / (t1 - t0)
|
70
|
-
|
71
|
-
puts "Read throughput: #{bps} B/s"
|
72
|
-
|
73
|
-
VixDiskLibApi.close(disk_handle)
|
74
|
-
VixDiskLibApi.disconnect(connection)
|
75
|
-
|
76
|
-
VixDiskLibApi.exit
|
@@ -1,86 +0,0 @@
|
|
1
|
-
require 'VMwareWebService/VixDiskLib/VixDiskLib'
|
2
|
-
require 'enumerator'
|
3
|
-
|
4
|
-
$vim_log = Logger.new(STDOUT)
|
5
|
-
$vim_log.level = Logger::WARN
|
6
|
-
|
7
|
-
diskFiles = [
|
8
|
-
"/vmfs/volumes/StarM2-LUN1/VMmini-101/VMmini-101.vmdk"
|
9
|
-
]
|
10
|
-
|
11
|
-
readRanges = [
|
12
|
-
0, 256,
|
13
|
-
0, 512,
|
14
|
-
256, 512,
|
15
|
-
512, 256,
|
16
|
-
512, 512,
|
17
|
-
256, 1024,
|
18
|
-
1280, 256,
|
19
|
-
1280, 512,
|
20
|
-
1280, 1024
|
21
|
-
]
|
22
|
-
|
23
|
-
puts "VIXDISKLIB_FLAG_OPEN_UNBUFFERED = #{VixDiskLib_raw::VIXDISKLIB_FLAG_OPEN_UNBUFFERED}"
|
24
|
-
puts "VIXDISKLIB_FLAG_OPEN_SINGLE_LINK = #{VixDiskLib_raw::VIXDISKLIB_FLAG_OPEN_SINGLE_LINK}"
|
25
|
-
puts "VIXDISKLIB_FLAG_OPEN_READ_ONLY = #{VixDiskLib_raw::VIXDISKLIB_FLAG_OPEN_READ_ONLY}"
|
26
|
-
puts "VIXDISKLIB_CRED_UID = #{VixDiskLib_raw::VIXDISKLIB_CRED_UID}"
|
27
|
-
puts "VIXDISKLIB_CRED_SESSIONID = #{VixDiskLib_raw::VIXDISKLIB_CRED_SESSIONID}"
|
28
|
-
puts "VIXDISKLIB_CRED_UNKNOWN = #{VixDiskLib_raw::VIXDISKLIB_CRED_UNKNOWN}"
|
29
|
-
puts "VIXDISKLIB_SECTOR_SIZE = #{VixDiskLib_raw::VIXDISKLIB_SECTOR_SIZE}"
|
30
|
-
puts
|
31
|
-
|
32
|
-
VixDiskLib.init(->(s) { puts "INFO: #{s}" },
|
33
|
-
->(s) { puts "WARN: #{s}" },
|
34
|
-
->(s) { puts "ERROR: #{s}" })
|
35
|
-
|
36
|
-
conParms = {
|
37
|
-
:serverName => "",
|
38
|
-
:port => 902,
|
39
|
-
:credType => VixDiskLib_raw::VIXDISKLIB_CRED_UID,
|
40
|
-
:userName => "",
|
41
|
-
:password => "",
|
42
|
-
}
|
43
|
-
|
44
|
-
connection = VixDiskLib.connect(conParms)
|
45
|
-
|
46
|
-
vDisks = []
|
47
|
-
|
48
|
-
n = 1
|
49
|
-
diskFiles.each do |vmdk|
|
50
|
-
puts "*** #{n} *** VMDK: #{vmdk}"
|
51
|
-
vDisk = connection.getDisk(vmdk, VixDiskLib_raw::VIXDISKLIB_FLAG_OPEN_READ_ONLY)
|
52
|
-
vDisks << vDisk
|
53
|
-
|
54
|
-
dinfo = vDisk.info
|
55
|
-
puts
|
56
|
-
puts "Disk info:"
|
57
|
-
dinfo.each { |k, v| puts "\t#{k} => #{v}" }
|
58
|
-
puts
|
59
|
-
|
60
|
-
readRanges.each_slice(2) do |start, len|
|
61
|
-
puts "Read test: start = #{start}, len = #{len} (bytes)"
|
62
|
-
startSector, startOffset = start.divmod(vDisk.sectorSize)
|
63
|
-
endSector = (start + len - 1) / vDisk.sectorSize
|
64
|
-
numSector = endSector - startSector + 1
|
65
|
-
puts "\tstartSector = #{startSector}, numSector = #{numSector}, startOffset = #{startOffset}"
|
66
|
-
|
67
|
-
rBData = vDisk.bread(startSector, numSector)
|
68
|
-
puts "\tBlock read #{rBData.length} bytes of data."
|
69
|
-
|
70
|
-
rCData = vDisk.read(start, len)
|
71
|
-
puts "\tByte read #{rCData.length} bytes of data."
|
72
|
-
|
73
|
-
if rCData != rBData[startOffset, len]
|
74
|
-
puts "\t\t*** Block and byte data don't match"
|
75
|
-
else
|
76
|
-
puts "\t\tData check passed"
|
77
|
-
end
|
78
|
-
puts
|
79
|
-
end
|
80
|
-
n += 1
|
81
|
-
|
82
|
-
break
|
83
|
-
end
|
84
|
-
|
85
|
-
vDisks.each(&:close)
|
86
|
-
connection.disconnect
|