vmware_web_service 2.1.1 → 3.0.0
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.
- checksums.yaml +4 -4
- data/lib/VMwareWebService/MiqHostDatastoreSystem.rb +5 -1
- data/lib/VMwareWebService/MiqVim.rb +58 -56
- data/lib/VMwareWebService/MiqVimClientBase.rb +11 -10
- data/lib/VMwareWebService/MiqVimCluster.rb +6 -2
- data/lib/VMwareWebService/MiqVimDataStore.rb +9 -6
- data/lib/VMwareWebService/MiqVimDump.rb +1 -1
- data/lib/VMwareWebService/MiqVimEventHistoryCollector.rb +5 -1
- data/lib/VMwareWebService/MiqVimEventMonitor.rb +22 -20
- data/lib/VMwareWebService/MiqVimFolder.rb +15 -11
- data/lib/VMwareWebService/MiqVimHost.rb +15 -13
- data/lib/VMwareWebService/MiqVimInventory.rb +78 -79
- data/lib/VMwareWebService/MiqVimPerfHistory.rb +13 -10
- data/lib/VMwareWebService/MiqVimUpdate.rb +50 -50
- data/lib/VMwareWebService/MiqVimVdlMod.rb +7 -7
- data/lib/VMwareWebService/MiqVimVm.rb +102 -101
- data/lib/VMwareWebService/VimService.rb +5 -2
- data/lib/VMwareWebService/VixDiskLib/VixDiskLib.rb +10 -6
- data/lib/VMwareWebService/VixDiskLib/VixDiskLibServer.rb +15 -13
- data/lib/VMwareWebService/VixDiskLib/vdl_wrapper.rb +26 -25
- data/lib/VMwareWebService/exception.rb +0 -2
- data/lib/VMwareWebService/logging.rb +16 -0
- data/lib/VMwareWebService/version.rb +1 -1
- data/lib/vmware_web_service.rb +2 -0
- metadata +6 -25
- data/lib/VMwareWebService/DMiqVim.rb +0 -95
- data/lib/VMwareWebService/DMiqVimSync.rb +0 -45
- data/lib/VMwareWebService/MiqVimBroker.rb +0 -581
- data/lib/VMwareWebService/MiqVimBrokerMods.rb +0 -222
- data/lib/VMwareWebService/MiqVimCoreUpdater.rb +0 -269
- data/lib/VMwareWebService/miq_fault_tolerant_vim.rb +0 -246
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1288852b072deb0fafe3ad1283dc4f82937da979aafdb8408a4f2938e93525bb
|
4
|
+
data.tar.gz: 980e17603b753629a0dfbffa4c7c9141b347da64492e39400bb4feca1c129bda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fa9b4c773f5868376fd9d1d816146c614d4ecd6f05bcdc17db918df45cdb39a07cea91cc329db3d7601dece163d63b63bb14820bd8ad1fa1415849df05a0a5d
|
7
|
+
data.tar.gz: 15156757e0bdfecd73a1199eb0d7fbc6f514c61f7c530a2528a21608ae34fce966badbe9e2b6141e4ff7d16a60c0dc86e0f7e27f9fbc878e697cb3094ffe047f
|
@@ -1,4 +1,8 @@
|
|
1
|
+
require 'VMwareWebService/logging'
|
2
|
+
|
1
3
|
class MiqHostDatastoreSystem
|
4
|
+
include VMwareWebService::Logging
|
5
|
+
|
2
6
|
attr_reader :invObj
|
3
7
|
|
4
8
|
def initialize(dssMor, invObj)
|
@@ -44,7 +48,7 @@ class MiqHostDatastoreSystem
|
|
44
48
|
localPath = dsh.info.nas.name
|
45
49
|
type = dsh.info.nas.type
|
46
50
|
|
47
|
-
|
51
|
+
logger.info "MiqHostDatastoreSystem.addNasDatastoreByName: remoteHost = #{remoteHost}, remotePath = #{remotePath}, localPath = #{localPath}"
|
48
52
|
createNasDatastore(remoteHost, remotePath, localPath, accessMode, type)
|
49
53
|
end
|
50
54
|
end # class MiqHostDatastoreSystem
|
@@ -23,28 +23,30 @@ class MiqVim < MiqVimInventory
|
|
23
23
|
# @param server [String] DNS name or IP address of the vCenter Server
|
24
24
|
# @param username [String] Username to connect to the vCenter Server
|
25
25
|
# @param password [String] Password to connect to the vCenter Server
|
26
|
-
# @param
|
26
|
+
# @param port [Integer] Port to connect to the vCenter Server (default: 443)
|
27
|
+
# @param ssl_options [Hash] SSL connection options, :verify_mode and :ca_file
|
28
|
+
# @param cache_scope [Symbol] A pre-defined set of properties to cache (default: nil)
|
27
29
|
# @param monitor_updates [Bool] Should a thread be started to monitor updates (default: false)
|
28
|
-
# @param
|
29
|
-
# @param
|
30
|
-
# @param
|
31
|
-
# @param
|
32
|
-
# @param
|
33
|
-
def initialize(server
|
34
|
-
super(server, username, password,
|
30
|
+
# @param pre_load [Bool] Should the cache be built before returning the connection (default: false)
|
31
|
+
# @param debug_updates [Bool] Should we print debug info for each update (default: false)
|
32
|
+
# @param notify_method [Method] A optional method to call for each update (default: nil)
|
33
|
+
# @param max_wait [Integer] How many seconds to wait before breaking out of WaitForUpdates (default: 60)
|
34
|
+
# @param max_objects [Integer] How many objects to return from each WaitForUpdates page (default: 250)
|
35
|
+
def initialize(server:, username:, password:, port: 443, ssl_options: {}, cache_scope: nil, monitor_updates: nil, pre_load: nil, debug_updates: false, notify_method: nil, max_wait: 60, max_objects: 250)
|
36
|
+
super(:server => server, :port => port, :ssl_options => ssl_options, :username => username, :password => password, :cache_scope => cache_scope)
|
35
37
|
|
36
38
|
monitor_updates = self.class.monitor_updates if monitor_updates.nil?
|
37
|
-
|
39
|
+
pre_load = self.class.pre_load if pre_load.nil?
|
38
40
|
|
39
41
|
@monitor_updates = monitor_updates
|
40
42
|
@updateMonitorReady = false
|
41
43
|
@error = nil
|
42
|
-
@notifyMethod =
|
43
|
-
@debugUpdates =
|
44
|
-
@maxWait =
|
45
|
-
@maxObjects =
|
44
|
+
@notifyMethod = notify_method
|
45
|
+
@debugUpdates = debug_updates
|
46
|
+
@maxWait = max_wait
|
47
|
+
@maxObjects = max_objects
|
46
48
|
|
47
|
-
start_monitor_updates_thread(
|
49
|
+
start_monitor_updates_thread(pre_load) if @monitor_updates
|
48
50
|
end
|
49
51
|
|
50
52
|
@@monitor_updates = false
|
@@ -67,24 +69,24 @@ class MiqVim < MiqVimInventory
|
|
67
69
|
end
|
68
70
|
|
69
71
|
def getVimVm(path)
|
70
|
-
|
72
|
+
logger.info "MiqVimMod.getVimVm: called"
|
71
73
|
miqVimVm = nil
|
72
74
|
@cacheLock.synchronize(:SH) do
|
73
75
|
raise MiqException::MiqVimResourceNotFound, "Could not find VM: #{path}" unless (vmh = virtualMachines_locked[path])
|
74
76
|
miqVimVm = MiqVimVm.new(self, conditionalCopy(vmh))
|
75
77
|
end
|
76
|
-
|
78
|
+
logger.info "MiqVimMod.getVimVm: returning object #{miqVimVm.object_id}"
|
77
79
|
(miqVimVm)
|
78
80
|
end # def getVimVm
|
79
81
|
|
80
82
|
def getVimVmByMor(vmMor)
|
81
|
-
|
83
|
+
logger.info "MiqVimMod.getVimVmByMor: called"
|
82
84
|
miqVimVm = nil
|
83
85
|
@cacheLock.synchronize(:SH) do
|
84
86
|
raise MiqException::MiqVimResourceNotFound, "Could not find VM: #{vmMor}" unless (vmh = virtualMachinesByMor_locked[vmMor])
|
85
87
|
miqVimVm = MiqVimVm.new(self, conditionalCopy(vmh))
|
86
88
|
end
|
87
|
-
|
89
|
+
logger.info "MiqVimMod.getVimVmByMor: returning object #{miqVimVm.object_id}"
|
88
90
|
(miqVimVm)
|
89
91
|
end # def getVimVmByMor
|
90
92
|
|
@@ -93,36 +95,36 @@ class MiqVim < MiqVimInventory
|
|
93
95
|
# matches the criteria defined by the filter.
|
94
96
|
#
|
95
97
|
def getVimVmByFilter(filter)
|
96
|
-
|
98
|
+
logger.info "MiqVimMod.getVimVmByFilter: called"
|
97
99
|
miqVimVm = nil
|
98
100
|
@cacheLock.synchronize(:SH) do
|
99
101
|
vms = applyFilter(virtualMachinesByMor_locked.values, filter)
|
100
102
|
raise MiqException::MiqVimResourceNotFound, "getVimVmByFilter: Could not find VM matching filter" if vms.empty?
|
101
103
|
miqVimVm = MiqVimVm.new(self, conditionalCopy(vms[0]))
|
102
104
|
end
|
103
|
-
|
105
|
+
logger.info "MiqVimMod.getVimVmByFilter: returning object #{miqVimVm.object_id}"
|
104
106
|
(miqVimVm)
|
105
107
|
end # def getVimVmByFilter
|
106
108
|
|
107
109
|
def getVimHost(name)
|
108
|
-
|
110
|
+
logger.info "MiqVimMod.getVimHost: called"
|
109
111
|
miqVimHost = nil
|
110
112
|
@cacheLock.synchronize(:SH) do
|
111
113
|
raise MiqException::MiqVimResourceNotFound, "Could not find Host: #{name}" unless (hh = hostSystems_locked[name])
|
112
114
|
miqVimHost = MiqVimHost.new(self, conditionalCopy(hh))
|
113
115
|
end
|
114
|
-
|
116
|
+
logger.info "MiqVimMod.getVimHost: returning object #{miqVimHost.object_id}"
|
115
117
|
(miqVimHost)
|
116
118
|
end # def getVimHost
|
117
119
|
|
118
120
|
def getVimHostByMor(hMor)
|
119
|
-
|
121
|
+
logger.info "MiqVimMod.getVimHostByMor: called"
|
120
122
|
miqVimHost = nil
|
121
123
|
@cacheLock.synchronize(:SH) do
|
122
124
|
raise MiqException::MiqVimResourceNotFound, "Could not find Host: #{hMor}" unless (hh = hostSystemsByMor_locked[hMor])
|
123
125
|
miqVimHost = MiqVimHost.new(self, conditionalCopy(hh))
|
124
126
|
end
|
125
|
-
|
127
|
+
logger.info "MiqVimMod.getVimHostByMor: returning object #{miqVimHost.object_id}"
|
126
128
|
(miqVimHost)
|
127
129
|
end # def getVimHostByMor
|
128
130
|
|
@@ -131,48 +133,48 @@ class MiqVim < MiqVimInventory
|
|
131
133
|
# matches the criteria defined by the filter.
|
132
134
|
#
|
133
135
|
def getVimHostByFilter(filter)
|
134
|
-
|
136
|
+
logger.info "MiqVimMod.getVimHostByFilter: called"
|
135
137
|
miqVimHost = nil
|
136
138
|
@cacheLock.synchronize(:SH) do
|
137
139
|
ha = applyFilter(hostSystemsByMor_locked.values, filter)
|
138
140
|
raise MiqException::MiqVimResourceNotFound, "getVimHostByFilter: Could not find Host matching filter" if ha.empty?
|
139
141
|
miqVimHost = MiqVimHost.new(self, conditionalCopy(ha[0]))
|
140
142
|
end
|
141
|
-
|
143
|
+
logger.info "MiqVimMod.getVimHostByFilter: returning object #{miqVimHost.object_id}"
|
142
144
|
(miqVimHost)
|
143
145
|
end # def getVimHostByFilter
|
144
146
|
|
145
147
|
def getVimFolder(name)
|
146
|
-
|
148
|
+
logger.info "MiqVimMod.getVimFolder: called"
|
147
149
|
miqVimFolder = nil
|
148
150
|
@cacheLock.synchronize(:SH) do
|
149
151
|
raise MiqException::MiqVimResourceNotFound, "Could not find Folder: #{name}" unless (fh = folders_locked[name])
|
150
152
|
miqVimFolder = MiqVimFolder.new(self, conditionalCopy(fh))
|
151
153
|
end
|
152
|
-
|
154
|
+
logger.info "MiqVimMod.getVimFolder: returning object #{miqVimFolder.object_id}"
|
153
155
|
(miqVimFolder)
|
154
156
|
end # def getVimFolder
|
155
157
|
|
156
158
|
def getVimFolderByMor(fMor)
|
157
|
-
|
159
|
+
logger.info "MiqVimMod.getVimFolderByMor: called"
|
158
160
|
miqVimFolder = nil
|
159
161
|
@cacheLock.synchronize(:SH) do
|
160
162
|
raise MiqException::MiqVimResourceNotFound, "Could not find Folder: #{fMor}" unless (fh = foldersByMor_locked[fMor])
|
161
163
|
miqVimFolder = MiqVimFolder.new(self, conditionalCopy(fh))
|
162
164
|
end
|
163
|
-
|
165
|
+
logger.info "MiqVimMod.getVimFolderByMor: returning object #{miqVimFolder.object_id}"
|
164
166
|
(miqVimFolder)
|
165
167
|
end # def getVimFolderByMor
|
166
168
|
|
167
169
|
def getVimFolderByFilter(filter)
|
168
|
-
|
170
|
+
logger.info "MiqVimMod.getVimFolderByFilter: called"
|
169
171
|
miqVimFolder = nil
|
170
172
|
@cacheLock.synchronize(:SH) do
|
171
173
|
folders = applyFilter(foldersByMor_locked.values, filter)
|
172
174
|
raise MiqException::MiqVimResourceNotFound, "getVimFolderByFilter: Could not find folder matching filter" if folders.empty?
|
173
175
|
miqVimFolder = MiqVimFolder.new(self, conditionalCopy(folders[0]))
|
174
176
|
end
|
175
|
-
|
177
|
+
logger.info "MiqVimMod.getVimFolderByFilter: returning object #{miqVimFolder.object_id}"
|
176
178
|
(miqVimFolder)
|
177
179
|
end # def getVimFolderByFilter
|
178
180
|
|
@@ -180,36 +182,36 @@ class MiqVim < MiqVimInventory
|
|
180
182
|
# Cluster
|
181
183
|
#
|
182
184
|
def getVimCluster(name)
|
183
|
-
|
185
|
+
logger.info "MiqVimMod.getVimCluster: called"
|
184
186
|
miqVimCluster = nil
|
185
187
|
@cacheLock.synchronize(:SH) do
|
186
188
|
raise MiqException::MiqVimResourceNotFound, "Could not find Cluster: #{name}" unless (ch = clusterComputeResources_locked[name])
|
187
189
|
miqVimCluster = MiqVimCluster.new(self, conditionalCopy(ch))
|
188
190
|
end
|
189
|
-
|
191
|
+
logger.info "MiqVimMod.getVimCluster: returning object #{miqVimCluster.object_id}"
|
190
192
|
(miqVimCluster)
|
191
193
|
end # def getVimCluster
|
192
194
|
|
193
195
|
def getVimClusterByMor(cMor)
|
194
|
-
|
196
|
+
logger.info "MiqVimMod.getVimClusterByMor: called"
|
195
197
|
miqVimCluster = nil
|
196
198
|
@cacheLock.synchronize(:SH) do
|
197
199
|
raise MiqException::MiqVimResourceNotFound, "Could not find Cluster: #{cMor}" unless (ch = clusterComputeResourcesByMor_locked[cMor])
|
198
200
|
miqVimCluster = MiqVimCluster.new(self, conditionalCopy(ch))
|
199
201
|
end
|
200
|
-
|
202
|
+
logger.info "MiqVimMod.getVimClusterByMor: returning object #{miqVimCluster.object_id}"
|
201
203
|
(miqVimCluster)
|
202
204
|
end # def getVimClusterByMor
|
203
205
|
|
204
206
|
def getVimClusterByFilter(filter)
|
205
|
-
|
207
|
+
logger.info "MiqVimMod.getVimClusterByFilter: called"
|
206
208
|
miqVimCluster = nil
|
207
209
|
@cacheLock.synchronize(:SH) do
|
208
210
|
clusters = applyFilter(clusterComputeResourcesByMor_locked.values, filter)
|
209
211
|
raise MiqException::MiqVimResourceNotFound, "getVimClusterByFilter: Could not find Cluster matching filter" if clusters.empty?
|
210
212
|
miqVimCluster = MiqVimCluster.new(self, conditionalCopy(clusters[0]))
|
211
213
|
end
|
212
|
-
|
214
|
+
logger.info "MiqVimMod.getVimClusterByFilter: returning object #{miqVimCluster.object_id}"
|
213
215
|
(miqVimCluster)
|
214
216
|
end # def getVimClusterByFilter
|
215
217
|
|
@@ -217,54 +219,54 @@ class MiqVim < MiqVimInventory
|
|
217
219
|
# DataStore
|
218
220
|
#
|
219
221
|
def getVimDataStore(dsName)
|
220
|
-
|
222
|
+
logger.info "MiqVimMod.getVimDataStore: called"
|
221
223
|
miqVimDs = nil
|
222
224
|
@cacheLock.synchronize(:SH) do
|
223
225
|
raise MiqException::MiqVimResourceNotFound, "Could not find datastore: #{dsName}" unless (dsh = dataStores_locked[dsName])
|
224
226
|
miqVimDs = MiqVimDataStore.new(self, conditionalCopy(dsh))
|
225
227
|
end
|
226
|
-
|
228
|
+
logger.info "MiqVimMod.getVimDataStore: returning object #{miqVimDs.object_id}"
|
227
229
|
(miqVimDs)
|
228
230
|
end
|
229
231
|
|
230
232
|
def getVimDataStoreByMor(dsMor)
|
231
|
-
|
233
|
+
logger.info "MiqVimMod.getVimDataStoreByMor: called"
|
232
234
|
miqVimDs = nil
|
233
235
|
@cacheLock.synchronize(:SH) do
|
234
236
|
raise MiqException::MiqVimResourceNotFound, "Could not find datastore: #{dsMor}" unless (dsh = dataStoresByMor_locked[dsMor])
|
235
237
|
miqVimDs = MiqVimDataStore.new(self, conditionalCopy(dsh))
|
236
238
|
end
|
237
|
-
|
239
|
+
logger.info "MiqVimMod.getVimDataStoreByMor: returning object #{miqVimDs.object_id}"
|
238
240
|
(miqVimDs)
|
239
241
|
end
|
240
242
|
|
241
243
|
def getVimPerfHistory
|
242
244
|
miqVimPh = MiqVimPerfHistory.new(self)
|
243
|
-
|
245
|
+
logger.info "MiqVimMod.getVimPerfHistory: returning object #{miqVimPh.object_id}"
|
244
246
|
(miqVimPh)
|
245
247
|
end
|
246
248
|
|
247
249
|
def getVimEventHistory(eventFilterSpec = nil, pgSize = 20)
|
248
250
|
miqVimEh = MiqVimEventHistoryCollector.new(self, eventFilterSpec, pgSize)
|
249
|
-
|
251
|
+
logger.info "MiqVimMod.getVimEventHistory: returning object #{miqVimEh.object_id}"
|
250
252
|
(miqVimEh)
|
251
253
|
end
|
252
254
|
|
253
255
|
def getMiqCustomFieldsManager
|
254
256
|
miqVimCfm = MiqCustomFieldsManager.new(self)
|
255
|
-
|
257
|
+
logger.info "MiqVimMod.getMiqCustomFieldsManager: returning object #{miqVimCfm.object_id}"
|
256
258
|
(miqVimCfm)
|
257
259
|
end
|
258
260
|
|
259
261
|
def getVimAlarmManager
|
260
262
|
miqVimAm = MiqVimAlarmManager.new(self)
|
261
|
-
|
263
|
+
logger.info "MiqVimMod.getVimAlarmManager: returning object #{miqVimAm.object_id}"
|
262
264
|
(miqVimAm)
|
263
265
|
end
|
264
266
|
|
265
267
|
def getVimCustomizationSpecManager
|
266
268
|
miqVimCsm = MiqVimCustomizationSpecManager.new(self)
|
267
|
-
|
269
|
+
logger.info "MiqVimMod.getVimCustomizationSpecManager: returning object #{miqVimCsm.object_id}"
|
268
270
|
(miqVimCsm)
|
269
271
|
end
|
270
272
|
|
@@ -279,28 +281,28 @@ class MiqVim < MiqVimInventory
|
|
279
281
|
def start_monitor_updates_thread(preLoad)
|
280
282
|
checkForOrphanedMonitors
|
281
283
|
log_prefix = "MiqVim.initialize (#{@connId})"
|
282
|
-
|
284
|
+
logger.info "#{log_prefix}: starting update monitor thread"
|
283
285
|
@updateThread = Thread.new { monitor(preLoad) }
|
284
286
|
@updateThread[:vim_connection_id] = connId
|
285
|
-
|
287
|
+
logger.info "#{log_prefix}: waiting for update monitor to become ready"
|
286
288
|
until @updateMonitorReady
|
287
289
|
raise @error unless @error.nil?
|
288
290
|
break unless @updateThread.alive?
|
289
291
|
Thread.pass
|
290
292
|
end
|
291
|
-
|
293
|
+
logger.info "#{log_prefix}: update monitor ready"
|
292
294
|
end
|
293
295
|
|
294
296
|
def checkForOrphanedMonitors
|
295
297
|
log_prefix = "MiqVim.checkForOrphanedMonitors (#{@connId})"
|
296
|
-
|
298
|
+
logger.debug "#{log_prefix}: called..."
|
297
299
|
Thread.list.each do |thr|
|
298
300
|
next unless thr[:vim_connection_id] == connId
|
299
|
-
|
301
|
+
logger.error "#{log_prefix}: Terminating orphaned update monitor <#{thr.object_id}>"
|
300
302
|
thr.raise "Orphaned update monitor (#{@connId}) <#{thr.object_id}>, terminated by <#{Thread.current.object_id}>"
|
301
303
|
thr.wakeup
|
302
304
|
end
|
303
|
-
|
305
|
+
logger.debug "#{log_prefix}: done."
|
304
306
|
end
|
305
307
|
|
306
308
|
def monitor(preLoad)
|
@@ -308,7 +310,7 @@ class MiqVim < MiqVimInventory
|
|
308
310
|
begin
|
309
311
|
monitorUpdates(preLoad)
|
310
312
|
rescue Exception => err
|
311
|
-
|
313
|
+
logger.info "#{log_prefix}: returned from monitorUpdates via #{err.class} exception"
|
312
314
|
@error = err
|
313
315
|
end
|
314
316
|
end
|
@@ -318,9 +320,9 @@ class MiqVim < MiqVimInventory
|
|
318
320
|
stopUpdateMonitor
|
319
321
|
begin
|
320
322
|
if @updateThread != Thread.current && @updateThread.alive?
|
321
|
-
|
323
|
+
logger.info "#{log_prefix}: waiting for Update Monitor Thread...Starting"
|
322
324
|
@updateThread.join
|
323
|
-
|
325
|
+
logger.info "#{log_prefix}: waiting for Update Monitor Thread...Complete"
|
324
326
|
end
|
325
327
|
rescue
|
326
328
|
end
|
@@ -8,10 +8,11 @@ require 'VMwareWebService/VimService'
|
|
8
8
|
class MiqVimClientBase < VimService
|
9
9
|
@@receiveTimeout = 120
|
10
10
|
|
11
|
-
attr_reader :server, :username, :password, :connId
|
11
|
+
attr_reader :server, :port, :username, :password, :connId
|
12
12
|
|
13
|
-
def initialize(server
|
13
|
+
def initialize(server:, username:, password:, port: 443, ssl_options: {})
|
14
14
|
@server = server
|
15
|
+
@port = port
|
15
16
|
@username = username
|
16
17
|
@password = password
|
17
18
|
@connId = "#{@server}_#{@username}"
|
@@ -19,13 +20,13 @@ class MiqVimClientBase < VimService
|
|
19
20
|
@receiveTimeout = @@receiveTimeout
|
20
21
|
|
21
22
|
on_http_client_init do |http_client, _headers|
|
22
|
-
http_client.
|
23
|
-
http_client.ssl_config.
|
24
|
-
http_client.
|
23
|
+
http_client.receive_timeout = @receiveTimeout
|
24
|
+
http_client.ssl_config.verify_mode = ssl_options[:verify_ssl] || OpenSSL::SSL::VERIFY_NONE
|
25
|
+
http_client.ssl_config.cert_store.add_cert(OpenSSL::X509::Certificate.new(ssl_options[:ca_file])) if ssl_options[:ca_file]
|
25
26
|
end
|
26
27
|
|
27
|
-
on_log_header { |msg|
|
28
|
-
on_log_body { |msg|
|
28
|
+
on_log_header { |msg| logger.info msg }
|
29
|
+
on_log_body { |msg| logger.debug msg } if $miq_wiredump
|
29
30
|
|
30
31
|
super(:uri => sdk_uri, :version => 1)
|
31
32
|
|
@@ -34,7 +35,7 @@ class MiqVimClientBase < VimService
|
|
34
35
|
end
|
35
36
|
|
36
37
|
def sdk_uri
|
37
|
-
URI::HTTPS.build(:host => server, :path => "/sdk")
|
38
|
+
URI::HTTPS.build(:host => server, :port => port, :path => "/sdk")
|
38
39
|
end
|
39
40
|
|
40
41
|
def self.receiveTimeout=(val)
|
@@ -59,7 +60,7 @@ class MiqVimClientBase < VimService
|
|
59
60
|
end
|
60
61
|
|
61
62
|
def connect
|
62
|
-
|
63
|
+
logger.debug { "#{self.class.name}.connect(#{@connId}): #{$PROGRAM_NAME} #{ARGV.join(' ')}" }
|
63
64
|
@connLock.synchronize(:EX) do
|
64
65
|
return if @connected
|
65
66
|
login(@sic.sessionManager, @username, @password)
|
@@ -68,7 +69,7 @@ class MiqVimClientBase < VimService
|
|
68
69
|
end
|
69
70
|
|
70
71
|
def disconnect
|
71
|
-
|
72
|
+
logger.debug { "#{self.class.name}.disconnect(#{@connId}): #{$PROGRAM_NAME} #{ARGV.join(' ')}" }
|
72
73
|
@connLock.synchronize(:EX) do
|
73
74
|
return unless @connected
|
74
75
|
logout(@sic.sessionManager)
|
@@ -1,4 +1,8 @@
|
|
1
|
+
require 'VMwareWebService/logging'
|
2
|
+
|
1
3
|
class MiqVimCluster
|
4
|
+
include VMwareWebService::Logging
|
5
|
+
|
2
6
|
attr_reader :name, :invObj
|
3
7
|
|
4
8
|
def initialize(invObj, ch)
|
@@ -44,9 +48,9 @@ class MiqVimCluster
|
|
44
48
|
cs.vmFolder = ah[:vmFolder] unless ah[:vmFolder].nil?
|
45
49
|
end
|
46
50
|
|
47
|
-
|
51
|
+
logger.info "MiqVimCluster(#{@invObj.server}, #{@invObj.username}).addHost: calling addHost_Task"
|
48
52
|
taskMor = @invObj.addHost_Task(@cMor, cspec, ah[:asConnected].to_s, ah[:resourcePool], ah[:license])
|
49
|
-
|
53
|
+
logger.info "MiqVimCluster(#{@invObj.server}, #{@invObj.username}).addHost: returned from addHost_Task"
|
50
54
|
return taskMor unless ah[:wait]
|
51
55
|
waitForTask(taskMor)
|
52
56
|
end # def addHost
|
@@ -1,7 +1,10 @@
|
|
1
1
|
require 'sync'
|
2
2
|
require 'util/miq-extensions' # Required patch to open-uri for get_file_content
|
3
|
+
require 'VMwareWebService/logging'
|
3
4
|
|
4
5
|
class MiqVimDataStore
|
6
|
+
include VMwareWebService::Logging
|
7
|
+
|
5
8
|
attr_reader :accessible, :multipleHostAccess, :name, :dsType, :url, :freeBytes, :capacityBytes, :uncommitted, :invObj
|
6
9
|
|
7
10
|
def initialize(invObj, dsh)
|
@@ -127,13 +130,13 @@ class MiqVimDataStore
|
|
127
130
|
|
128
131
|
taskMor = nil
|
129
132
|
if recurse
|
130
|
-
|
133
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsSearch: calling searchDatastoreSubFolders_Task"
|
131
134
|
taskMor = @invObj.searchDatastoreSubFolders_Task(browserMor, dsPath, searchSpec)
|
132
|
-
|
135
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsSearch: returned from searchDatastoreSubFolders_Task"
|
133
136
|
else
|
134
|
-
|
137
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsSearch: calling searchDatastore_Task"
|
135
138
|
taskMor = @invObj.searchDatastore_Task(browserMor, dsPath, searchSpec)
|
136
|
-
|
139
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsSearch: returned from searchDatastore_Task"
|
137
140
|
end
|
138
141
|
|
139
142
|
retObj = waitForTask(taskMor)
|
@@ -200,9 +203,9 @@ class MiqVimDataStore
|
|
200
203
|
hdbs.sortFoldersFirst = "true"
|
201
204
|
end
|
202
205
|
|
203
|
-
|
206
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsHash_locked: calling searchDatastoreSubFolders_Task"
|
204
207
|
taskMor = @invObj.searchDatastoreSubFolders_Task(browser_locked, "[#{@name}]", searchSpec)
|
205
|
-
|
208
|
+
logger.info "MiqVimDataStore(#{@invObj.server}, #{@invObj.username}).dsHash_locked: returned from searchDatastoreSubFolders_Task"
|
206
209
|
|
207
210
|
retObj = waitForTask(taskMor)
|
208
211
|
retObj = [retObj] unless retObj.kind_of?(Array)
|