fluent-plugin-kubernetes_metadata_filter 0.25.3 → 0.26.0

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
  SHA1:
3
- metadata.gz: 2c5b658648ff5e0a6159c0c0a43a27f301348d7e
4
- data.tar.gz: 565623ba233360be5200675b1a4dd693bc764307
3
+ metadata.gz: f1ae65aac8285479f1ba55639b4c9440809fcb56
4
+ data.tar.gz: aed7b25905c55ba8d06c478cb3793012d40ff148
5
5
  SHA512:
6
- metadata.gz: 24ffbf410894611d7826bed477768552ea6e439e2534fcfbaa253d0453530a7bb8f04744896ecf1c5240711038c9ea7719796f005e613bb4412afa64172d1a10
7
- data.tar.gz: 53f0da93d8f7341eca79ec4a5c2f7b00e895af756d7377c8bdd3217aaa1a769b7d05d5c257c6f0b3f5020dfc989d13405bafa702a60e0dfcb64c55131947c7ba
6
+ metadata.gz: abcb46a6d6fc693c0dc315e53dfe353a20f562b80ce353462d7f944180349051c1216be9ef038037411f8744c0ee421aed00e508b5a5ebff388038966f465b6c
7
+ data.tar.gz: f6b5ecfeb93078c26d18f1d0f3ba01333546f8533b05e1bcb18062a1ce142ef5e4431b9741f3c5afdcd1f1b088683182c1f97f24a54e3e30e4a6630e538b9be7
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "fluent-plugin-kubernetes_metadata_filter"
7
- gem.version = "0.25.3"
7
+ gem.version = "0.26.0"
8
8
  gem.authors = ["Jimmi Dyson"]
9
9
  gem.email = ["jimmidyson@gmail.com"]
10
10
  gem.description = %q{Filter plugin to add Kubernetes metadata}
@@ -71,7 +71,7 @@ module Fluent
71
71
  newhsh
72
72
  end
73
73
 
74
- def get_metadata(namespace_name, pod_name, container_name)
74
+ def get_metadata(namespace_name, pod_name)
75
75
  begin
76
76
  metadata = @client.get_pod(pod_name, namespace_name)
77
77
  return if !metadata
@@ -79,12 +79,12 @@ module Fluent
79
79
  annotations = match_annotations(syms_to_strs(metadata['metadata']['annotations'].to_h))
80
80
  if @de_dot
81
81
  self.de_dot!(labels)
82
+ self.de_dot!(annotations)
82
83
  end
83
84
  kubernetes_metadata = {
84
85
  'namespace_name' => namespace_name,
85
86
  'pod_id' => metadata['metadata']['uid'],
86
87
  'pod_name' => pod_name,
87
- 'container_name' => container_name,
88
88
  'labels' => labels,
89
89
  'host' => metadata['spec']['nodeName']
90
90
  }
@@ -214,20 +214,18 @@ module Fluent
214
214
  'kubernetes' => {
215
215
  'namespace_name' => match_data['namespace'],
216
216
  'pod_name' => match_data['pod_name'],
217
- 'container_name' => match_data['container_name']
218
217
  }
219
218
  }
220
219
 
221
220
  if @kubernetes_url.present?
222
- cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}_#{metadata['kubernetes']['container_name']}"
221
+ cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}"
223
222
 
224
223
  this = self
225
224
  metadata = @cache.getset(cache_key) {
226
225
  if metadata
227
226
  kubernetes_metadata = this.get_metadata(
228
227
  metadata['kubernetes']['namespace_name'],
229
- metadata['kubernetes']['pod_name'],
230
- metadata['kubernetes']['container_name']
228
+ metadata['kubernetes']['pod_name']
231
229
  )
232
230
  metadata['kubernetes'] = kubernetes_metadata if kubernetes_metadata
233
231
  metadata
@@ -244,6 +242,8 @@ module Fluent
244
242
  end
245
243
  end
246
244
 
245
+ metadata['kubernetes']['container_name'] = match_data['container_name'] if match_data
246
+
247
247
  es.each { |time, record|
248
248
  record = merge_json_log(record) if @merge_json_log
249
249
 
@@ -270,20 +270,18 @@ module Fluent
270
270
  },
271
271
  'kubernetes' => {
272
272
  'namespace_name' => match_data['namespace'],
273
- 'pod_name' => match_data['pod_name'],
274
- 'container_name' => match_data['container_name']
273
+ 'pod_name' => match_data['pod_name']
275
274
  }
276
275
  }
