fluentd 1.7.4 → 1.8.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fluentd might be problematic. Click here for more details.

Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/example/out_forward_sd.conf +17 -0
  4. data/example/sd.yaml +8 -0
  5. data/lib/fluent/command/cat.rb +1 -2
  6. data/lib/fluent/compat/call_super_mixin.rb +9 -0
  7. data/lib/fluent/compat/exec_util.rb +1 -1
  8. data/lib/fluent/counter/base_socket.rb +2 -4
  9. data/lib/fluent/engine.rb +1 -8
  10. data/lib/fluent/event.rb +5 -7
  11. data/lib/fluent/msgpack_factory.rb +19 -2
  12. data/lib/fluent/plugin.rb +10 -1
  13. data/lib/fluent/plugin/buf_file.rb +9 -1
  14. data/lib/fluent/plugin/buf_file_single.rb +6 -0
  15. data/lib/fluent/plugin/buffer/file_chunk.rb +2 -3
  16. data/lib/fluent/plugin/buffer/file_single_chunk.rb +1 -2
  17. data/lib/fluent/plugin/formatter_csv.rb +22 -0
  18. data/lib/fluent/plugin/in_forward.rb +1 -1
  19. data/lib/fluent/plugin/in_tail.rb +6 -0
  20. data/lib/fluent/plugin/in_unix.rb +1 -1
  21. data/lib/fluent/plugin/out_forward.rb +77 -28
  22. data/lib/fluent/plugin/out_forward/ack_handler.rb +1 -1
  23. data/lib/fluent/plugin/out_forward/load_balancer.rb +5 -2
  24. data/lib/fluent/plugin/out_stream.rb +1 -1
  25. data/lib/fluent/plugin/parser.rb +1 -0
  26. data/lib/fluent/plugin/sd_file.rb +155 -0
  27. data/lib/fluent/plugin/sd_static.rb +58 -0
  28. data/lib/fluent/plugin/service_discovery.rb +80 -0
  29. data/lib/fluent/plugin_helper.rb +1 -0
  30. data/lib/fluent/plugin_helper/record_accessor.rb +10 -19
  31. data/lib/fluent/plugin_helper/service_discovery.rb +80 -0
  32. data/lib/fluent/plugin_helper/service_discovery/manager.rb +132 -0
  33. data/lib/fluent/plugin_helper/service_discovery/round_robin_balancer.rb +43 -0
  34. data/lib/fluent/plugin_id.rb +7 -0
  35. data/lib/fluent/supervisor.rb +9 -8
  36. data/lib/fluent/system_config.rb +0 -2
  37. data/lib/fluent/version.rb +1 -1
  38. data/test/config/test_system_config.rb +0 -1
  39. data/test/plugin/data/sd_file/config +11 -0
  40. data/test/plugin/data/sd_file/config.json +17 -0
  41. data/test/plugin/data/sd_file/config.yaml +11 -0
  42. data/test/plugin/data/sd_file/config.yml +11 -0
  43. data/test/plugin/data/sd_file/invalid_config.yml +7 -0
  44. data/test/plugin/out_forward/test_handshake_protocol.rb +2 -2
  45. data/test/plugin/out_forward/test_socket_cache.rb +2 -2
  46. data/test/plugin/test_formatter_csv.rb +9 -0
  47. data/test/plugin/test_in_forward.rb +9 -9
  48. data/test/plugin/test_in_unix.rb +5 -5
  49. data/test/plugin/test_out_forward.rb +45 -1
  50. data/test/plugin/test_out_stream.rb +3 -3
  51. data/test/plugin/test_sd_file.rb +211 -0
  52. data/test/plugin_helper/service_discovery/test_manager.rb +93 -0
  53. data/test/plugin_helper/service_discovery/test_round_robin_balancer.rb +21 -0
  54. data/test/plugin_helper/test_service_discovery.rb +72 -0
  55. data/test/test_event.rb +15 -15
  56. metadata +29 -3
