fluent-plugin-kubernetes-metrics 1.2.0 → 1.2.1

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
  SHA256:
3
- metadata.gz: d045b836c1441d1472ebe35ffed305974a6c6cb438f28bc5d9c9d04cb205808f
4
- data.tar.gz: 6828329da0a99066abccb55b72c64c5d69f4e2b281d8834767eb5ce896ed9514
3
+ metadata.gz: c8cc8ed0ac2d0a4e52276aef23ec9e9cebb7659d9d2d1ad8bce83f9d88a4220c
4
+ data.tar.gz: c22c687bfc5ea76e5f3ee70a0f4aa0838af5e83e8b6a939faff4e0f34b84e2ae
5
5
  SHA512:
6
- metadata.gz: 4f0f254bcf6d823a95478780df14aa7ddccbfc07849c36373b86f79c995167625b7872d7a193352ffad4b14c3b92b824f6344aeb4d92a3c6f6edc93bbdeda567
7
- data.tar.gz: bbb2bbdc5b8a6ae48cc8e0e8f159a69c58a715e270d3275e8030878f2dcffb14cb999f1347bf07dc33092db7c05b348b03e14d57e45131fa012253140f4dcd61
6
+ metadata.gz: 4c9425096d61afd78cee9a42169e74d2f22dd8512699fe960b92b0b8ceffa72de0a2b09ab9b811fcbcd6f11085a6c7f32259e95fd1da92d1cd0507b22ce3f99b
7
+ data.tar.gz: 8c7e6f37ea8134cda37bd52347f5cacee5c8d8b9c84a75c899b0938551a027cf737816892ce1156f7f6f215679c05b85d6c3256546b3051be4e659aa0d68ff4f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fluent-plugin-kubernetes-metrics (1.2.0)
4
+ fluent-plugin-kubernetes-metrics (1.2.1)
5
5
  fluentd (>= 1.9.1)
6
6
  kubeclient (~> 4.9.3)
7
7
  multi_json (~> 1.14)
@@ -23,7 +23,7 @@ GEM
23
23
  ffi-compiler (1.0.1)
24
24
  ffi (>= 1.0.0)
25
25
  rake
26
- fluentd (1.15.1)
26
+ fluentd (1.15.3)
27
27
  bundler
28
28
  cool.io (>= 1.4.5, < 2.0.0)
29
29
  http_parser.rb (>= 0.5.1, < 0.9.0)
@@ -59,10 +59,10 @@ GEM
59
59
  mime-types (3.4.1)
60
60
  mime-types-data (~> 3.2015)
61
61
  mime-types-data (3.2022.0105)
62
- msgpack (1.5.4)
62
+ msgpack (1.6.0)
63
63
  multi_json (1.15.0)
64
64
  netrc (0.11.0)
65
- oj (3.13.20)
65
+ oj (3.13.23)
66
66
  power_assert (2.0.1)
67
67
  public_suffix (4.0.6)
68
68
  rake (13.0.6)
@@ -86,7 +86,7 @@ GEM
86
86
  power_assert
87
87
  tzinfo (2.0.5)
88
88
  concurrent-ruby (~> 1.0)
89
- tzinfo-data (1.2022.2)
89
+ tzinfo-data (1.2022.6)
90
90
  tzinfo (>= 1.0.0)
91
91
  unf (0.1.4)
92
92
  unf_ext
@@ -110,4 +110,4 @@ DEPENDENCIES
110
110
  webmock (~> 3.5.1)
111
111
 
112
112
  BUNDLED WITH
113
- 2.3.20
113
+ 2.3.26
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0
1
+ 1.2.1
@@ -17,6 +17,7 @@ require 'time'
17
17
  require 'fluent/plugin/input'
18
18
  require 'kubeclient'
19
19
  require 'multi_json'
20
+ require 'resolv'
20
21
 
21
22
  module Fluent
22
23
  module Plugin
@@ -76,6 +77,8 @@ module Fluent
76
77
  def configure(conf)
77
78
  super
78
79
 
80
+ @kubelet_address = "[#{@kubelet_address}]" if @kubelet_address =~ Resolv::IPv6::Regex
81
+
79
82
  if @use_rest_client
80
83
  raise Fluentd::ConfigError, 'node_name is required' if @node_name.nil? || @node_name.empty?
81
84
  else
@@ -136,6 +139,7 @@ module Fluent
136
139
  if @kubernetes_url.nil?
137
140
  # Use Kubernetes default service account if we're in a pod.
138
141
  env_host = ENV['KUBERNETES_SERVICE_HOST']
142
+ env_host = "[#{env_host}]" if env_host =~ Resolv::IPv6::Regex
139
143
  env_port = ENV['KUBERNETES_SERVICE_PORT']
140
144
  if env_host && env_port
141
145
  @kubernetes_url = "https://#{env_host}:#{env_port}/api/"
@@ -109,6 +109,30 @@ class KubernetesMetricsInputTest < Test::Unit::TestCase
109
109
  assert_equal true, d.instance.use_rest_client
110
110
  end
111
111
 
112
+ test 'IPv6 node configuration' do
113
+ IPv6_CONFIG = %(
114
+ type kubernetes_metrics
115
+ node_name generics-aws-node-name
116
+ tag kube.*
117
+ insecure_ssl true
118
+ interval 10s
119
+ use_rest_client true
120
+ use_rest_client_ssl false
121
+ kubelet_port 10_255
122
+ kubelet_address fd55:4d62:e00f::1
123
+ )
124
+ assert_nothing_raised(Fluent::ConfigError) do
125
+ create_driver(IPv6_CONFIG)
126
+ end
127
+
128
+ d = create_driver(IPv6_CONFIG)
129
+ assert_equal '[fd55:4d62:e00f::1]', d.instance.kubelet_address
130
+ assert_equal 'http://[fd55:4d62:e00f::1]:10255/stats/summary', d.instance.instance_variable_get('@kubelet_url')
131
+ assert_equal 'http://[fd55:4d62:e00f::1]:10255/stats', d.instance.instance_variable_get('@kubelet_url_stats')
132
+ assert_equal 'http://[fd55:4d62:e00f::1]:10255/metrics/cadvisor', d.instance.instance_variable_get('@cadvisor_url')
133
+
134
+ end
135
+
112
136
  sub_test_case 'node_unit_tests' do
113
137
  test 'test_emit_cpu_metrics' do
114
138
  assert_not_nil @@hash_map_test.key?('kube.node.cpu.usage')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-kubernetes-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Splunk Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-16 00:00:00.000000000 Z
11
+ date: 2022-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -180,6 +180,6 @@ signing_key:
180
180
  specification_version: 4
181
181
  summary: A fluentd input plugin that collects kubernetes cluster metrics.
182
182
  test_files:
183
- - test/plugin/test_missing_timestamps.rb
184
183
  - test/plugin/test_in_kubernetes_metrics.rb
184
+ - test/plugin/test_missing_timestamps.rb
185
185
  - test/helper.rb