fluent-plugin-kubernetes_metadata_filter 1.1.0 → 1.2.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 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