fluent-plugin-kubernetes_metadata_filter 2.2.0 → 2.3.0
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 +5 -5
- data/README.md +4 -1
- data/fluent-plugin-kubernetes_metadata_filter.gemspec +2 -2
- data/lib/fluent/plugin/filter_kubernetes_metadata.rb +1 -2
- data/lib/fluent/plugin/kubernetes_metadata_common.rb +26 -0
- data/test/cassettes/kubernetes_docker_metadata_annotations.yml +0 -34
- data/test/cassettes/kubernetes_docker_metadata_dotted_labels.yml +0 -34
- data/test/cassettes/kubernetes_get_api_v1.yml +193 -0
- data/test/cassettes/kubernetes_get_api_v1_using_token.yml +195 -0
- data/test/cassettes/kubernetes_get_namespace_default.yml +69 -0
- data/test/cassettes/kubernetes_get_namespace_default_using_token.yml +71 -0
- data/test/cassettes/{kubernetes_docker_metadata.yml → kubernetes_get_pod.yml} +0 -82
- data/test/cassettes/{kubernetes_docker_metadata_using_bearer_token.yml → kubernetes_get_pod_using_token.yml} +5 -105
- data/test/cassettes/metadata_from_tag_and_journald_fields.yml +0 -255
- data/test/cassettes/metadata_from_tag_journald_and_kubernetes_fields.yml +0 -255
- data/test/cassettes/{non_kubernetes_docker_metadata.yml → valid_kubernetes_api_server_using_token.yml} +4 -44
- data/test/plugin/test_filter_kubernetes_metadata.rb +49 -21
- metadata +21 -16
- data/test/cassettes/metadata_with_namespace_id.yml +0 -276
@@ -18,261 +18,6 @@
|
|
18
18
|
#
|
19
19
|
---
|
20
20
|
http_interactions:
|
21
|
-
- request:
|
22
|
-
method: get
|
23
|
-
uri: https://localhost:8443/api
|
24
|
-
body:
|
25
|
-
encoding: US-ASCII
|
26
|
-
string: ''
|
27
|
-
headers:
|
28
|
-
Accept:
|
29
|
-
- "*/*; q=0.5, application/xml"
|
30
|
-
Accept-Encoding:
|
31
|
-
- gzip, deflate
|
32
|
-
User-Agent:
|
33
|
-
- Ruby
|
34
|
-
response:
|
35
|
-
status:
|
36
|
-
code: 200
|
37
|
-
message: OK
|
38
|
-
headers:
|
39
|
-
Content-Type:
|
40
|
-
- application/json
|
41
|
-
Date:
|
42
|
-
- Fri, 08 May 2015 10:35:37 GMT
|
43
|
-
Content-Length:
|
44
|
-
- '67'
|
45
|
-
body:
|
46
|
-
encoding: UTF-8
|
47
|
-
string: |-
|
48
|
-
{
|
49
|
-
"versions": [
|
50
|
-
"v1"
|
51
|
-
]
|
52
|
-
}
|
53
|
-
http_version:
|
54
|
-
recorded_at: Fri, 08 May 2015 10:35:37 GMT
|
55
|
-
- request:
|
56
|
-
method: get
|
57
|
-
uri: https://localhost:8443/api/v1/namespaces/default/pods/fabric8-console-controller-98rqc
|
58
|
-
body:
|
59
|
-
encoding: US-ASCII
|
60
|
-
string: ''
|
61
|
-
headers:
|
62
|
-
Accept:
|
63
|
-
- "*/*; q=0.5, application/xml"
|
64
|
-
Accept-Encoding:
|
65
|
-
- gzip, deflate
|
66
|
-
User-Agent:
|
67
|
-
- Ruby
|
68
|
-
response:
|
69
|
-
status:
|
70
|
-
code: 200
|
71
|
-
message: OK
|
72
|
-
headers:
|
73
|
-
Content-Type:
|
74
|
-
- application/json
|
75
|
-
Date:
|
76
|
-
- Fri, 08 May 2015 10:35:37 GMT
|
77
|
-
Transfer-Encoding:
|
78
|
-
- chunked
|
79
|
-
body:
|
80
|
-
encoding: UTF-8
|
81
|
-
string: |-
|
82
|
-
{
|
83
|
-
"kind": "Pod",
|
84
|
-
"apiVersion": "v1",
|
85
|
-
"metadata": {
|
86
|
-
"name": "fabric8-console-controller-98rqc",
|
87
|
-
"generateName": "fabric8-console-controller-",
|
88
|
-
"namespace": "default",
|
89
|
-
"selfLink": "/api/v1/namespaces/default/pods/fabric8-console-controller-98rqc",
|
90
|
-
"uid": "c76927af-f563-11e4-b32d-54ee7527188d",
|
91
|
-
"resourceVersion": "122",
|
92
|
-
"creationTimestamp": "2015-05-08T09:22:42Z",
|
93
|
-
"labels": {
|
94
|
-
"component": "fabric8Console"
|
95
|
-
}
|
96
|
-
},
|
97
|
-
"spec": {
|
98
|
-
"volumes": [
|
99
|
-
{
|
100
|
-
"name": "openshift-cert-secrets",
|
101
|
-
"hostPath": null,
|
102
|
-
"emptyDir": null,
|
103
|
-
"gcePersistentDisk": null,
|
104
|
-
"gitRepo": null,
|
105
|
-
"secret": {
|
106
|
-
"secretName": "openshift-cert-secrets"
|
107
|
-
},
|
108
|
-
"nfs": null,
|
109
|
-
"iscsi": null,
|
110
|
-
"glusterfs": null
|
111
|
-
}
|
112
|
-
],
|
113
|
-
"containers": [
|
114
|
-
{
|
115
|
-
"name": "fabric8-console-container",
|
116
|
-
"image": "fabric8/hawtio-kubernetes:latest",
|
117
|
-
"ports": [
|
118
|
-
{
|
119
|
-
"containerPort": 9090,
|
120
|
-
"protocol": "TCP"
|
121
|
-
}
|
122
|
-
],
|
123
|
-
"env": [
|
124
|
-
{
|
125
|
-
"name": "OAUTH_CLIENT_ID",
|
126
|
-
"value": "fabric8-console"
|
127
|
-
},
|
128
|
-
{
|
129
|
-
"name": "OAUTH_AUTHORIZE_URI",
|
130
|
-
"value": "https://localhost:8443/oauth/authorize"
|
131
|
-
}
|
132
|
-
],
|
133
|
-
"resources": {},
|
134
|
-
"volumeMounts": [
|
135
|
-
{
|
136
|
-
"name": "openshift-cert-secrets",
|
137
|
-
"readOnly": true,
|
138
|
-
"mountPath": "/etc/secret-volume"
|
139
|
-
}
|
140
|
-
],
|
141
|
-
"terminationMessagePath": "/dev/termination-log",
|
142
|
-
"imagePullPolicy": "IfNotPresent",
|
143
|
-
"capabilities": {}
|
144
|
-
}
|
145
|
-
],
|
146
|
-
"restartPolicy": "Always",
|
147
|
-
"dnsPolicy": "ClusterFirst",
|
148
|
-
"nodeName": "jimmi-redhat.localnet"
|
149
|
-
},
|
150
|
-
"status": {
|
151
|
-
"phase": "Running",
|
152
|
-
"Condition": [
|
153
|
-
{
|
154
|
-
"type": "Ready",
|
155
|
-
"status": "True"
|
156
|
-
}
|
157
|
-
],
|
158
|
-
"hostIP": "172.17.42.1",
|
159
|
-
"podIP": "172.17.0.8",
|
160
|
-
"containerStatuses": [
|
161
|
-
{
|
162
|
-
"name": "fabric8-console-container",
|
163
|
-
"state": {
|
164
|
-
"running": {
|
165
|
-
"startedAt": "2015-05-08T09:22:44Z"
|
166
|
-
}
|
167
|
-
},
|
168
|
-
"lastState": {},
|
169
|
-
"ready": true,
|
170
|
-
"restartCount": 0,
|
171
|
-
"image": "fabric8/hawtio-kubernetes:latest",
|
172
|
-
"imageID": "docker://b2bd1a24a68356b2f30128e6e28e672c1ef92df0d9ec01ec0c7faea5d77d2303",
|
173
|
-
"containerID": "docker://49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459"
|
174
|
-
}
|
175
|
-
]
|
176
|
-
}
|
177
|
-
}
|
178
|
-
http_version:
|
179
|
-
recorded_at: Fri, 08 May 2015 10:35:37 GMT
|
180
|
-
- request:
|
181
|
-
method: get
|
182
|
-
uri: https://localhost:8443/api/v1/namespaces/default
|
183
|
-
body:
|
184
|
-
encoding: US-ASCII
|
185
|
-
string: ''
|
186
|
-
headers:
|
187
|
-
Accept:
|
188
|
-
- "*/*; q=0.5, application/xml"
|
189
|
-
Accept-Encoding:
|
190
|
-
- gzip, deflate
|
191
|
-
User-Agent:
|
192
|
-
- Ruby
|
193
|
-
response:
|
194
|
-
status:
|
195
|
-
code: 200
|
196
|
-
message: OK
|
197
|
-
headers:
|
198
|
-
Content-Type:
|
199
|
-
- application/json
|
200
|
-
Date:
|
201
|
-
- Fri, 08 May 2015 10:35:37 GMT
|
202
|
-
Transfer-Encoding:
|
203
|
-
- chunked
|
204
|
-
body:
|
205
|
-
encoding: UTF-8
|
206
|
-
string: |-
|
207
|
-
{
|
208
|
-
"kind": "Namespace",
|
209
|
-
"apiVersion": "v1",
|
210
|
-
"metadata": {
|
211
|
-
"name": "default",
|
212
|
-
"selfLink": "/api/v1/namespaces/default",
|
213
|
-
"uid": "898268c8-4a36-11e5-9d81-42010af0194c",
|
214
|
-
"resourceVersion": "6",
|
215
|
-
"creationTimestamp": "2015-05-08T09:22:01Z"
|
216
|
-
},
|
217
|
-
"spec": {
|
218
|
-
"finalizers": [
|
219
|
-
"kubernetes"
|
220
|
-
]
|
221
|
-
},
|
222
|
-
"status": {
|
223
|
-
"phase": "Active"
|
224
|
-
}
|
225
|
-
}
|
226
|
-
http_version:
|
227
|
-
recorded_at: Fri, 08 May 2015 10:35:37 GMT
|
228
|
-
- request:
|
229
|
-
method: get
|
230
|
-
uri: https://localhost:8443/api/v1/namespaces/default
|
231
|
-
body:
|
232
|
-
encoding: US-ASCII
|
233
|
-
string: ''
|
234
|
-
headers:
|
235
|
-
Accept:
|
236
|
-
- "*/*; q=0.5, application/xml"
|
237
|
-
Accept-Encoding:
|
238
|
-
- gzip, deflate
|
239
|
-
User-Agent:
|
240
|
-
- Ruby
|
241
|
-
response:
|
242
|
-
status:
|
243
|
-
code: 200
|
244
|
-
message: OK
|
245
|
-
headers:
|
246
|
-
Content-Type:
|
247
|
-
- application/json
|
248
|
-
Date:
|
249
|
-
- Fri, 08 May 2015 10:35:37 GMT
|
250
|
-
Transfer-Encoding:
|
251
|
-
- chunked
|
252
|
-
body:
|
253
|
-
encoding: UTF-8
|
254
|
-
string: |-
|
255
|
-
{
|
256
|
-
"kind": "Namespace",
|
257
|
-
"apiVersion": "v1",
|
258
|
-
"metadata": {
|
259
|
-
"name": "default",
|
260
|
-
"selfLink": "/api/v1/namespaces/default",
|
261
|
-
"uid": "898268c8-4a36-11e5-9d81-42010af0194c",
|
262
|
-
"resourceVersion": "6",
|
263
|
-
"creationTimestamp": "2015-05-08T09:22:01Z"
|
264
|
-
},
|
265
|
-
"spec": {
|
266
|
-
"finalizers": [
|
267
|
-
"kubernetes"
|
268
|
-
]
|
269
|
-
},
|
270
|
-
"status": {
|
271
|
-
"phase": "Active"
|
272
|
-
}
|
273
|
-
}
|
274
|
-
http_version:
|
275
|
-
recorded_at: Fri, 08 May 2015 10:35:37 GMT
|
276
21
|
- request:
|
277
22
|
method: get
|
278
23
|
uri: https://localhost:8443/api/v1/namespaces/journald-namespace-name/pods/journald-pod-name
|
@@ -31,6 +31,8 @@ http_interactions:
|
|
31
31
|
- gzip, deflate
|
32
32
|
User-Agent:
|
33
33
|
- Ruby
|
34
|
+
Authorization:
|
35
|
+
- Bearer YzYyYzFlODMtODdhNS00ZTMyLWIzMmItNmY4NDc4OTI1ZWFh
|
34
36
|
response:
|
35
37
|
status:
|
36
38
|
code: 200
|
@@ -39,7 +41,7 @@ http_interactions:
|
|
39
41
|
Content-Type:
|
40
42
|
- application/json
|
41
43
|
Date:
|
42
|
-
- Fri, 08 May 2015 10:
|
44
|
+
- Fri, 08 May 2015 10:13:54 GMT
|
43
45
|
Content-Length:
|
44
46
|
- '67'
|
45
47
|
body:
|
@@ -51,47 +53,5 @@ http_interactions:
|
|
51
53
|
]
|
52
54
|
}
|
53
55
|
http_version:
|
54
|
-
recorded_at: Fri, 08 May 2015 10:
|
55
|
-
- request:
|
56
|
-
method: get
|
57
|
-
uri: https://localhost:8443/api/v1/namespaces/default/pods/fabric8-forge-controller-ymkew
|
58
|
-
body:
|
59
|
-
encoding: US-ASCII
|
60
|
-
string: ''
|
61
|
-
headers:
|
62
|
-
Accept:
|
63
|
-
- "*/*; q=0.5, application/xml"
|
64
|
-
Accept-Encoding:
|
65
|
-
- gzip, deflate
|
66
|
-
User-Agent:
|
67
|
-
- Ruby
|
68
|
-
response:
|
69
|
-
status:
|
70
|
-
code: 404
|
71
|
-
message: Not Found
|
72
|
-
headers:
|
73
|
-
Content-Type:
|
74
|
-
- application/json
|
75
|
-
Date:
|
76
|
-
- Fri, 08 May 2015 10:35:37 GMT
|
77
|
-
Content-Length:
|
78
|
-
- '278'
|
79
|
-
body:
|
80
|
-
encoding: UTF-8
|
81
|
-
string: |-
|
82
|
-
{
|
83
|
-
"kind": "Status",
|
84
|
-
"apiVersion": "v1",
|
85
|
-
"metadata": {},
|
86
|
-
"status": "Failure",
|
87
|
-
"message": "pods \"fabric8-forge-controller-ymkew\" not found",
|
88
|
-
"reason": "NotFound",
|
89
|
-
"details": {
|
90
|
-
"id": "fabric8-forge-controller-ymkew",
|
91
|
-
"kind": "pods"
|
92
|
-
},
|
93
|
-
"code": 404
|
94
|
-
}
|
95
|
-
http_version:
|
96
|
-
recorded_at: Fri, 08 May 2015 10:35:37 GMT
|
56
|
+
recorded_at: Fri, 08 May 2015 10:13:54 GMT
|
97
57
|
recorded_with: VCR 2.9.3
|
@@ -38,6 +38,7 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
38
38
|
end
|
39
39
|
|
40
40
|
sub_test_case 'configure' do
|
41
|
+
|
41
42
|
test 'check default' do
|
42
43
|
d = create_driver
|
43
44
|
assert_equal(1000, d.instance.cache_size)
|
@@ -168,7 +169,7 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
168
169
|
end
|
169
170
|
|
170
171
|
test 'inability to connect to the api server handles exception and doensnt block pipeline' do
|
171
|
-
VCR.
|
172
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}]) do
|
172
173
|
driver = create_driver('
|
173
174
|
kubernetes_url https://localhost:8443
|
174
175
|
watch false
|
@@ -195,7 +196,7 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
195
196
|
end
|
196
197
|
|
197
198
|
test 'with docker & kubernetes metadata where id cache hit and metadata miss' do
|
198
|
-
VCR.
|
199
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}]) do
|
199
200
|
driver = create_driver('
|
200
201
|
kubernetes_url https://localhost:8443
|
201
202
|
watch false
|
@@ -228,7 +229,7 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
228
229
|
end
|
229
230
|
|
230
231
|
test 'with docker & kubernetes metadata where id cache hit and metadata is reloaded' do
|
231
|
-
VCR.
|
232
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'}, {name: 'kubernetes_get_namespace_default'}]) do
|
232
233
|
driver = create_driver('
|
233
234
|
kubernetes_url https://localhost:8443
|
234
235
|
watch false
|
@@ -266,7 +267,7 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
266
267
|
end
|
267
268
|
|
268
269
|
test 'with docker & kubernetes metadata' do
|
269
|
-
VCR.
|
270
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'}, {name: 'kubernetes_get_namespace_default'}]) do
|
270
271
|
filtered = emit({'time'=>'2015-05-08T09:22:01Z'})
|
271
272
|
expected_kube_metadata = {
|
272
273
|
'time'=>'2015-05-08T09:22:01Z',
|
@@ -294,7 +295,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
294
295
|
end
|
295
296
|
|
296
297
|
test 'with docker & kubernetes metadata & namespace_id enabled' do
|
297
|
-
VCR.
|
298
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
299
|
+
{name: 'kubernetes_get_namespace_default', options: {allow_playback_repeats: true}}]) do
|
298
300
|
filtered = emit({}, '
|
299
301
|
kubernetes_url https://localhost:8443
|
300
302
|
watch false
|
@@ -324,7 +326,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
324
326
|
end
|
325
327
|
|
326
328
|
test 'with docker & kubernetes metadata using bearer token' do
|
327
|
-
VCR.
|
329
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server_using_token'}, {name: 'kubernetes_get_api_v1_using_token'},
|
330
|
+
{name: 'kubernetes_get_pod_using_token'}, {name: 'kubernetes_get_namespace_default_using_token'}]) do
|
328
331
|
filtered = emit({}, '
|
329
332
|
kubernetes_url https://localhost:8443
|
330
333
|
verify_ssl false
|
@@ -429,7 +432,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
429
432
|
end
|
430
433
|
|
431
434
|
test 'with kubernetes dotted labels, de_dot enabled' do
|
432
|
-
VCR.
|
435
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
436
|
+
{name: 'kubernetes_docker_metadata_dotted_labels'}]) do
|
433
437
|
filtered = emit({}, '
|
434
438
|
kubernetes_url https://localhost:8443
|
435
439
|
watch false
|
@@ -462,7 +466,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
462
466
|
end
|
463
467
|
|
464
468
|
test 'with kubernetes dotted labels, de_dot disabled' do
|
465
|
-
VCR.
|
469
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
470
|
+
{name: 'kubernetes_docker_metadata_dotted_labels'}]) do
|
466
471
|
filtered = emit({}, '
|
467
472
|
kubernetes_url https://localhost:8443
|
468
473
|
watch false
|
@@ -511,7 +516,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
511
516
|
'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459',
|
512
517
|
'randomfield' => 'randomvalue'
|
513
518
|
}
|
514
|
-
VCR.
|
519
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
520
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
515
521
|
filtered = emit_with_tag(tag, msg, '
|
516
522
|
kubernetes_url https://localhost:8443
|
517
523
|
watch false
|
@@ -549,7 +555,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
549
555
|
'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459',
|
550
556
|
'randomfield' => 'randomvalue'
|
551
557
|
}
|
552
|
-
VCR.
|
558
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
559
|
+
{name: 'kubernetes_get_namespace_default', options: {allow_playback_repeats: true}}]) do
|
553
560
|
filtered = emit_with_tag(tag, msg, '
|
554
561
|
kubernetes_url https://localhost:8443
|
555
562
|
watch false
|
@@ -593,7 +600,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
593
600
|
'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
|
594
601
|
'randomfield' => 'randomvalue'
|
595
602
|
}
|
596
|
-
VCR.
|
603
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
604
|
+
{name: 'kubernetes_get_namespace_default'},
|
605
|
+
{name: 'metadata_from_tag_journald_and_kubernetes_fields'}]) do
|
597
606
|
es = emit_with_tag(tag, msg, '
|
598
607
|
kubernetes_url https://localhost:8443
|
599
608
|
watch false
|
@@ -636,7 +645,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
636
645
|
'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
|
637
646
|
'randomfield' => 'randomvalue'
|
638
647
|
}
|
639
|
-
VCR.
|
648
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
649
|
+
{name: 'kubernetes_get_namespace_default', options: {allow_playback_repeats: true}},
|
650
|
+
{name: 'metadata_from_tag_and_journald_fields'}]) do
|
640
651
|
es = emit_with_tag(tag, msg, '
|
641
652
|
kubernetes_url https://localhost:8443
|
642
653
|
watch false
|
@@ -680,7 +691,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
680
691
|
'docker' => {'container_id' => 'e463bc0d3ae38f5c89d92dca49b30e049e899799920b79d4d5f705acbe82ba95'},
|
681
692
|
'randomfield' => 'randomvalue'
|
682
693
|
}
|
683
|
-
VCR.
|
694
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
695
|
+
{name: 'kubernetes_get_namespace_default', options: {allow_playback_repeats: true}},
|
696
|
+
{name: 'metadata_from_tag_and_journald_fields'}]) do
|
684
697
|
es = emit_with_tag(tag, msg, '
|
685
698
|
kubernetes_url https://localhost:8443
|
686
699
|
watch false
|
@@ -712,7 +725,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
712
725
|
end
|
713
726
|
|
714
727
|
test 'with kubernetes annotations' do
|
715
|
-
VCR.
|
728
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
729
|
+
{name: 'kubernetes_docker_metadata_annotations'},
|
730
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
716
731
|
filtered = emit({},'
|
717
732
|
kubernetes_url https://localhost:8443
|
718
733
|
watch false
|
@@ -754,7 +769,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
754
769
|
'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459',
|
755
770
|
'randomfield' => 'randomvalue'
|
756
771
|
}
|
757
|
-
VCR.
|
772
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
773
|
+
{name: 'kubernetes_get_namespace_default'},
|
774
|
+
{name: 'metadata_from_tag_and_journald_fields'}]) do
|
758
775
|
filtered = emit_with_tag(tag, msg, '
|
759
776
|
kubernetes_url https://localhost:8443
|
760
777
|
watch false
|
@@ -785,7 +802,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
785
802
|
end
|
786
803
|
|
787
804
|
test 'with kubernetes namespace annotations' do
|
788
|
-
VCR.
|
805
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
806
|
+
{name: 'kubernetes_docker_metadata_annotations'},
|
807
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
789
808
|
filtered = emit({},'
|
790
809
|
kubernetes_url https://localhost:8443
|
791
810
|
watch false
|
@@ -823,7 +842,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
823
842
|
end
|
824
843
|
|
825
844
|
test 'with kubernetes namespace annotations no match' do
|
826
|
-
VCR.
|
845
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
846
|
+
{name: 'kubernetes_docker_metadata_annotations'},
|
847
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
827
848
|
filtered = emit({},'
|
828
849
|
kubernetes_url https://localhost:8443
|
829
850
|
watch false
|
@@ -859,7 +880,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
859
880
|
'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459',
|
860
881
|
'randomfield' => 'randomvalue'
|
861
882
|
}
|
862
|
-
VCR.
|
883
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
884
|
+
{name: 'kubernetes_docker_metadata_annotations'},
|
885
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
863
886
|
filtered = emit_with_tag(tag, msg, '
|
864
887
|
kubernetes_url https://localhost:8443
|
865
888
|
watch false
|
@@ -881,7 +904,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
881
904
|
'CONTAINER_ID_FULL' => '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459',
|
882
905
|
'randomfield' => 'randomvalue'
|
883
906
|
}
|
884
|
-
VCR.
|
907
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
908
|
+
{name: 'kubernetes_docker_metadata_annotations'},
|
909
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
885
910
|
filtered = emit_with_tag(tag, msg, '
|
886
911
|
kubernetes_url https://localhost:8443
|
887
912
|
watch false
|
@@ -898,7 +923,9 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
898
923
|
end
|
899
924
|
|
900
925
|
test 'processes all events when reading from MessagePackEventStream' do
|
901
|
-
VCR.
|
926
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'},
|
927
|
+
{name: 'kubernetes_get_pod'},
|
928
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
902
929
|
entries = [[@time, {'time'=>'2015-05-08T09:22:01Z'}], [@time, {'time'=>'2015-05-08T09:22:01Z'}]]
|
903
930
|
array_stream = Fluent::ArrayEventStream.new(entries)
|
904
931
|
msgpack_stream = Fluent::MessagePackEventStream.new(array_stream.to_msgpack_stream)
|
@@ -940,7 +967,8 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
|
|
940
967
|
end
|
941
968
|
|
942
969
|
test 'with docker & kubernetes metadata using skip config params' do
|
943
|
-
VCR.
|
970
|
+
VCR.use_cassettes([{name: 'valid_kubernetes_api_server'}, {name: 'kubernetes_get_api_v1'}, {name: 'kubernetes_get_pod'},
|
971
|
+
{name: 'kubernetes_get_namespace_default'}]) do
|
944
972
|
filtered = emit({},'
|
945
973
|
kubernetes_url https://localhost:8443
|
946
974
|
watch false
|