fluent-plugin-kubernetes_metadata_filter 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -153,42 +153,13 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
153
153
  }.filtered
154
154
  end
155
155
 
156
- test 'nil event stream from journal' do
156
+ test 'nil event stream' do
157
157
  #not certain how this is possible but adding test to properly
158
158
  #guard against this condition we have seen - test for nil,
159
159
  #empty, no empty method, not an event stream
160
160
  plugin = create_driver.instance
161
- [nil, Fluent::MultiEventStream.new, 1, [1]].each do |es|
162
- assert_equal es, plugin.filter_stream_from_journal('tag', es)
163
- end
164
- # and make sure OneEventStream works
165
- ts = Time.now()
166
- rec = {"message"=>"hello"}
167
- es = Fluent::OneEventStream.new(ts, rec)
168
- newes = plugin.filter_stream_from_journal('tag', es)
169
- newes.each do |newts, newrec|
170
- assert_equal ts, newts
171
- assert_equal rec, newrec
172
- end
173
- end
174
-
175
- test 'nil event stream from files' do
176
- #not certain how this is possible but adding test to properly
177
- #guard against this condition we have seen
178
-
179
- plugin = create_driver.instance
180
- [nil, Fluent::MultiEventStream.new, 1, [1]].each do |es|
181
- assert_equal es, plugin.filter_stream_from_files('tag', es)
182
- end
183
- # and make sure OneEventStream works
184
- ts = Time.now()
185
- rec = {"message"=>"hello"}
186
- es = Fluent::OneEventStream.new(ts, rec)
187
- newes = plugin.filter_stream_from_journal('tag', es)
188
- newes.each do |newts, newrec|
189
- assert_equal ts, newts
190
- assert_equal rec, newrec
191
- end
161
+ plugin.filter_stream('tag', nil)
162
+ plugin.filter_stream('tag', Fluent::MultiEventStream.new)
192
163
  end
193
164
 
194
165
  test 'inability to connect to the api server handles exception and doensnt block pipeline' do
@@ -239,14 +210,14 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
239
210
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
240
211
  },
241
212
  'kubernetes' => {
242
- 'pod_name' => 'fabric8-console-controller-98rqc',
243
- 'container_name' => 'fabric8-console-container',
244
- 'namespace_name' => 'default',
245
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
246
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
213
+ 'pod_name' => 'fabric8-console-controller-98rqc',
214
+ 'container_name' => 'fabric8-console-container',
215
+ 'namespace_name' => 'default',
216
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
217
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
247
218
  }
248
219
  }
249
-
220
+
250
221
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
251
222
  end
252
223
  end
@@ -270,19 +241,21 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
270
241
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
271
242
  },
272
243
  'kubernetes' => {
273
- 'host' => 'jimmi-redhat.localnet',
274
- 'pod_name' => 'fabric8-console-controller-98rqc',
275
- 'container_name' => 'fabric8-console-container',
276
- 'namespace_name' => 'default',
277
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
278
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
279
- 'master_url' => 'https://localhost:8443',
244
+ 'host' => 'jimmi-redhat.localnet',
245
+ 'pod_name' => 'fabric8-console-controller-98rqc',
246
+ 'container_name' => 'fabric8-console-container',
247
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
248
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
249
+ 'namespace_name' => 'default',
250
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
251
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
252
+ 'master_url' => 'https://localhost:8443',
280
253
  'labels' => {
281
254
  'component' => 'fabric8Console'
282
255
  }
283
256
  }
284
257
  }
285
-
258
+
286
259
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
287
260
  end
288
261
  end
@@ -296,19 +269,21 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
296
269
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
297
270
  },
298
271
  'kubernetes' => {
299
- 'host' => 'jimmi-redhat.localnet',
300
- 'pod_name' => 'fabric8-console-controller-98rqc',
301
- 'container_name' => 'fabric8-console-container',
302
- 'namespace_name' => 'default',
303
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
304
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
305
- 'master_url' => 'https://localhost:8443',
272
+ 'host' => 'jimmi-redhat.localnet',
273
+ 'pod_name' => 'fabric8-console-controller-98rqc',
274
+ 'container_name' => 'fabric8-console-container',
275
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
276
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
277
+ 'namespace_name' => 'default',
278
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
279
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
280
+ 'master_url' => 'https://localhost:8443',
306
281
  'labels' => {
307
282
  'component' => 'fabric8Console'
308
283
  }
309
284
  }
