fluent-plugin-kubernetes-objects 1.1.9 → 1.1.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7602dda42aa5fe4f927a47b9ee072345c59ed9586e29292ed0c872b64b409d2f
4
- data.tar.gz: 063f744a457182eb665326519ac7fcb0ca9e7b551302d3439a938bb6d499a430
3
+ metadata.gz: 31c2ee4ae02b06ac69811b0df399f70ca9641a0449b6891e715363d0122a2805
4
+ data.tar.gz: 945e7c6459aa6de997e6b578f7205a839c8300c6ab598852bb656e493659e1a3
5
5
  SHA512:
6
- metadata.gz: d7003b38041972e6dfac3641cf9fdfa78b9c7446d79016dc15532675c7b69c1cc4c5254a80ce5e312311acc7ccdb7e110def1e1dd95093fde61b5c9285a0956a
7
- data.tar.gz: 0bbaaaffee31289e17f8dfb5b730743032df146302edf102d101e5a7d71dcd94e43abd41967673ae8de1007e600eaf292ee682dee4e308612d7047110169a759
6
+ metadata.gz: 6c6c6197b3cfa30a9c12f53de39a49a2b9e6faa17ebb58e89999349df390422e458171d3fcb32207074b3cc3b801df619e188a4a7ef1646e2ef05c26ea26bb1a
7
+ data.tar.gz: 369e596ee739619b78f484ce4611b77726d8acb54b386da5c4f057d699a4aac71f3d47858b57a9f86c655ee10878c80463dab520247d1b556dc1be3de32ce7fd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes-objects (1.1.9)
4
+ fluent-plugin-kubernetes-objects (1.1.10)
5
5
  fluentd (>= 1.9.1)
6
6
  http_parser.rb (= 0.5.3)
7
7
  kubeclient (~> 4.6.0)
@@ -18,14 +18,14 @@ GEM
18
18
  docile (1.4.0)
19
19
  domain_name (0.5.20190701)
20
20
  unf (>= 0.0.5, < 1.0.0)
21
- ffi (1.15.4)
21
+ ffi (1.15.5)
22
22
  ffi-compiler (1.0.1)
23
23
  ffi (>= 1.0.0)
24
24
  rake
25
- fluentd (1.14.2)
25
+ fluentd (1.14.4)
26
26
  bundler
27
27
  cool.io (>= 1.4.5, < 2.0.0)
28
- http_parser.rb (>= 0.5.1, < 0.8.0)
28
+ http_parser.rb (>= 0.5.1, < 0.9.0)
29
29
  msgpack (>= 1.3.1, < 2.0.0)
30
30
  serverengine (>= 2.2.2, < 3.0.0)
31
31
  sigdump (~> 0.2.2)
@@ -51,11 +51,11 @@ GEM
51
51
  http (>= 3.0, < 5.0)
52
52
  recursive-open-struct (~> 1.0, >= 1.0.4)
53
53
  rest-client (~> 2.0)
54
- mime-types (3.3.1)
54
+ mime-types (3.4.1)
55
55
  mime-types-data (~> 3.2015)
56
- mime-types-data (3.2021.0901)
56
+ mime-types-data (3.2022.0105)
57
57
  minitest (5.14.4)
58
- msgpack (1.4.2)
58
+ msgpack (1.4.4)
59
59
  netrc (0.11.0)
60
60
  power_assert (2.0.1)
61
61
  public_suffix (4.0.6)
@@ -67,7 +67,7 @@ GEM
67
67
  mime-types (>= 1.16, < 4.0)
68
68
  netrc (~> 0.8)
69
69
  rexml (3.2.5)
70
- serverengine (2.2.4)
70
+ serverengine (2.2.5)
71
71
  sigdump (~> 0.2.2)
72
72
  sigdump (0.2.4)
73
73
  simplecov (0.21.2)
@@ -106,4 +106,4 @@ DEPENDENCIES
106
106
  webmock (~> 3.5)
107
107
 
108
108
  BUNDLED WITH
109
- 2.2.33
109
+ 2.3.9
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.9
1
+ 1.1.10
@@ -200,7 +200,12 @@ module Fluent::Plugin
200
200
  tag = generate_tag resource_name
201
201
  while thread_current_running?
202
202
  log.debug "Going to pull #{resource_name}"
203
- response = @client.public_send "get_#{resource_name}", options
203
+ begin
204
+ response = @client.public_send "get_#{resource_name}", options
205
+ rescue Kubeclient::ResourceNotFoundError, NoMethodError
206
+ log.error "resource '#{resource_name}' not found. Stopped pulling it"
207
+ break
208
+ end
204
209
  now = Fluent::Engine.now