@@ -0,0 +1,93 @@
1
+ require_relative '../../helper'
2
+ require 'fluent/plugin_helper/service_discovery/manager'
3
+
4
+ class TestServiceDiscoveryManager < ::Test::Unit::TestCase
5
+ setup do
6
+ @sd_file_dir = File.expand_path('../../plugin/data/sd_file', __dir__)
7
+ end
8
+
9
+ class TestSdPlugin < Fluent::Plugin::ServiceDiscovery
10
+ Fluent::Plugin.register_sd('test_sd', self)
11
+
12
+ def initialize
13
+ super
14
+ end
15
+
16
+ def service_in(host, port)
17
+ s = Fluent::Plugin::ServiceDiscovery::Service.new(:sd_test, host, port)
18
+ @queue << Fluent::Plugin::ServiceDiscovery.service_in_msg(s)
19
+ end
20
+
21
+ def service_out(host, port)
22
+ s = Fluent::Plugin::ServiceDiscovery::Service.new(:sd_test, host, port)
23
+ @queue << Fluent::Plugin::ServiceDiscovery.service_out_msg(s)
24
+ end
25
+
26
+ def start(queue)
27
+ @queue = queue
28
+
29
+ super
30
+ end
31
+ end
32
+
33
+ sub_test_case '#configure' do
34
+ test 'build sd plugins and services' do
35
+ sdm = Fluent::PluginHelper::ServiceDiscovery::Manager.new(log: $log)
36
+ sdm.configure(
37
+ [
38
+ { type: :file, conf: config_element('service_discovery', '', { 'path' => File.join(@sd_file_dir, 'config.yml') }) },
39
+ { type: :static, conf: config_element('root', '', {}, [config_element('service', '', { 'host' => '127.0.0.2', 'port' => '5432' })]) },
40
+ ],
41
+ )
42
+
43
+ assert_equal 3, sdm.services.size
44
+ assert_equal 24224, sdm.services[0].port
45
+ assert_equal '127.0.0.1', sdm.services[0].host
46
+
47
+ assert_equal 24225, sdm.services[1].port
48
+ assert_equal '127.0.0.1', sdm.services[1].host
49
+
50
+ assert_equal 5432, sdm.services[2].port
51
+ assert_equal '127.0.0.2', sdm.services[2].host
52
+
53
+ assert_false sdm.static_config?
54
+ end
55
+
56
+ test 'no need to timer if only static' do
57
+ sdm = Fluent::PluginHelper::ServiceDiscovery::Manager.new(log: $log)
58
+ sdm.configure(
59
+ [{ type: :static, conf: config_element('root', '', {}, [config_element('service', '', { 'host' => '127.0.0.2', 'port' => '5432' })]) }]
60
+ )
61
+
62
+ assert_equal 1, sdm.services.size
63
+ assert_equal 5432, sdm.services[0].port
64
+ assert_equal '127.0.0.2', sdm.services[0].host
65
+
66
+ assert_true sdm.static_config?
67
+ end
68
+ end
69
+
70
+ sub_test_case '#run_once' do
71
+ test 'if new service added and deleted' do
72
+ sdm = Fluent::PluginHelper::ServiceDiscovery::Manager.new(log: $log)
73
+ t = TestSdPlugin.new
74
+ mock(Fluent::Plugin).new_sd(:sd_test, anything) { t }
75
+ sdm.configure([{ type: :sd_test, conf: config_element('service_discovery', '', {})}])
76
+ sdm.start
77
+
78
+ assert_equal 0, sdm.services.size
79
+
80
+ t.service_in('127.0.0.1', '1234')
81
+
82
+ sdm.run_once
83
+ assert_equal 1, sdm.services.size
84
+ assert_equal '127.0.0.1', sdm.services[0].host
85
+ assert_equal '1234', sdm.services[0].port
86
+
87
+ t.service_out('127.0.0.1', '1234')
88
+
89
+ sdm.run_once
90
+ assert_equal 0, sdm.services.size
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,21 @@
1
+ require_relative '../../helper'
2
+ require 'fluent/plugin_helper/service_discovery/round_robin_balancer'
3
+
4
+ class TestRoundRobinBalancer < ::Test::Unit::TestCase
5
+ test 'select_service' do
6
+ rrb = Fluent::PluginHelper::ServiceDiscovery::RoundRobinBalancer.new
7
+ rrb.rebalance([1, 2, 3])
8
+
9
+ rrb.select_service { |n| assert_equal 1, n }
10
+ rrb.select_service { |n| assert_equal 2, n }
11
+ rrb.select_service { |n| assert_equal 3, n }
12
+ rrb.select_service { |n| assert_equal 1, n }
13
+ rrb.select_service { |n| assert_equal 2, n }
14
+ rrb.select_service { |n| assert_equal 3, n }
15
+ rrb.rebalance([1, 2, 3, 4])
16
+ rrb.select_service { |n| assert_equal 1, n }
17
+ rrb.select_service { |n| assert_equal 2, n }
18
+ rrb.select_service { |n| assert_equal 3, n }
19
+ rrb.select_service { |n| assert_equal 4, n }
20
+ end
21
+ end
@@ -0,0 +1,72 @@
1
+ require_relative '../helper'
2
+ require 'flexmock/test_unit'
3
+ require 'fluent/plugin_helper/service_discovery'
4
+ require 'fluent/plugin/output'
5
+
6
+ class ServiceDiscoveryHelper < Test::Unit::TestCase
7
+ PORT = unused_port
8
+ NULL_LOGGER = Logger.new(nil)
9
+
10
+ class Dummy < Fluent::Plugin::TestBase
11
+ helpers :service_discovery
12
+
13
+ # Make these mehtod public
14
+ def service_discovery_create_manager(title, configurations:, load_balancer: nil, custom_build_method: nil, interval: 3)
15
+ super
16
+ end
17
+
18
+ def discovery_manager
19
+ super
20
+ end
21
+ end
22
+
23
+ setup do
24
+ @sd_file_dir = File.expand_path('../plugin/data/sd_file', __dir__)
25
+
26
+ @d = nil
27
+ end
28
+
29
+ teardown do
30
+ if @d
31
+ @d.stop unless @d.stopped?
32
+ @d.shutdown unless @d.shutdown?
33
+ @d.close unless @d.closed?
34
+ @d.terminate unless @d.terminated?
35
+ end
36
+ end
37
+
38
+ test 'start discovery manager' do
39
+ d = @d = Dummy.new
40
+
41
+ d.service_discovery_create_manager(
42
+ :service_discovery_helper_test,
43
+ configurations: [{ type: :static, conf: config_element('root', '', {}, [config_element('service', '', { 'host' => '127.0.0.1', 'port' => '1234' })]) }],
44
+ )
45
+
46
+ assert_true !!d.discovery_manager
47
+
48
+ mock.proxy(d.discovery_manager).start.once
49
+ mock.proxy(d).timer_execute(:service_discovery_helper_test, anything).never
50
+
51
+ d.start
52
+
53
+ services = d.discovery_manager.services
54
+ assert_equal 1, services.size
55
+ assert_equal '127.0.0.1', services[0].host
56
+ assert_equal 1234, services[0].port
57
+ end
58
+
59
+ test 'call timer_execute if dynamic configuration' do
60
+ d = @d = Dummy.new
61
+
62
+ d.service_discovery_create_manager(
63
+ :service_discovery_helper_test,
64
+ configurations: [{ type: :file, conf: config_element('file_config', '', { 'path' => File.join(@sd_file_dir, 'config.yml') }) }],
65
+ )
66
+
67
+ assert_true !!d.discovery_manager
68
+ mock.proxy(d.discovery_manager).start.once
69
+ mock(d).timer_execute(:service_discovery_helper_test, anything).once
70
+ d.start
71
+ end
72
+ end
@@ -74,7 +74,7 @@ module EventTest
74
74
 
75
75
  test 'to_msgpack_stream' do
76
76
  stream = @es.to_msgpack_stream
77
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
77
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
78
78
  assert_equal @time, time
79
79
  assert_equal @record, record
80
80
  }
@@ -82,7 +82,7 @@ module EventTest
82
82
 
83
83
  test 'to_msgpack_stream with time_int argument' do
84
84
  stream = @es.to_msgpack_stream(time_int: true)
85
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
85
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
86
86
  assert_equal @time.to_i, time
87
87
  assert_equal @record, record
88
88
  }
@@ -90,7 +90,7 @@ module EventTest
90
90
 
91
91
  test 'to_compressed_msgpack_stream' do
92
92
  stream = @es.to_compressed_msgpack_stream
93
- Fluent::Engine.msgpack_factory.unpacker.feed_each(decompress(stream)) { |time, record|
93
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(decompress(stream)) { |time, record|
94
94
  assert_equal @time, time
95
95
  assert_equal @record, record
96
96
  }
@@ -98,7 +98,7 @@ module EventTest
98
98
 
99
99
  test 'to_compressed_msgpack_stream with time_int argument' do
100
100
  stream = @es.to_compressed_msgpack_stream(time_int: true)
101
- Fluent::Engine.msgpack_factory.unpacker.feed_each(decompress(stream)) { |time, record|
101
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(decompress(stream)) { |time, record|
102
102
  assert_equal @time.to_i, time
103
103
  assert_equal @record, record
104
104
  }
@@ -174,7 +174,7 @@ module EventTest
174
174
  test 'to_msgpack_stream' do
175
175
  i = 0
176
176
  stream = @es.to_msgpack_stream
177
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
177
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
178
178
  assert_equal @times[i], time
179
179
  assert_equal @records[i], record
180
180
  i += 1
@@ -185,7 +185,7 @@ module EventTest
185
185
  i = 0
186
186
  compressed_stream = @es.to_compressed_msgpack_stream
187
187
  stream = decompress(compressed_stream)
188
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
188
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
189
189
  assert_equal @times[i], time
190
190
  assert_equal @records[i], record
191
191
  i += 1
@@ -196,7 +196,7 @@ module EventTest
196
196
  i = 0
197
197
  compressed_stream = @es.to_compressed_msgpack_stream(time_int: true)
198
198
  stream = decompress(compressed_stream)
199
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
199
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
200
200
  assert_equal @times[i].to_i, time
201
201
  assert_equal @records[i], record
202
202
  i += 1
@@ -276,7 +276,7 @@ module EventTest
276
276
  test 'to_msgpack_stream' do
277
277
  i = 0
278
278
  stream = @es.to_msgpack_stream
279
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
279
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
280
280
  assert_equal @times[i], time
281
281
  assert_equal @records[i], record
282
282
  i += 1
@@ -287,7 +287,7 @@ module EventTest
287
287
  i = 0
288
288
  compressed_stream = @es.to_compressed_msgpack_stream
289
289
  stream = decompress(compressed_stream)
290
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
290
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
291
291
  assert_equal @times[i], time
292
292
  assert_equal @records[i], record
293
293
  i += 1
@@ -298,7 +298,7 @@ module EventTest
298
298
  i = 0
299
299
  compressed_stream = @es.to_compressed_msgpack_stream(time_int: true)
300
300
  stream = decompress(compressed_stream)
301
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
301
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
302
302
  assert_equal @times[i].to_i, time
303
303
  assert_equal @records[i], record
304
304
  i += 1
@@ -312,7 +312,7 @@ module EventTest
312
312
  include Fluent::Plugin::Compressable
313
313
 
314
314
  def setup
315
- pk = Fluent::Engine.msgpack_factory.packer
315
+ pk = Fluent::MessagePackFactory.msgpack_packer
316
316
  time = Engine.now
317
317
  @times = [Fluent::EventTime.new(time.sec), Fluent::EventTime.new(time.sec + 1)]
318
318
  @records = [{'k' => 'v1', 'n' => 1}, {'k' => 'v2', 'n' => 2}]
@@ -384,7 +384,7 @@ module EventTest
384
384
  test 'to_msgpack_stream' do
385
385
  i = 0
386
386
  stream = @es.to_msgpack_stream
387
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
387
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
388
388
  assert_equal @times[i], time
389
389
  assert_equal @records[i], record
390
390
  i += 1
@@ -395,7 +395,7 @@ module EventTest
395
395
  i = 0
396
396
  compressed_stream = @es.to_compressed_msgpack_stream
397
397
  stream = decompress(compressed_stream)
398
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
398
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
399
399
  assert_equal @times[i], time
400
400
  assert_equal @records[i], record
401
401
  i += 1
@@ -490,7 +490,7 @@ module EventTest
490
490
  stream = nil
491
491
  ensure_data_is_decompressed { stream = @es.to_msgpack_stream }
492
492
 
493
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
493
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
494
494
  assert_equal @times[i], time
495
495
  assert_equal @records[i], record
496
496
  i += 1
@@ -505,7 +505,7 @@ module EventTest
505
505
  assert_equal @entries, @es.instance_variable_get(:@data)
506
506
 
507
507
  stream = decompress(compressed_stream)
508
- Fluent::Engine.msgpack_factory.unpacker.feed_each(stream) { |time, record|
508
+ Fluent::MessagePackFactory.msgpack_unpacker.feed_each(stream) { |time, record|
509
509
  assert_equal @times[i], time
510
510
  assert_equal @records[i], record
511
511
  i += 1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.4
4
+ version: 1.8.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
@@ -385,10 +385,12 @@ files:
385
385
  - example/out_forward_buf_file.conf
386
386
  - example/out_forward_client.conf
387
387
  - example/out_forward_heartbeat_none.conf
388
+ - example/out_forward_sd.conf
388
389
  - example/out_forward_shared_key.conf
389
390
  - example/out_forward_tls.conf
390
391
  - example/out_forward_users.conf
391
392
  - example/out_null.conf
393
+ - example/sd.yaml
392
394
  - example/secondary_file.conf
393
395
  - example/suppress_config_dump.conf
394
396
  - example/v0_12_filter.conf
@@ -546,6 +548,9 @@ files:
546
548
  - lib/fluent/plugin/parser_regexp.rb
547
549
  - lib/fluent/plugin/parser_syslog.rb
548
550
  - lib/fluent/plugin/parser_tsv.rb
551
+ - lib/fluent/plugin/sd_file.rb
552
+ - lib/fluent/plugin/sd_static.rb
553
+ - lib/fluent/plugin/service_discovery.rb
549
554
  - lib/fluent/plugin/socket_util.rb
550
555
  - lib/fluent/plugin/storage.rb
551
556
  - lib/fluent/plugin/storage_local.rb
@@ -572,6 +577,9 @@ files:
572
577
  - lib/fluent/plugin_helper/record_accessor.rb
573
578
  - lib/fluent/plugin_helper/retry_state.rb
574
579
  - lib/fluent/plugin_helper/server.rb
580
+ - lib/fluent/plugin_helper/service_discovery.rb
581
+ - lib/fluent/plugin_helper/service_discovery/manager.rb
582
+ - lib/fluent/plugin_helper/service_discovery/round_robin_balancer.rb
575
583
  - lib/fluent/plugin_helper/socket.rb
576
584
  - lib/fluent/plugin_helper/socket_option.rb
577
585
  - lib/fluent/plugin_helper/storage.rb
@@ -662,6 +670,11 @@ files:
662
670
  - test/plugin/data/log/foo/bar.log
663
671
  - test/plugin/data/log/foo/bar2
664
672
  - test/plugin/data/log/test.log
673
+ - test/plugin/data/sd_file/config
674
+ - test/plugin/data/sd_file/config.json
675
+ - test/plugin/data/sd_file/config.yaml
676
+ - test/plugin/data/sd_file/config.yml
677
+ - test/plugin/data/sd_file/invalid_config.yml
665
678
  - test/plugin/out_forward/test_ack_handler.rb
666
679
  - test/plugin/out_forward/test_connection_manager.rb
667
680
  - test/plugin/out_forward/test_handshake_protocol.rb
@@ -742,6 +755,7 @@ files:
742
755
  - test/plugin/test_parser_regexp.rb
743
756
  - test/plugin/test_parser_syslog.rb
744
757
  - test/plugin/test_parser_tsv.rb
758
+ - test/plugin/test_sd_file.rb
745
759
  - test/plugin/test_storage.rb
746
760
  - test/plugin/test_storage_local.rb
747
761
  - test/plugin/test_string_util.rb
@@ -750,6 +764,8 @@ files:
750
764
  - test/plugin_helper/data/cert/cert.pem
751
765
  - test/plugin_helper/http_server/test_app.rb
752
766
  - test/plugin_helper/http_server/test_route.rb
767
+ - test/plugin_helper/service_discovery/test_manager.rb
768
+ - test/plugin_helper/service_discovery/test_round_robin_balancer.rb
753
769
  - test/plugin_helper/test_cert_option.rb
754
770
  - test/plugin_helper/test_child_process.rb
755
771
  - test/plugin_helper/test_compat_parameters.rb
@@ -763,6 +779,7 @@ files:
763
779
  - test/plugin_helper/test_record_accessor.rb
764
780
  - test/plugin_helper/test_retry_state.rb
765
781
  - test/plugin_helper/test_server.rb
782
+ - test/plugin_helper/test_service_discovery.rb
766
783
  - test/plugin_helper/test_storage.rb
767
784
  - test/plugin_helper/test_thread.rb
768
785
  - test/plugin_helper/test_timer.rb
@@ -812,9 +829,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
812
829
  version: '2.1'
813
830
  required_rubygems_version: !ruby/object:Gem::Requirement
814
831
  requirements:
815
- - - ">="
832
+ - - ">"
816
833
  - !ruby/object:Gem::Version
817
- version: '0'
834
+ version: 1.3.1
818
835
  requirements: []
819
836
  rubygems_version: 3.0.3
820
837
  signing_key:
@@ -855,6 +872,11 @@ test_files:
855
872
  - test/plugin/data/log/foo/bar.log
856
873
  - test/plugin/data/log/foo/bar2
857
874
  - test/plugin/data/log/test.log
875
+ - test/plugin/data/sd_file/config
876
+ - test/plugin/data/sd_file/config.json
877
+ - test/plugin/data/sd_file/config.yaml
878
+ - test/plugin/data/sd_file/config.yml
879
+ - test/plugin/data/sd_file/invalid_config.yml
858
880
  - test/plugin/out_forward/test_ack_handler.rb
859
881
  - test/plugin/out_forward/test_connection_manager.rb
860
882
  - test/plugin/out_forward/test_handshake_protocol.rb
@@ -935,6 +957,7 @@ test_files:
935
957
  - test/plugin/test_parser_regexp.rb
936
958
  - test/plugin/test_parser_syslog.rb
937
959
  - test/plugin/test_parser_tsv.rb
960
+ - test/plugin/test_sd_file.rb
938
961
  - test/plugin/test_storage.rb
939
962
  - test/plugin/test_storage_local.rb
940
963
  - test/plugin/test_string_util.rb
@@ -943,6 +966,8 @@ test_files:
943
966
  - test/plugin_helper/data/cert/cert.pem
944
967
  - test/plugin_helper/http_server/test_app.rb
945
968
  - test/plugin_helper/http_server/test_route.rb
969
+ - test/plugin_helper/service_discovery/test_manager.rb
970
+ - test/plugin_helper/service_discovery/test_round_robin_balancer.rb
946
971
  - test/plugin_helper/test_cert_option.rb
947
972
  - test/plugin_helper/test_child_process.rb
948
973
  - test/plugin_helper/test_compat_parameters.rb
@@ -956,6 +981,7 @@ test_files:
956
981
  - test/plugin_helper/test_record_accessor.rb
957
982
  - test/plugin_helper/test_retry_state.rb
958
983
  - test/plugin_helper/test_server.rb
984
+ - test/plugin_helper/test_service_discovery.rb
959
985
  - test/plugin_helper/test_storage.rb
960
986
  - test/plugin_helper/test_thread.rb
961
987
  - test/plugin_helper/test_timer.rb