fluent-plugin-kubernetes_metadata_filter 1.1.0 → 1.2.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: b6b445ba2f0982bd35de2efb14c3c63018929a88
4
- data.tar.gz: ca6ca38cc0dc1c02617b5656249b81ea3079c463
3
+ metadata.gz: '0971b8dc580d4813a1859834d5fc5ba334eb3633'
4
+ data.tar.gz: 3a054314a366671caf9307a81dd9e38ea6aa7dd5
5
5
  SHA512:
6
- metadata.gz: 9a6494885196744461c705ee8216ce6dc2471a30819c9346ee4661860b613ca3795e079aa3b80b6a00ebea3fc184bf8eedacfca60d11d24ea5be3a24ccd7a5ab
7
- data.tar.gz: da5ed5376cc30f925cbef088aeb8c1aea78cd687964b12b399df835f11de2fb495daac661b69a077343612e544163a51f6fd9674430fe2b9c6dc1a62a724ef5c
6
+ metadata.gz: 6852eb69fd3f256a6a2825daf6cbe3a58bb8aa646dd054c7d99c65ca9928d2fc4adc87791fbb31f4326e213cc2b1f58957a49da1bfa2c58c0d3864e2883e8d28
7
+ data.tar.gz: e640578dd09913bdc9879508970a3528386e6e2fffc6c63acc3aa21358ab8e8d3444f8f6c39b91172f2945a87350612c1225c19976ed574e2edb170962a00662
@@ -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 = "1.1.0"
7
+ gem.version = "1.2.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}
@@ -282,7 +282,7 @@ module Fluent
282
282
  end
283
283
 
284
284
  def filter_stream_from_files(tag, es)
285
- return es if es.empty?
285
+ return es if (es.respond_to?(:empty?) && es.empty?) || !es.is_a?(Fluent::EventStream)
286
286
  new_es = MultiEventStream.new
287
287
 
288
288
  match_data = tag.match(@tag_to_kubernetes_name_regexp_compiled)
@@ -306,6 +306,7 @@ module Fluent
306
306
  end
307
307
 
308
308
  def filter_stream_from_journal(tag, es)
309
+ return es if (es.respond_to?(:empty?) && es.empty?) || !es.is_a?(Fluent::EventStream)
309
310
  new_es = MultiEventStream.new
310
311
  batch_miss_cache = {}
311
312
  es.each do |time, record|
@@ -153,6 +153,44 @@ class KubernetesMetadataFilterTest < Test::Unit::TestCase
153
153
  }.filtered
154
154
  end
155
155
 
156
+ test 'nil event stream from journal' do
157
+ #not certain how this is possible but adding test to properly
158
+ #guard against this condition we have seen - test for nil,
159
+ #empty, no empty method, not an event stream
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
192
+ end
193
+
156
194
  test 'inability to connect to the api server handles exception and doensnt block pipeline' do
157
195
  VCR.use_cassette('kubernetes_docker_metadata') do
158
196
  driver = create_driver('
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: 1.1.0
4
+ version: 1.2.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: 2018-05-14 00:00:00.000000000 Z
11
+ date: 2018-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd