fluent-plugin-viaq_data_model 0.0.12 → 0.0.13

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: 5d9843f79f5f9c77f2d7e846d2db2f9603ef97bb
4
- data.tar.gz: c2c3d05a6f76e75274246a11af13d870a6bdf84f
3
+ metadata.gz: f0eb13933dfd280f189d13bdb1990bb8d41aab5b
4
+ data.tar.gz: 821d55c5f7a85a8a2fa42c9cb64cfd9223c0289e
5
5
  SHA512:
6
- metadata.gz: 9799e82962f80305db119f3134f36ad9040e3a72515c56c82872e3d72326ca427f54d902a6f765c9c189f0b28d5c1935d83e922971de2d4ae805f2f2cb3a98cd
7
- data.tar.gz: dbdff538da0efa79bb3a07891364984c77c78712230fbf6d5460dc164458b35d194a6a79f8cf4911c0e8d19a5f0c730fdc9c2eac184399315e594c453efebf56
6
+ metadata.gz: 274c56353afc59f26b34f2a04439260d5b3267ac94a6eaf47aa09ccd23f2aa6b9f0b6424bdbc22a85206f0366112853fc6d3ffde97941fbb4a55090e07cca473
7
+ data.tar.gz: f13e59ee0b21d33842ee4b3850a3e1b6e8f64d90ecd9359eb5a5657939c8946bde0a4a6e2996f0f0aa5451bf3fd8c147e74f7d07ab423ceb64bbaabef152b31a
@@ -7,7 +7,7 @@ FLUENTD_VERSION = ENV['FLUENTD_VERSION'] || "0.12.0"
7
7
 
8
8
  Gem::Specification.new do |gem|
9
9
  gem.name = "fluent-plugin-viaq_data_model"
10
- gem.version = "0.0.12"
10
+ gem.version = "0.0.13"
11
11
  gem.authors = ["Rich Megginson"]
12
12
  gem.email = ["rmeggins@redhat.com"]
13
13
  gem.description = %q{Filter plugin to ensure data is in the ViaQ common data model}
@@ -143,6 +143,8 @@ module Fluent
143
143
  desc 'Optionally turn off processing of kubernetes events'
144
144
  config_param :process_kubernetes_events, :bool, default: true
145
145
 
146
+ config_param :orphaned_namespace_name, :string, default: '.orphaned'
147
+
146
148
  def configure(conf)
147
149
  super
148
150
  @keep_fields = {}
@@ -381,18 +383,24 @@ module Fluent
381
383
  when :operations_full, :operations_prefix
382
384
  prefix = ".operations"
383
385
  when :project_full, :project_prefix
384
- if (k8s = record['kubernetes']).nil?
385
- log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes field: #{record}")
386
- break
387
- elsif (name = k8s['namespace_name']).nil?
388
- log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes.namespace_name field: #{record}")
389
- break
390
- elsif (uuid = k8s['namespace_id']).nil?
391
- log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes.namespace_id field: #{record}")
392
- break
386
+ name, uuid = nil
387
+ unless record['kubernetes'].nil?
388
+ k8s = record['kubernetes']
389
+ name = k8s['namespace_name']
390
+ uuid = k8s['namespace_id']
391
+ if name.nil?
392
+ log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes.namespace_name field: #{record}")
393
+ end
394
+ if uuid.nil?
395
+ log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes.namespace_id field: #{record}")
396
+ end
393
397
  else
394
- prefix = "project." + name + "." + uuid
398
+ log.error("record cannot use elasticsearch index name type #{ein.name_type}: record is missing kubernetes field: #{record}")
399
+ end
400
+ if name.nil? || uuid.nil?
401
+ name = @orphaned_namespace_name
395
402
  end
403
+ prefix = name == @orphaned_namespace_name ? @orphaned_namespace_name : "project.#{name}.#{uuid}"
396
404
  end
397
405
 
398
406
  if ENV['CDM_DEBUG']
@@ -1141,8 +1141,10 @@ class ViaqDataModelFilterTest < Test::Unit::TestCase
1141
1141
  tag "**"
1142
1142
  name_type project_prefix
1143
1143
  </elasticsearch_index_name>
1144
+ elasticsearch_index_prefix_field my_index_prefix
1144
1145
  ')
1145
1146
  assert_match /record is missing kubernetes field/, @dlog.logs[0]
1147
+ assert_equal('.orphaned', rec['my_index_prefix'])
1146
1148
  end
1147
1149
  test 'log error if missing kubernetes.namespace_name field' do
1148
1150
  input = normal_input.merge({})
@@ -1157,6 +1159,7 @@ class ViaqDataModelFilterTest < Test::Unit::TestCase
1157
1159
  tag "kubernetes.journal.container**"
1158
1160
  type k8s_journal
1159
1161
  remove_keys log,stream,MESSAGE,_SOURCE_REALTIME_TIMESTAMP,__REALTIME_TIMESTAMP,CONTAINER_ID,CONTAINER_ID_FULL,CONTAINER_NAME,PRIORITY,_BOOT_ID,_CAP_EFFECTIVE,_CMDLINE,_COMM,_EXE,_GID,_HOSTNAME,_MACHINE_ID,_PID,_SELINUX_CONTEXT,_SYSTEMD_CGROUP,_SYSTEMD_SLICE,_SYSTEMD_UNIT,_TRANSPORT,_UID,_AUDIT_LOGINUID,_AUDIT_SESSION,_SYSTEMD_OWNER_UID,_SYSTEMD_SESSION,_SYSTEMD_USER_UNIT,CODE_FILE,CODE_FUNCTION,CODE_LINE,ERRNO,MESSAGE_ID,RESULT,UNIT,_KERNEL_DEVICE,_KERNEL_SUBSYSTEM,_UDEV_SYSNAME,_UDEV_DEVNODE,_UDEV_DEVLINK,SYSLOG_FACILITY,SYSLOG_IDENTIFIER,SYSLOG_PID
1162
+ elasticsearch_index_name_field my_index_name
1160
1163
  </formatter>
1161
1164
  <elasticsearch_index_name>
1162
1165
  tag "journal.system** system.var.log** **_default_** **_openshift_** **_openshift-infra_** mux.ops"
@@ -1166,8 +1169,10 @@ class ViaqDataModelFilterTest < Test::Unit::TestCase
1166
1169
  tag "**"
1167
1170
  name_type project_prefix
1168
1171
  </elasticsearch_index_name>
1172
+ elasticsearch_index_prefix_field my_index_prefix
1169
1173
  ')
1170
1174
  assert_match /record is missing kubernetes.namespace_name field/, @dlog.logs[0]
1175
+ assert_equal('.orphaned', rec['my_index_prefix'])
1171
1176
  end
1172
1177
  test 'log error if missing kubernetes.namespace_id field' do
1173
1178
  input = normal_input.merge({})
@@ -1191,8 +1196,10 @@ class ViaqDataModelFilterTest < Test::Unit::TestCase
1191
1196
  tag "**"
1192
1197
  name_type project_prefix
1193
1198
  </elasticsearch_index_name>
1199
+ elasticsearch_index_prefix_field my_index_prefix
1194
1200
  ')
1195
1201
  assert_match /record is missing kubernetes.namespace_id field/, @dlog.logs[0]
1202
+ assert_equal('.orphaned', rec['my_index_prefix'])
1196
1203
  end
1197
1204
  test 'construct a kubernetes index prefix' do
1198
1205
  input = normal_input.merge({})
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-viaq_data_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich Megginson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-20 00:00:00.000000000 Z
11
+ date: 2017-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd