fluent-plugin-kubernetes_metadata_filter 3.1.1 → 3.1.3

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: 1d866c3ad5e90fce69d2f0d2f1e988cfbafe87ec8be406f9f694fba19ed2c89b
4
- data.tar.gz: e952f47b62639f3afc4227647407fca4cbbbce166d97867894fb1e3f7402724c
3
+ metadata.gz: 8e5a90f306729056c922bded6d93b4718b5741306bf2a3ed57f694ceca07316a
4
+ data.tar.gz: 98e5e2334f10e40123654286af7ee2841e0691969c251de9e6437430af01ae7b
5
5
  SHA512:
6
- metadata.gz: 294b181f0cf88d4b70f3dd1e5d840b3c13e0a0c8a9adde9f970cc6d12797ccb2a2e7cb49bf411d12665dd58c7e70138ee29b258af6dce4d7d18e67ba782c466f
7
- data.tar.gz: 1b5865080a46ee7a8f7c634f7154070ff751eb9bea51f974f922cfcd7c13945ee8ae1aff15ff08f79239718126c192efce3c6b9292928d749250c586912d1f64
6
+ metadata.gz: 6fd2015c041919bdde2a3a6ef817de65054b3819b684ad6ce3b216b49c0a850281b1e14ca04c2db8556d4c6d6716cb39f2d882c2c1d2ab4cba4ddc0b46dde929
7
+ data.tar.gz: 35f99fc6cb137c0e2714be1c515651358fd93af8bfa18e883c1f7747f04fd4f6d43cc9b4f2e8e88a62a618087f71f3c7bdd8a42ba343dba5d7a8ec2ebc1eb731
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes_metadata_filter (3.1.1)
4
+ fluent-plugin-kubernetes_metadata_filter (3.1.3)
5
5
  fluentd (>= 0.14.0, < 1.16)
6
6
  kubeclient (>= 4.0.0, < 5.0.0)
7
7
  lru_redux
@@ -30,7 +30,7 @@ GEM
30
30
  ffi-compiler (1.0.1)
31
31
  ffi (>= 1.0.0)
32
32
  rake
33
- fluentd (1.15.2)
33
+ fluentd (1.15.3)
34
34
  bundler
35
35
  cool.io (>= 1.4.5, < 2.0.0)
36
36
  http_parser.rb (>= 0.5.1, < 0.9.0)
@@ -62,7 +62,7 @@ GEM
62
62
  http_parser.rb (0.8.0)
63
63
  jsonpath (1.1.2)
64
64
  multi_json
65
- kubeclient (4.10.0)
65
+ kubeclient (4.10.1)
66
66
  http (>= 3.0, < 5.0)
67
67
  jsonpath (~> 1.0)
68
68
  recursive-open-struct (~> 1.1, >= 1.1.1)
@@ -73,13 +73,13 @@ GEM
73
73
  mime-types-data (3.2022.0105)
74
74
  mini_mime (1.1.2)
75
75
  minitest (4.7.5)
76
- msgpack (1.5.6)
76
+ msgpack (1.6.0)
77
77
  multi_json (1.15.0)
78
78
  netrc (0.11.0)
79
79
  parallel (1.22.1)
80
80
  parser (3.1.2.0)
81
81
  ast (~> 2.4.1)
82
- power_assert (2.0.1)
82
+ power_assert (2.0.2)
83
83
  public_suffix (4.0.7)
84
84
  rainbow (3.1.1)
85
85
  rake (13.0.6)
@@ -115,14 +115,14 @@ GEM
115
115
  simplecov-html (0.12.3)
116
116
  simplecov_json_formatter (0.1.4)
117
117
  strptime (0.2.5)
118
- test-unit (3.0.9)
118
+ test-unit (3.5.5)
119
119
  power_assert
120
120
  test-unit-rr (1.0.5)
121
121
  rr (>= 1.1.1)
122
122
  test-unit (>= 2.5.2)
123
123
  tzinfo (2.0.5)
124
124
  concurrent-ruby (~> 1.0)
125
- tzinfo-data (1.2022.3)
125
+ tzinfo-data (1.2022.6)
126
126
  tzinfo (>= 1.0.0)
127
127
  unf (0.1.4)
128
128
  unf_ext
@@ -148,7 +148,7 @@ DEPENDENCIES
148
148
  minitest (~> 4.0)
149
149
  rake
150
150
  rubocop
151
- test-unit (~> 3.0.2)
151
+ test-unit (~> 3.5.5)
152
152
  test-unit-rr (~> 1.0.3)
153
153
  vcr
154
154
  webmock
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = 'fluent-plugin-kubernetes_metadata_filter'
8
- gem.version = '3.1.1'
8
+ gem.version = '3.1.3'
9
9
  gem.authors = ['OpenShift Cluster Logging','Jimmi Dyson']
10
10
  gem.email = ['team-logging@redhat.com','jimmidyson@gmail.com']
11
11
  gem.description = 'Filter plugin to add Kubernetes metadata'
@@ -26,7 +26,7 @@ Gem::Specification.new do |gem|
26
26
  gem.add_development_dependency 'copyright-header'
27
27
  gem.add_development_dependency 'minitest', '~> 4.0'
28
28
  gem.add_development_dependency 'rake'
29
- gem.add_development_dependency 'test-unit', '~> 3.0.2'
29
+ gem.add_development_dependency 'test-unit', '~> 3.5.5'
30
30
  gem.add_development_dependency 'test-unit-rr', '~> 1.0.3'
31
31
  gem.add_development_dependency 'vcr'
32
32
  gem.add_development_dependency 'webmock'
@@ -108,6 +108,9 @@ module Fluent::Plugin
108
108
  # recreate client to refresh token
109
109
  log.info("Encountered '401 Unauthorized' exception, recreating client to refresh token")
110
110
  create_client()
111
+ elsif e.error_code == 404
112
+ log.debug "Encountered '404 Not Found' exception, pod not found"
113
+ @stats.bump(:pod_cache_api_nil_error)
111
114
  else
112
115
  log.error "Exception '#{e}' encountered fetching pod metadata from Kubernetes API #{@apiVersion} endpoint #{@kubernetes_url}"
113
116
  @stats.bump(:pod_cache_api_nil_error)
@@ -331,6 +334,11 @@ module Fluent::Plugin
331
334
  metadata['kubernetes'].merge!(pod_metadata) if pod_metadata
332
335
  metadata['kubernetes'].delete('containers')
333
336
  end
337
+ metadata['kubernetes'].tap do |kube|
338
+ kube.each_pair do |k,v|
339
+ kube[k.dup] = v.dup
340
+ end
341
+ end
334
342
  metadata.delete('docker') if metadata['docker'] && (metadata['docker']['container_id'].nil? || metadata['docker']['container_id'].empty?)
335
343
  metadata
336
344
  end
@@ -373,6 +373,23 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
373
373
  end
374
374
  end
375
375
 
376
+ test 'kubernetes metadata is cloned so it further processing does not modify the cache' do
377
+
378
+ VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' }, { name: 'kubernetes_get_namespace_default' }]) do
379
+
380
+ d = create_driver('
381
+ kubernetes_url https://localhost:8443
382
+ watch false
383
+ cache_size 1')
384
+ d.run(default_tag: VAR_LOG_POD_TAG) do
385
+ d.feed(@time, { 'time' => '2015-05-08T09:22:01Z' })
386
+ d.feed(@time, { 'time' => '2015-05-08T09:22:01Z' })
387
+ end
388
+ filtered = d.filtered.map(&:last)
389
+ assert_not_equal(filtered[0]['kubernetes']['labels'].object_id, filtered[1]['kubernetes']['labels'].object_id, "Exp. meta to be cloned")
390
+ end
391
+ end
392
+
376
393
  test 'with docker & kubernetes metadata & namespace_id enabled' do
377
394
  VCR.use_cassettes([{ name: 'valid_kubernetes_api_server' }, { name: 'kubernetes_get_api_v1' }, { name: 'kubernetes_get_pod' },
378
395
  { name: 'kubernetes_get_namespace_default', options: { allow_playback_repeats: true } }]) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes_metadata_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenShift Cluster Logging
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-09-08 00:00:00.000000000 Z
12
+ date: 2022-11-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fluentd
@@ -141,14 +141,14 @@ dependencies:
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: 3.0.2
144
+ version: 3.5.5
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: 3.0.2
151
+ version: 3.5.5
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: test-unit-rr
154
154
  requirement: !ruby/object:Gem::Requirement