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
@@ -1,8 +1,11 @@
|
|
1
1
|
require "handsoap"
|
2
2
|
require 'active_support/core_ext/numeric/bytes'
|
3
|
+
require 'VMwareWebService/logging'
|
3
4
|
require 'VMwareWebService/VimTypes'
|
4
5
|
|
5
6
|
class VimService < Handsoap::Service
|
7
|
+
include VMwareWebService::Logging
|
8
|
+
|
6
9
|
attr_reader :sic, :about, :apiVersion, :isVirtualCenter, :v20, :v2, :v4, :v5, :v6, :serviceInstanceMor, :session_cookie
|
7
10
|
|
8
11
|
Handsoap.http_driver = :HTTPClient
|
@@ -1291,14 +1294,14 @@ class VimService < Handsoap::Service
|
|
1291
1294
|
if @xml_payload_len > @xml_payload_max
|
1292
1295
|
@xml_payload_len = 0
|
1293
1296
|
|
1294
|
-
|
1297
|
+
logger.debug("#{log_prefix} Running garbage collection")
|
1295
1298
|
|
1296
1299
|
# Force a GC, because Ruby's GC is triggered on number of objects without
|
1297
1300
|
# regard to size. The object we just freed may not be released right away.
|
1298
1301
|
gc_time = Benchmark.realtime { GC.start }
|
1299
1302
|
|
1300
1303
|
gc_log_level = gc_time >= 5 ? :warn : :debug
|
1301
|
-
|
1304
|
+
logger.send(gc_log_level, "#{log_prefix} Garbage collection took #{gc_time} seconds")
|
1302
1305
|
end
|
1303
1306
|
end
|
1304
1307
|
end
|
@@ -2,6 +2,8 @@ require 'drb/drb'
|
|
2
2
|
require 'sync'
|
3
3
|
require 'ffi-vix_disk_lib/const'
|
4
4
|
require 'ffi-vix_disk_lib/enum'
|
5
|
+
require 'VMwareWebService/logging'
|
6
|
+
|
5
7
|
#
|
6
8
|
# The path to the VixDiskLib directory to be added to the process' LD_LIBRARY_PATH
|
7
9
|
#
|
@@ -17,6 +19,8 @@ end
|
|
17
19
|
SERVER_PATH = File.expand_path(__dir__)
|
18
20
|
|
19
21
|
class VixDiskLib
|
22
|
+
include VMwareWebService::Logging
|
23
|
+
|
20
24
|
VIXDISKLIB_FLAG_OPEN_READ_ONLY = FFI::VixDiskLib::API::VIXDISKLIB_FLAG_OPEN_READ_ONLY
|
21
25
|
@initialized = nil
|
22
26
|
@drb_services = []
|
@@ -66,12 +70,12 @@ class VixDiskLib
|
|
66
70
|
i = 0
|
67
71
|
@drb_services.each do |vdl_service|
|
68
72
|
i += 1
|
69
|
-
|
73
|
+
logger.info "VixDiskLib.exit: shutting down service #{i} of #{@drb_services.size}"
|
70
74
|
unless vdl_service.nil?
|
71
75
|
begin
|
72
76
|
vdl_service.shutdown = true
|
73
77
|
rescue DRb::DRbConnError
|
74
|
-
|
78
|
+
logger.info "VixDiskLib.exit: DRb connection closed due to service shutdown. Continuing"
|
75
79
|
end
|
76
80
|
end
|
77
81
|
end
|
@@ -95,8 +99,8 @@ class VixDiskLib
|
|
95
99
|
end
|
96
100
|
|
97
101
|
my_env["LD_LIBRARY_PATH"] = (my_env["LD_LIBRARY_PATH"].to_s.split(':') << VIXDISKLIB_PATH).compact.join(":")
|
98
|
-
raise VixDiskLibError, "VixDiskLib.connect() failed: No
|
99
|
-
my_env["LOG_FILE"] =
|
102
|
+
raise VixDiskLibError, "VixDiskLib.connect() failed: No logger defined" unless logger
|
103
|
+
my_env["LOG_FILE"] = logger.logdev.filename.to_s if logger.logdev.kind_of?(Logger::LogDevice)
|
100
104
|
|
101
105
|
my_env
|
102
106
|
end
|
@@ -112,7 +116,7 @@ class VixDiskLib
|
|
112
116
|
server_cmd = "ruby #{SERVER_PATH}/VixDiskLibServer.rb"
|
113
117
|
log_target = my_env["LOG_FILE"] ? [my_env["LOG_FILE"], "a"] : $stdout
|
114
118
|
|
115
|
-
|
119
|
+
logger.info "VixDiskLib.start_service: running command = #{server_cmd}"
|
116
120
|
|
117
121
|
pid = Kernel.spawn(my_env, server_cmd,
|
118
122
|
[:out, :err] => log_target,
|
@@ -122,7 +126,7 @@ class VixDiskLib
|
|
122
126
|
uri_writer.close
|
123
127
|
proc_reader.close
|
124
128
|
Process.detach(pid)
|
125
|
-
|
129
|
+
logger.info "VixDiskLibServer Process #{pid} started"
|
126
130
|
DRb.start_service
|
127
131
|
retry_num = 5
|
128
132
|
uri = get_uri(uri_reader)
|
@@ -11,17 +11,17 @@ require 'VMwareWebService/VixDiskLib/vdl_wrapper'
|
|
11
11
|
class VixDiskLibError < RuntimeError
|
12
12
|
end
|
13
13
|
|
14
|
-
$vim_log = Logger.new $stdout
|
15
|
-
|
16
14
|
class VDDKFactory
|
17
15
|
include DRb::DRbUndumped
|
18
16
|
attr_accessor :shutdown
|
19
17
|
attr_accessor :running
|
18
|
+
attr_reader :logger
|
20
19
|
|
21
20
|
def initialize
|
22
21
|
@shutdown = nil
|
23
22
|
@started = nil
|
24
23
|
@running = nil
|
24
|
+
@logger = Logger.new($stdout)
|
25
25
|
end
|
26
26
|
|
27
27
|
def init
|
@@ -43,14 +43,14 @@ class VDDKFactory
|
|
43
43
|
thr = DRb.thread
|
44
44
|
DRb.stop_service
|
45
45
|
thr.join unless thr.nil?
|
46
|
-
|
46
|
+
logger.info "Finished shutting down DRb"
|
47
47
|
end
|
48
48
|
|
49
49
|
def shut_down_service(msg)
|
50
|
-
|
50
|
+
logger.info msg.to_s
|
51
51
|
VdlWrapper.__exit__ if @started
|
52
52
|
@running = true
|
53
|
-
|
53
|
+
logger.info "VdlWrapper.__exit__ finished"
|
54
54
|
shut_down_drb
|
55
55
|
end
|
56
56
|
|
@@ -93,11 +93,13 @@ begin
|
|
93
93
|
STDOUT.sync = true
|
94
94
|
STDERR.sync = true
|
95
95
|
|
96
|
+
logger = Logger.new($stdout)
|
97
|
+
|
96
98
|
DRb.start_service(nil, vddk)
|
97
99
|
DRb.primary_server.verbose = true
|
98
100
|
uri_used = DRb.uri
|
99
101
|
Thread.abort_on_exception = true
|
100
|
-
|
102
|
+
logger.info "Started DRb service on URI #{uri_used}"
|
101
103
|
#
|
102
104
|
# Now write the URI used back to the parent (client) process to let it know which port was selected.
|
103
105
|
#
|
@@ -113,21 +115,21 @@ begin
|
|
113
115
|
trap('TERM') { vddk.shut_down_service("Termination Signal received"); exit }
|
114
116
|
|
115
117
|
Thread.new do
|
116
|
-
|
118
|
+
logger.info "Monitoring Thread"
|
117
119
|
#
|
118
120
|
# This will block until the SmartProxyWorker (our parent) exits
|
119
121
|
#
|
120
122
|
proc_reader.read
|
121
|
-
|
123
|
+
logger.info "Shutting down VixDiskLibServer - Worker has exited"
|
122
124
|
exit
|
123
125
|
end
|
124
126
|
#
|
125
127
|
# If we haven't been marked as started yet, wait for it.
|
126
128
|
# We may return immediately because startup (and more) has already happened.
|
127
129
|
#
|
128
|
-
|
130
|
+
logger.info "calling watchdog for startup"
|
129
131
|
vddk.wait_for_status("started", 1800)
|
130
|
-
|
132
|
+
logger.info "startup has happened, shutdown flag is #{vddk.shutdown}"
|
131
133
|
#
|
132
134
|
# Wait for the DRb server thread to finish before exiting.
|
133
135
|
#
|
@@ -140,8 +142,8 @@ begin
|
|
140
142
|
end
|
141
143
|
|
142
144
|
vddk.shut_down_service("Shutting Down VixDiskLibServer")
|
143
|
-
|
145
|
+
logger.info "Service has stopped"
|
144
146
|
rescue => err
|
145
|
-
|
146
|
-
|
147
|
+
logger.error "VixDiskLibServer ERROR: [#{err}]"
|
148
|
+
logger.debug "VixDiskLibServer ERROR: [#{err.backtrace.join("\n")}]"
|
147
149
|
end
|
@@ -2,14 +2,14 @@ require 'drb/drb'
|
|
2
2
|
require 'sync'
|
3
3
|
require 'ffi-vix_disk_lib/api_wrapper'
|
4
4
|
require 'VMwareWebService/VimTypes'
|
5
|
+
require 'VMwareWebService/logging'
|
5
6
|
require 'time'
|
6
7
|
|
7
|
-
$vim_log = Logger.new $stdout
|
8
|
-
|
9
8
|
VixDiskLibApi = FFI::VixDiskLib::ApiWrapper
|
10
9
|
class VdlWrapper
|
11
10
|
extend FFI::VixDiskLib::ApiWrapper
|
12
11
|
include DRb::DRbUndumped
|
12
|
+
include VMwareWebService::Logging
|
13
13
|
|
14
14
|
@initialized = false
|
15
15
|
@server_disk_count = 0
|
@@ -20,9 +20,9 @@ class VdlWrapper
|
|
20
20
|
@vddk = server
|
21
21
|
end
|
22
22
|
|
23
|
-
@info_log = ->(s) {
|
24
|
-
@warn_log = ->(s) {
|
25
|
-
@error_log = ->(s) {
|
23
|
+
@info_log = ->(s) { logger.info "VMware(VixDiskLib): #{s}" }
|
24
|
+
@warn_log = ->(s) { logger.warn "VMware(VixDiskLib): #{s}" }
|
25
|
+
@error_log = ->(s) { logger.error "VMware(VixDiskLib): #{s}" }
|
26
26
|
|
27
27
|
def self.init
|
28
28
|
return if @initialized
|
@@ -32,10 +32,10 @@ class VdlWrapper
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.dumpDisks(server_name)
|
35
|
-
|
35
|
+
logger.warn "*** Open VdlDisks for server #{server_name}"
|
36
36
|
@connection.dumpDisks unless @connection.nil? || @connection.serverName != server_name
|
37
37
|
@vddk.running = true
|
38
|
-
|
38
|
+
logger.warn "*** Open VdlDisks end"
|
39
39
|
end
|
40
40
|
|
41
41
|
def self.inc_server_disk_count
|
@@ -51,7 +51,7 @@ class VdlWrapper
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def self.connect(connect_parms)
|
54
|
-
|
54
|
+
logger.info "VdlWrapper.connect: #{connect_parms[:server_name]}"
|
55
55
|
raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized
|
56
56
|
raise VixDiskLibError, "Already connected to #{@connection.serverName}" if @connection
|
57
57
|
@connection = VdlConnection.new(connect_parms, @vddk)
|
@@ -59,7 +59,7 @@ class VdlWrapper
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def self.__disconnect__(conn_obj)
|
62
|
-
|
62
|
+
logger.info "VdlWrapper.__disconnect__: #{conn_obj.serverName}"
|
63
63
|
raise VixDiskLibError, "VixDiskLib is not initialized" unless @initialized
|
64
64
|
FFI::VixDiskLib::API.disconnect(conn_obj.vdl_connection)
|
65
65
|
@connection = nil
|
@@ -74,7 +74,7 @@ class VdlWrapper
|
|
74
74
|
# the DRb service (this process) to segfault during the exit sequence.
|
75
75
|
#
|
76
76
|
# super
|
77
|
-
|
77
|
+
logger.info "VixDiskLib has exited cleanly"
|
78
78
|
@vddk.running = true
|
79
79
|
@vddk.shutdown = true
|
80
80
|
@initialized = nil
|
@@ -90,7 +90,7 @@ class VdlConnection
|
|
90
90
|
|
91
91
|
def initialize(connect_parms, vddk)
|
92
92
|
@serverName = connect_parms[:server_name]
|
93
|
-
|
93
|
+
logger.info "VdlConnection.initialize: #{@serverName}"
|
94
94
|
@vdl_connection = VixDiskLibApi.connect(connect_parms)
|
95
95
|
@disks = []
|
96
96
|
@disk_lock = Sync.new
|
@@ -98,10 +98,10 @@ class VdlConnection
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def disconnect
|
101
|
-
|
101
|
+
logger.info "VdlConnection.disconnect: #{@serverName}"
|
102
102
|
@disk_lock.synchronize(:EX) do
|
103
103
|
if !@vdl_connection
|
104
|
-
|
104
|
+
logger.warn "VDLConnection.disconnect: server: #{@serverName} not connected"
|
105
105
|
else
|
106
106
|
__close_disks__
|
107
107
|
VdlWrapper.__disconnect__(self)
|
@@ -117,7 +117,7 @@ class VdlConnection
|
|
117
117
|
@vddk.running = true
|
118
118
|
@disk_lock.sync_lock(:SH) if (unlock = !@disk_lock.sync_locked?)
|
119
119
|
@disks.each do |d|
|
120
|
-
|
120
|
+
logger.warn " VdlDisk: #{d.path}, opened: #{d.timeStamp}"
|
121
121
|
end
|
122
122
|
ensure
|
123
123
|
@disk_lock.sync_unlock if unlock
|
@@ -130,11 +130,11 @@ class VdlConnection
|
|
130
130
|
disk = VdlDisk.new(self, path, flags)
|
131
131
|
@disks << disk
|
132
132
|
nd = VdlWrapper.inc_server_disk_count
|
133
|
-
|
134
|
-
if nd >= MAX_DISK_WARN
|
135
|
-
|
136
|
-
|
137
|
-
|
133
|
+
logger.info "VdlConnection.getDisk: #{@serverName} open disks = #{nd}"
|
134
|
+
if nd >= MAX_DISK_WARN
|
135
|
+
logger.warn "VdlConnection::getDisk: connection to server: #{@serverName}"
|
136
|
+
logger.warn "VdlConnection::getDisk: number of open disks = #{nd}"
|
137
|
+
logger.warn "VdlConnection::getDisk: subsequent open calls may fail"
|
138
138
|
VdlWrapper.dumpDisks(@serverName)
|
139
139
|
end
|
140
140
|
return disk
|
@@ -147,11 +147,11 @@ class VdlConnection
|
|
147
147
|
@vddk.running = true
|
148
148
|
VixDiskLibApi.close(diskObj.handle)
|
149
149
|
if !@vdl_connection
|
150
|
-
|
150
|
+
logger.warn "VDLConnection.disconnect: server: #{@serverName} not connected"
|
151
151
|
else
|
152
152
|
@disks.delete(diskObj)
|
153
153
|
nd = VdlWrapper.dec_server_disk_count
|
154
|
-
|
154
|
+
logger.warn "VdlConnection.__close_disk__: #{@serverName} open disks = #{nd}"
|
155
155
|
end
|
156
156
|
ensure
|
157
157
|
@disk_lock.sync_unlock if unlock
|
@@ -161,7 +161,7 @@ class VdlConnection
|
|
161
161
|
raise VixDiskLibError,
|
162
162
|
"VdlConnection::__close_disks__: exclusive disk lock not held" unless @disk_lock.sync_exclusive?
|
163
163
|
if !@vdl_connection
|
164
|
-
|
164
|
+
logger.warn "VDLConnection.disconnect: server: #{@serverName} not connected"
|
165
165
|
else
|
166
166
|
@disks.each(&:close)
|
167
167
|
end
|
@@ -171,6 +171,7 @@ end # class VdlConnection
|
|
171
171
|
|
172
172
|
class VdlDisk
|
173
173
|
include DRb::DRbUndumped
|
174
|
+
include VMwareWebService::Logging
|
174
175
|
|
175
176
|
attr_reader :path, :flags, :handle, :sectorSize, :timeStamp, :info
|
176
177
|
|
@@ -178,7 +179,7 @@ class VdlDisk
|
|
178
179
|
|
179
180
|
def initialize(conn_obj, path, flags)
|
180
181
|
@time_stamp = Time.now
|
181
|
-
|
182
|
+
logger.debug { "VdlDisk.new <#{object_id}>: opening #{path}" }
|
182
183
|
@connection = conn_obj
|
183
184
|
@handle = VixDiskLibApi.open(@connection.vdl_connection, path, flags)
|
184
185
|
@path = path
|
@@ -194,11 +195,11 @@ class VdlDisk
|
|
194
195
|
end
|
195
196
|
|
196
197
|
def close
|
197
|
-
|
198
|
+
logger.debug { "VdlDisk.close <#{ssId}>: closing #{@path}" }
|
198
199
|
@vddk.running = true
|
199
200
|
@handle_lock.synchronize(:EX) do
|
200
201
|
if !@handle
|
201
|
-
|
202
|
+
logger.debug { "VdlDisk.close: #{@path} not open" }
|
202
203
|
else
|
203
204
|
@connection.__close_disk__(self)
|
204
205
|
@handle = nil
|
@@ -2,8 +2,6 @@ module MiqException
|
|
2
2
|
class Error < RuntimeError; end
|
3
3
|
|
4
4
|
class MiqVimError < Error; end
|
5
|
-
class MiqVimBrokerStaleHandle < MiqVimError; end
|
6
|
-
class MiqVimBrokerUnavailable < MiqVimError; end
|
7
5
|
# MiqVimResourceNotFound is derived from RuntimeError to ensure it gets marshalled over DRB properly.
|
8
6
|
# TODO: Rename MiqException::Error class to avoid issues returning derived error classes over DRB.
|
9
7
|
# Then change MiqVimResourceNotFound to derive from MiqVimError
|
data/lib/vmware_web_service.rb
CHANGED
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:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -121,7 +121,7 @@ dependencies:
|
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: 1.0.0
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
|
-
name: manageiq-
|
124
|
+
name: manageiq-style
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - ">="
|
@@ -162,20 +162,6 @@ dependencies:
|
|
162
162
|
- - "~>"
|
163
163
|
- !ruby/object:Gem::Version
|
164
164
|
version: '3.0'
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
|
-
name: rubocop
|
167
|
-
requirement: !ruby/object:Gem::Requirement
|
168
|
-
requirements:
|
169
|
-
- - "~>"
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: '0.52'
|
172
|
-
type: :development
|
173
|
-
prerelease: false
|
174
|
-
version_requirements: !ruby/object:Gem::Requirement
|
175
|
-
requirements:
|
176
|
-
- - "~>"
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: '0.52'
|
179
165
|
- !ruby/object:Gem::Dependency
|
180
166
|
name: simplecov
|
181
167
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,8 +182,6 @@ executables: []
|
|
196
182
|
extensions: []
|
197
183
|
extra_rdoc_files: []
|
198
184
|
files:
|
199
|
-
- lib/VMwareWebService/DMiqVim.rb
|
200
|
-
- lib/VMwareWebService/DMiqVimSync.rb
|
201
185
|
- lib/VMwareWebService/MiqCustomFieldsManager.rb
|
202
186
|
- lib/VMwareWebService/MiqHostAdvancedOptionManager.rb
|
203
187
|
- lib/VMwareWebService/MiqHostDatastoreSystem.rb
|
@@ -209,11 +193,8 @@ files:
|
|
209
193
|
- lib/VMwareWebService/MiqHostVirtualNicManager.rb
|
210
194
|
- lib/VMwareWebService/MiqVim.rb
|
211
195
|
- lib/VMwareWebService/MiqVimAlarmManager.rb
|
212
|
-
- lib/VMwareWebService/MiqVimBroker.rb
|
213
|
-
- lib/VMwareWebService/MiqVimBrokerMods.rb
|
214
196
|
- lib/VMwareWebService/MiqVimClientBase.rb
|
215
197
|
- lib/VMwareWebService/MiqVimCluster.rb
|
216
|
-
- lib/VMwareWebService/MiqVimCoreUpdater.rb
|
217
198
|
- lib/VMwareWebService/MiqVimCustomizationSpecManager.rb
|
218
199
|
- lib/VMwareWebService/MiqVimDataStore.rb
|
219
200
|
- lib/VMwareWebService/MiqVimDump.rb
|
@@ -238,7 +219,7 @@ files:
|
|
238
219
|
- lib/VMwareWebService/broker_timeout.rb
|
239
220
|
- lib/VMwareWebService/esx_thumb_print.rb
|
240
221
|
- lib/VMwareWebService/exception.rb
|
241
|
-
- lib/VMwareWebService/
|
222
|
+
- lib/VMwareWebService/logging.rb
|
242
223
|
- lib/VMwareWebService/thumb_print.rb
|
243
224
|
- lib/VMwareWebService/vcenter_thumb_print.rb
|
244
225
|
- lib/VMwareWebService/version.rb
|
@@ -4451,9 +4432,9 @@ require_paths:
|
|
4451
4432
|
- lib
|
4452
4433
|
required_ruby_version: !ruby/object:Gem::Requirement
|
4453
4434
|
requirements:
|
4454
|
-
- - "
|
4435
|
+
- - ">="
|
4455
4436
|
- !ruby/object:Gem::Version
|
4456
|
-
version:
|
4437
|
+
version: 2.5.0
|
4457
4438
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
4458
4439
|
requirements:
|
4459
4440
|
- - ">="
|