310
285
  }
311
-
286
+
312
287
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
313
288
  end
314
289
  end
@@ -325,13 +300,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
325
300
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
326
301
  },
327
302
  'kubernetes' => {
328
- 'host' => 'jimmi-redhat.localnet',
329
- 'pod_name' => 'fabric8-console-controller-98rqc',
330
- 'container_name' => 'fabric8-console-container',
331
- 'namespace_name' => 'default',
332
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
333
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
334
- 'master_url' => 'https://localhost:8443',
303
+ 'host' => 'jimmi-redhat.localnet',
304
+ 'pod_name' => 'fabric8-console-controller-98rqc',
305
+ 'container_name' => 'fabric8-console-container',
306
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
307
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
308
+ 'namespace_name' => 'default',
309
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
310
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
311
+ 'master_url' => 'https://localhost:8443',
335
312
  'labels' => {
336
313
  'component' => 'fabric8Console'
337
314
  }
@@ -354,13 +331,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
354
331
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
355
332
  },
356
333
  'kubernetes' => {
357
- 'host' => 'jimmi-redhat.localnet',
358
- 'pod_name' => 'fabric8-console-controller-98rqc',
359
- 'container_name' => 'fabric8-console-container',
360
- 'namespace_name' => 'default',
361
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
362
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
363
- 'master_url' => 'https://localhost:8443',
334
+ 'host' => 'jimmi-redhat.localnet',
335
+ 'pod_name' => 'fabric8-console-controller-98rqc',
336
+ 'container_name' => 'fabric8-console-container',
337
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
338
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
339
+ 'namespace_name' => 'default',
340
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
341
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
342
+ 'master_url' => 'https://localhost:8443',
364
343
  'labels' => {
365
344
  'component' => 'fabric8Console'
366
345
  }
@@ -377,9 +356,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
377
356
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
378
357
  },
379
358
  'kubernetes' => {
380
- 'pod_name' => 'fabric8-console-controller-98rqc',
381
- 'container_name' => 'fabric8-console-container',
382
- 'namespace_name' => 'default',
359
+ 'pod_name' => 'fabric8-console-controller-98rqc',
360
+ 'container_name' => 'fabric8-console-container',
361
+ 'namespace_name' => 'default',
383
362
  }
384
363
  }
385
364
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
@@ -399,11 +378,11 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
399
378
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
400
379
  },
401
380
  'kubernetes' => {
402
- 'pod_name' => 'fabric8-console-controller-98rqc',
403
- 'container_name' => 'fabric8-console-container',
404
- 'namespace_name' => '.orphaned',
381
+ 'pod_name' => 'fabric8-console-controller-98rqc',
382
+ 'container_name' => 'fabric8-console-container',
383
+ 'namespace_name' => '.orphaned',
405
384
  'orphaned_namespace' => 'default',
406
- 'namespace_id' => 'orphaned'
385
+ 'namespace_id' => 'orphaned'
407
386
  }
408
387
  }
409
388
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
@@ -422,9 +401,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
422
401
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
423
402
  },
424
403
  'kubernetes' => {
425
- 'pod_name' => 'fabric8-console-controller.98rqc',
426
- 'container_name' => 'fabric8-console-container',
427
- 'namespace_name' => 'default'
404
+ 'pod_name' => 'fabric8-console-controller.98rqc',
405
+ 'container_name' => 'fabric8-console-container',
406
+ 'namespace_name' => 'default'
428
407
  }
429
408
  }
430
409
  assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
@@ -456,16 +435,18 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
456
435
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
457
436
  },
458
437
  'kubernetes' => {
459
- 'host' => 'jimmi-redhat.localnet',
460
- 'pod_name' => 'fabric8-console-controller-98rqc',
461
- 'container_name' => 'fabric8-console-container',
462
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
463
- 'namespace_labels' => {
438
+ 'host' => 'jimmi-redhat.localnet',
439
+ 'pod_name' => 'fabric8-console-controller-98rqc',
440
+ 'container_name' => 'fabric8-console-container',
441
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
442
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
443
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
444
+ 'namespace_labels' => {
464
445
  'kubernetes_io/namespacetest' => 'somevalue'
465
446
  },
466
- 'namespace_name' => 'default',
467
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
468
- 'master_url' => 'https://localhost:8443',
447
+ 'namespace_name' => 'default',
448
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
449
+ 'master_url' => 'https://localhost:8443',
469
450
  'labels' => {
470
451
  'kubernetes_io/test' => 'somevalue'
471
452
  }
@@ -488,16 +469,18 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
488
469
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
489
470
  },
490
471
  'kubernetes' => {
491
- 'host' => 'jimmi-redhat.localnet',
492
- 'pod_name' => 'fabric8-console-controller-98rqc',
493
- 'container_name' => 'fabric8-console-container',
494
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
495
- 'namespace_labels' => {
472
+ 'host' => 'jimmi-redhat.localnet',
473
+ 'pod_name' => 'fabric8-console-controller-98rqc',
474
+ 'container_name' => 'fabric8-console-container',
475
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
476
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
477
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
478
+ 'namespace_labels' => {
496
479
  'kubernetes.io/namespacetest' => 'somevalue'
497
480
  },
498
- 'namespace_name' => 'default',
499
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
500
- 'master_url' => 'https://localhost:8443',
481
+ 'namespace_name' => 'default',
482
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
483
+ 'master_url' => 'https://localhost:8443',
501
484
  'labels' => {
502
485
  'kubernetes.io/test' => 'somevalue'
503
486
  }
@@ -535,13 +518,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
535
518
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
536
519
  },
537
520
  'kubernetes' => {
538
- 'host' => 'jimmi-redhat.localnet',
539
- 'pod_name' => 'fabric8-console-controller-98rqc',
540
- 'container_name' => 'fabric8-console-container',
541
- 'namespace_name' => 'default',
542
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
543
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
544
- 'master_url' => 'https://localhost:8443',
521
+ 'host' => 'jimmi-redhat.localnet',
522
+ 'pod_name' => 'fabric8-console-controller-98rqc',
523
+ 'container_name' => 'fabric8-console-container',
524
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
525
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
526
+ 'namespace_name' => 'default',
527
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
528
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
529
+ 'master_url' => 'https://localhost:8443',
545
530
  'labels' => {
546
531
  'component' => 'fabric8Console'
547
532
  }
@@ -571,13 +556,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
571
556
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
572
557
  },
573
558
  'kubernetes' => {
574
- 'host' => 'jimmi-redhat.localnet',
575
- 'pod_name' => 'fabric8-console-controller-98rqc',
576
- 'container_name' => 'fabric8-console-container',
577
- 'namespace_name' => 'default',
578
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
579
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
580
- 'master_url' => 'https://localhost:8443',
559
+ 'host' => 'jimmi-redhat.localnet',
560
+ 'pod_name' => 'fabric8-console-controller-98rqc',
561
+ 'container_name' => 'fabric8-console-container',
562
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
563
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
564
+ 'namespace_name' => 'default',
565
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
566
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
567
+ 'master_url' => 'https://localhost:8443',
581
568
  'labels' => {
582
569
  'component' => 'fabric8Console'
583
570
  }
@@ -587,6 +574,138 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
587
574
  end
588
575
  end
589
576
 
577
+ test 'with records from journald and docker & kubernetes metadata with use_journal unset' do
578
+ # with use_journal unset, should still use the journal fields instead of tag fields
579
+ tag = 'var.log.containers.fabric8-console-controller-98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log'
580
+ msg = {
581
+ 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db',
582
+ 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b',
583
+ 'kubernetes' => {
584
+ 'namespace_name' => 'k8s-namespace-name',
585
+ 'pod_name' => 'k8s-pod-name',
586
+ 'container_name' => 'k8s-container-name'
587
+ },
588
+ 'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
589
+ 'randomfield' => 'randomvalue'
590
+ }
591
+ VCR.use_cassette('metadata_from_tag_journald_and_kubernetes_fields') do
592
+ es = emit_with_tag(tag, msg, '
593
+ kubernetes_url https://localhost:8443
594
+ watch false
595
+ cache_size 1
596
+ ')
597
+ expected_kube_metadata = {
598
+ 'docker' => {
599
+ 'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'
600
+ },
601
+ 'kubernetes' => {
602
+ 'host' => 'jimmi-redhat.localnet',
603
+ 'pod_name' => 'k8s-pod-name',
604
+ 'container_name' => 'k8s-container-name',
605
+ 'container_image' => 'k8s-container-image:latest',
606
+ 'container_image_id' => 'docker://d78c5217c41e9af08d37d9ae2cb070afa1fe3da6bc77bfb18879a8b4bfdf8a34',
607
+ 'namespace_name' => 'k8s-namespace-name',
608
+ 'namespace_id' => '8e0dc8fc-59f2-49f7-a3e2-ed0913e19d9f',
609
+ 'pod_id' => 'ebabf749-5fcd-4750-a3f0-aedd89476da8',
610
+ 'master_url' => 'https://localhost:8443',
611
+ 'labels' => {
612
+ 'component' => 'k8s-test'
613
+ }
614
+ }
615
+ }.merge(msg) {|key,oldval,newval| ((key == 'kubernetes') || (key == 'docker')) ? oldval : newval}
616
+ assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
617
+ end
618
+ end
619
+
620
+ test 'with records from journald and docker & kubernetes metadata with lookup_from_k8s_field false' do
621
+ # with use_journal unset, should still use the journal fields instead of tag fields
622
+ tag = 'var.log.containers.fabric8-console-controller-98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log'
623
+ msg = {
624
+ 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db',
625
+ 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b',
626
+ 'kubernetes' => {
627
+ 'namespace_name' => 'k8s-namespace-name',
628
+ 'pod_name' => 'k8s-pod-name',
629
+ 'container_name' => 'k8s-container-name'
630
+ },
631
+ 'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
632
+ 'randomfield' => 'randomvalue'
633
+ }
634
+ VCR.use_cassette('metadata_from_tag_and_journald_fields') do
635
+ es = emit_with_tag(tag, msg, '
636
+ kubernetes_url https://localhost:8443
637
+ watch false
638
+ cache_size 1
639
+ lookup_from_k8s_field false
640
+ ')
641
+ expected_kube_metadata = {
642
+ 'docker' => {
643
+ 'container_id' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b'
644
+ },
645
+ 'kubernetes' => {
646
+ 'host' => 'jimmi-redhat.localnet',
647
+ 'pod_name' => 'journald-pod-name',
648
+ 'container_name' => 'journald-container-name',
649
+ 'container_image' => 'journald-container-image:latest',
650
+ 'container_image_id' => 'docker://dda4c95705fb7050b701b10a7fe928ca5bc971a1dcb521ae3c339194cbf36b47',
651
+ 'namespace_name' => 'journald-namespace-name',
652
+ 'namespace_id' => '8282888f-733f-4f23-a3d3-1fdfa3bdacf2',
653
+ 'pod_id' => '5e1c1e27-b637-4e81-80b6-6d8a8c404d3b',
654
+ 'master_url' => 'https://localhost:8443',
655
+ 'labels' => {
656
+ 'component' => 'journald-test'
657
+ }
658
+ }
659
+ }.merge(msg) {|key,oldval,newval| ((key == 'kubernetes') || (key == 'docker')) ? oldval : newval}
660
+ assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
661
+ end
662
+ end
663
+
664
+ test 'uses metadata from tag if use_journal false and lookup_from_k8s_field false' do
665
+ # with use_journal unset, should still use the journal fields instead of tag fields
666
+ tag = 'var.log.containers.fabric8-console-controller-98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log'
667
+ msg = {
668
+ 'CONTAINER_NAME' => 'k8s_journald-container-name.db89db89_journald-pod-name_journald-namespace-name_c76927af-f563-11e4-b32d-54ee7527188d_89db89db',
669
+ 'CONTAINER_ID_FULL' => '838350c64bacba968d39a30a50789b2795291fceca6ccbff55298671d46b0e3b',
670
+ 'kubernetes' => {
671
+ 'namespace_name' => 'k8s-namespace-name',
672
+ 'pod_name' => 'k8s-pod-name',
673
+ 'container_name' => 'k8s-container-name'
674
+ },
675
+ 'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
676
+ 'randomfield' => 'randomvalue'
677
+ }
678
+ VCR.use_cassette('metadata_from_tag_and_journald_fields') do
679
+ es = emit_with_tag(tag, msg, '
680
+ kubernetes_url https://localhost:8443
681
+ watch false
682
+ cache_size 1
683
+ lookup_from_k8s_field false
684
+ use_journal false
685
+ ')
686
+ expected_kube_metadata = {
687
+ 'docker' => {
688
+ 'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
689
+ },
690
+ 'kubernetes' => {
691
+ 'host' => 'jimmi-redhat.localnet',
692
+ 'pod_name' => 'fabric8-console-controller-98rqc',
693
+ 'container_name' => 'fabric8-console-container',
694
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
695
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
696
+ 'namespace_name' => 'default',
697
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
698
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
699
+ 'master_url' => 'https://localhost:8443',
700
+ 'labels' => {
701
+ 'component' => 'fabric8Console'
702
+ }
703
+ }
704
+ }.merge(msg) {|key,oldval,newval| ((key == 'kubernetes') || (key == 'docker')) ? oldval : newval}
705
+ assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
706
+ end
707
+ end
708
+
590
709
  test 'with kubernetes annotations' do
591
710
  VCR.use_cassette('kubernetes_docker_metadata_annotations') do
592
711
  es = emit({},'
@@ -600,14 +719,16 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
600
719
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
601
720
  },
602
721
  'kubernetes' => {
603
- 'host' => 'jimmi-redhat.localnet',
604
- 'pod_name' => 'fabric8-console-controller-98rqc',
605
- 'container_name' => 'fabric8-console-container',
606
- 'namespace_name' => 'default',
607
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
608
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
609
- 'master_url' => 'https://localhost:8443',
610
- 'labels' => {
722
+ 'host' => 'jimmi-redhat.localnet',
723
+ 'pod_name' => 'fabric8-console-controller-98rqc',
724
+ 'container_name' => 'fabric8-console-container',
725
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
726
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
727
+ 'namespace_name' => 'default',
728
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
729
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
730
+ 'master_url' => 'https://localhost:8443',
731
+ 'labels' => {
611
732
  'component' => 'fabric8Console'
612
733
  },
613
734
  'annotations' => {
@@ -640,13 +761,15 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
640
761
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
641
762
  },
642
763
  'kubernetes' => {
643
- 'host' => 'jimmi-redhat.localnet',
644
- 'pod_name' => 'fabric8-console-controller-98rqc',
645
- 'container_name' => 'fabric8-console-container',
646
- 'namespace_name' => 'default',
647
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
648
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
649
- 'master_url' => 'https://localhost:8443',
764
+ 'host' => 'jimmi-redhat.localnet',
765
+ 'pod_name' => 'fabric8-console-controller-98rqc',
766
+ 'container_name' => 'fabric8-console-container',
767
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
768
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
769
+ 'namespace_name' => 'default',
770
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
771
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
772
+ 'master_url' => 'https://localhost:8443',
650
773
  'labels' => {
651
774
  'component' => 'fabric8Console'
652
775
  }
@@ -669,14 +792,16 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
669
792
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
670
793
  },
671
794
  'kubernetes' => {
672
- 'host' => 'jimmi-redhat.localnet',
673
- 'pod_name' => 'fabric8-console-controller-98rqc',
674
- 'container_name' => 'fabric8-console-container',
675
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
676
- 'namespace_name' => 'default',
677
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
678
- 'master_url' => 'https://localhost:8443',
679
- 'labels' => {
795
+ 'host' => 'jimmi-redhat.localnet',
796
+ 'pod_name' => 'fabric8-console-controller-98rqc',
797
+ 'container_name' => 'fabric8-console-container',
798
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
799
+ 'namespace_name' => 'default',
800
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
801
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
802
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
803
+ 'master_url' => 'https://localhost:8443',
804
+ 'labels' => {
680
805
  'component' => 'fabric8Console'
681
806
  },
682
807
  'annotations' => {
@@ -705,14 +830,16 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
705
830
  'container_id' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
706
831
  },
707
832
  'kubernetes' => {
708
- 'host' => 'jimmi-redhat.localnet',
709
- 'pod_name' => 'fabric8-console-controller-98rqc',
710
- 'container_name' => 'fabric8-console-container',
711
- 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
712
- 'namespace_name' => 'default',
713
- 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
714
- 'master_url' => 'https://localhost:8443',
715
- 'labels' => {
833
+ 'host' => 'jimmi-redhat.localnet',
834
+ 'pod_name' => 'fabric8-console-controller-98rqc',
835
+ 'container_name' => 'fabric8-console-container',
836
+ 'container_image' => 'fabric8/hawtio-kubernetes:latest',
837
+ 'container_image_id' => 'docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303',
838
+ 'namespace_id' => '898268c8-4a36-11e5-9d81-42010af0194c',
839
+ 'namespace_name' => 'default',
840
+ 'pod_id' => 'c76927af-f563-11e4-b32d-54ee7527188d',
841
+ 'master_url' => 'https://localhost:8443',
842
+ 'labels' => {
716
843
  'component' => 'fabric8Console'
717
844
  }
718
845
  }