fluent-plugin-kubernetes-objects 1.1.9 → 1.1.10

Sign up to get free protection for your applications and to get access to all the features.
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