205
210
  es = Fluent::MultiEventStream.new
206
211
 
@@ -243,22 +248,27 @@ module Fluent::Plugin
243
248
 
244
249
  thread_create :"watch_#{resource_name}" do
245
250
  while thread_current_running?
246
- @client.public_send("watch_#{resource_name}", options).tap do |watcher|
247
- tag = generate_tag "#{resource_name}"
248
- begin
249
- watcher.each do |entity|
250
- begin
251
- entity = JSON.parse(entity)
252
- router.emit tag, Fluent::Engine.now, entity
253
- options[:resource_version] = entity['object']['metadata']['resourceVersion']
254
- @storage.put resource_name, entity['object']['metadata']['resourceVersion']
255
- rescue => e
256
- log.info "Got exception #{e} parsing entity #{entity}. Resetting watcher."
251
+ begin
252
+ @client.public_send("watch_#{resource_name}", options).tap do |watcher|
253
+ tag = generate_tag "#{resource_name}"
254
+ begin
255
+ watcher.each do |entity|
256
+ begin
257
+ entity = JSON.parse(entity)
258
+ router.emit tag, Fluent::Engine.now, entity
259
+ options[:resource_version] = entity['object']['metadata']['resourceVersion']
260
+ @storage.put resource_name, entity['object']['metadata']['resourceVersion']
261
+ rescue => e
262
+ log.info "Got exception #{e} parsing entity #{entity}. Resetting watcher."
263
+ end
257
264
  end
265
+ rescue => e
266
+ log.info "Got exception #{e}. Resetting watcher."
258
267
  end
259
- rescue => e
260
- log.info "Got exception #{e}. Resetting watcher."
261
268
  end
269
+ rescue Kubeclient::ResourceNotFoundError, NoMethodError
270
+ log.error "resource '#{resource_name}' not found. Stopped watching it"
271
+ break
262
272
  end
263
273
  end
264
274
  end
@@ -144,5 +144,28 @@ describe Fluent::Plugin::KubernetesObjectsInput do
144
144
  f.unlink
145
145
  end
146
146
  end
147
+ it "checks for invalid pull request" do
148
+ d = create_input_driver(<<~CONF)
149
+ kubernetes_url #{k8s_url}
150
+ <pull>
151
+ resource_name fakeResource
152
+ </pull>
153
+ CONF
154
+
155
+ d.run expect_emits: 0, timeout: 3
156
+
157
+ expect(d.logs.any? { |log| log.include? "resource 'fakeResource' not found." }).must_equal(true)
158
+ end
159
+ it "checks for invalid watch request" do
160
+ d = create_input_driver(<<~CONF)
161
+ kubernetes_url #{k8s_url}
162
+ <watch>
163
+ resource_name fakeResource
164
+ </watch>
165
+ CONF
166
+
167
+ d.run expect_emits: 0, timeout: 3
168
+ expect(d.logs.any? { |log| log.include? "resource 'fakeResource' not found." }).must_equal(true)
169
+ end
147
170
  end
148
171
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes-objects
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 1.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Splunk Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-12-16 00:00:00.000000000 Z
11
+ date: 2022-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd
@@ -172,12 +172,12 @@ signing_key:
172
172
  specification_version: 4
173
173
  summary: Fluentd Plugin for Kubernetes Objects.
174
174
  test_files:
175
+ - test/fluent/plugin/in_kubernetes_objects_test.rb
175
176
  - test/test_helper.rb
176
177
  - test/lib/no_webmock/http_lib_adapters/httpclient_adapter.rb
177
- - test/lib/no_webmock/http_lib_adapters/manticore_adapter.rb
178
- - test/lib/no_webmock/http_lib_adapters/typhoeus_hydra_adapter.rb
179
- - test/lib/no_webmock/http_lib_adapters/em_http_request_adapter.rb
180
178
  - test/lib/no_webmock/http_lib_adapters/excon_adapter.rb
179
+ - test/lib/no_webmock/http_lib_adapters/em_http_request_adapter.rb
180
+ - test/lib/no_webmock/http_lib_adapters/typhoeus_hydra_adapter.rb
181
+ - test/lib/no_webmock/http_lib_adapters/manticore_adapter.rb
181
182
  - test/lib/no_webmock/http_lib_adapters/curb_adapter.rb
182
183
  - test/lib/no_webmock/http_lib_adapters/patron_adapter.rb
183
- - test/fluent/plugin/in_kubernetes_objects_test.rb