Skip to content

Commit

Permalink
Fix for pods with dots in name, prefix tag with default var.log.conta…
Browse files Browse the repository at this point in the history
…iners
  • Loading branch information
jimmidyson committed Sep 22, 2015
1 parent b04b22e commit b7ca287
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 7 deletions.
2 changes: 1 addition & 1 deletion lib/fluent/plugin/filter_kubernetes_metadata.rb
Expand Up @@ -31,7 +31,7 @@ class KubernetesMetadataFilter < Fluent::Filter
config_param :verify_ssl, :bool, default: true
config_param :tag_to_kubernetes_name_regexp,
:string,
:default => '\.(?<pod_name>[^\._]+)_(?<namespace>[^_]+)_(?<container_name>.+)-(?<docker_id>[a-z0-9]{64})\.log$'
:default => 'var\.log\.containers\.(?<pod_name>[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)_(?<namespace>[^_]+)_(?<container_name>.+)-(?<docker_id>[a-z0-9]{64})\.log$'
config_param :bearer_token_file, :string, default: ''
config_param :merge_json_log, :bool, default: true
config_param :include_namespace_id, :bool, default: false
Expand Down
33 changes: 27 additions & 6 deletions test/plugin/test_filter_kubernetes_metadata.rb
Expand Up @@ -112,8 +112,8 @@ def emit_with_tag(tag, msg={}, config='
host: 'jimmi-redhat.localnet',
pod_name: 'fabric8-console-controller-98rqc',
container_name: 'fabric8-console-container',
namespace_name: 'default',
pod_id: 'c76927af-f563-11e4-b32d-54ee7527188d',
namespace_name: 'default',
pod_id: 'c76927af-f563-11e4-b32d-54ee7527188d',
labels: {
component: 'fabric8Console'
}
Expand Down Expand Up @@ -167,8 +167,8 @@ def emit_with_tag(tag, msg={}, config='
host: 'jimmi-redhat.localnet',
pod_name: 'fabric8-console-controller-98rqc',
container_name: 'fabric8-console-container',
namespace_name: 'default',
pod_id: 'c76927af-f563-11e4-b32d-54ee7527188d',
namespace_name: 'default',
pod_id: 'c76927af-f563-11e4-b32d-54ee7527188d',
labels: {
component: 'fabric8Console'
}
Expand All @@ -187,7 +187,7 @@ def emit_with_tag(tag, msg={}, config='
kubernetes: {
pod_name: 'fabric8-console-controller-98rqc',
container_name: 'fabric8-console-container',
namespace_name: 'default',
namespace_name: 'default',
}
}
assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
Expand All @@ -208,7 +208,28 @@ def emit_with_tag(tag, msg={}, config='
kubernetes: {
pod_name: 'fabric8-console-controller-98rqc',
container_name: 'fabric8-console-container',
namespace_name: 'default'
namespace_name: 'default'
}
}
assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
end

test 'with dot in pod name' do
stub_request(:any, 'https://localhost:8443/api').to_return(
body: {
versions: ['v1beta3', 'v1']
}.to_json
)
stub_request(:any, 'https://localhost:8443/api/v1/namespaces/default/pods/fabric8-console-controller.98rqc').to_timeout
es = emit_with_tag('var.log.containers.fabric8-console-controller.98rqc_default_fabric8-console-container-49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459.log', {}, '')
expected_kube_metadata = {
docker: {
container_id: '49095a2894da899d3b327c5fde1e056a81376cc9a8f8b09a195f2a92bceed459'
},
kubernetes: {
pod_name: 'fabric8-console-controller.98rqc',
container_name: 'fabric8-console-container',
namespace_name: 'default'
}
}
assert_equal(expected_kube_metadata, es.instance_variable_get(:@record_array)[0])
Expand Down

0 comments on commit b7ca287

Please sign in to comment.