277
276
  if @kubernetes_url.present?
278
- cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}_#{metadata['kubernetes']['container_name']}"
277
+ cache_key = "#{metadata['kubernetes']['namespace_name']}_#{metadata['kubernetes']['pod_name']}"
279
278
 
280
279
  this = self
281
280
  metadata = @cache.getset(cache_key) {
282
281
  if metadata
283
282
  kubernetes_metadata = this.get_metadata(
284
283
  metadata['kubernetes']['namespace_name'],
285
- metadata['kubernetes']['pod_name'],
286
- metadata['kubernetes']['container_name']
284
+ metadata['kubernetes']['pod_name']
287
285
  )
288
286
  metadata['kubernetes'] = kubernetes_metadata if kubernetes_metadata
289
287
  metadata
@@ -298,6 +296,7 @@ module Fluent
298
296
  metadata['kubernetes']['namespace_id'] = namespace_id if namespace_id
299
297
  end
300
298
  end
299
+ metadata['kubernetes']['container_name'] = match_data['container_name']
301
300
  metadata
302
301
  end
303
302
  unless metadata
@@ -366,32 +365,27 @@ module Fluent
366
365
  watcher.each do |notice|
367
366
  case notice.type
368
367
  when 'MODIFIED'
369
- if notice.object.status.containerStatuses
370
- pod_cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
371
- notice.object.status.containerStatuses.each { |container_status|
372
- cache_key = "#{pod_cache_key}_#{container_status['name']}"
373
- cached = @cache[cache_key]
374
- if cached
375
- # Only thing that can be modified is labels and (possibly) annotations
376
- labels = syms_to_strs(notice.object.metadata.labels.to_h)
377
- annotations = match_annotations(syms_to_strs(notice.object.metadata.annotations.to_h))
378
- if @de_dot
379
- self.de_dot!(labels)
380
- end
381
- cached['kubernetes']['labels'] = labels
382
- cached['kubernetes']['annotations'] = annotations unless annotations.empty?
383
- @cache[cache_key] = cached
384
- end
385
- }
368
+ cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
369
+ cached = @cache[cache_key]
370
+ if cached
371
+ # Only thing that can be modified is labels and (possibly) annotations
372
+ labels = syms_to_strs(notice.object.metadata.labels.to_h)
373
+ annotations = match_annotations(syms_to_strs(notice.object.metadata.annotations.to_h))
374
+ if @de_dot
375
+ self.de_dot!(labels)
376
+ self.de_dot!(annotations)
377
+ end
378
+ cached['kubernetes']['labels'] = labels
379
+ if annotations.empty?
380
+ delete(cached['kubernetes']['annotations'])
381
+ else
382
+ cached['kubernetes']['annotations'] = annotations
383
+ end
384
+ @cache[cache_key] = cached
386
385
  end
387
386
  when 'DELETED'
388
- if notice.object.status.containerStatuses
389
- pod_cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
390
- notice.object.status.containerStatuses.each { |container_status|
391
- cache_key = "#{pod_cache_key}_#{container_status['name']}"
392
- @cache.delete(cache_key)
393
- }
394
- end
387
+ cache_key = "#{notice.object['metadata']['namespace']}_#{notice.object['metadata']['name']}"
388
+ @cache.delete(cache_key)
395
389
  else
396
390
  # Don't pay attention to creations, since the created pod may not
397
391
  # end up on this node.
@@ -524,8 +524,8 @@ use_journal true
524
524
  'component' => 'fabric8Console'
525
525
  },
526
526
  'annotations' => {
527
- 'custom.field1' => 'hello_kitty',
528
- 'field.two' => 'value'
527
+ 'custom_field1' => 'hello_kitty',
528
+ 'field_two' => 'value'
529
529
  }
530
530
  }
531
531
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes_metadata_filter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.25.3
4
+ version: 0.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmi Dyson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-09 00:00:00.000000000 Z
11
+ date: 2016-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd