summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging_fluentd
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2017-07-27 09:50:03 -0600
committerRich Megginson <rmeggins@redhat.com>2017-08-01 11:12:06 -0600
commitace4a6cf7c5f9e3abea46a1811d04f4d5a03505f (patch)
tree1adeea93f394cca7d1d3e625b66c8af146993743 /roles/openshift_logging_fluentd
parent1990a975c3101389631eaee925760607600a0629 (diff)
downloadopenshift-ace4a6cf7c5f9e3abea46a1811d04f4d5a03505f.tar.gz
openshift-ace4a6cf7c5f9e3abea46a1811d04f4d5a03505f.tar.bz2
openshift-ace4a6cf7c5f9e3abea46a1811d04f4d5a03505f.tar.xz
openshift-ace4a6cf7c5f9e3abea46a1811d04f4d5a03505f.zip
use mux_client_mode instead of use_mux_client
Instead of the `openshift_logging_use_mux_client` boolean parameter, use `openshift_logging_mux_client_mode` which will allow us to support different mux client use cases: The value `maximal` will cause Fluentd to perform as much of the processing as possible at the local node. This currently means all of the processing *except* for the Kubernetes metadata processing, which will be done by mux. This is the currently recommended mode to use due to current scaling issues. The value `minimal` means that Fluentd will do *no* processing at all, and send the raw logs to mux for processing. This is currently not recommended to use due to current scaling issues. Ansible will warn you if you try to use this mode. `MUX_ALLOW_EXTERNAL` is no longer needed in the mux dc. mux now always operates to process external logs. The ansible setting `openshift_logging_mux_allow_external` is still required in order to set up the mux service to accept connections from outside of the cluster.
Diffstat (limited to 'roles/openshift_logging_fluentd')
-rw-r--r--roles/openshift_logging_fluentd/defaults/main.yml1
-rw-r--r--roles/openshift_logging_fluentd/tasks/main.yaml8
-rw-r--r--roles/openshift_logging_fluentd/templates/fluentd.j210
-rw-r--r--roles/openshift_logging_fluentd/vars/main.yml1
4 files changed, 15 insertions, 5 deletions
diff --git a/roles/openshift_logging_fluentd/defaults/main.yml b/roles/openshift_logging_fluentd/defaults/main.yml
index be9943b0d..a53bbd2df 100644
--- a/roles/openshift_logging_fluentd/defaults/main.yml
+++ b/roles/openshift_logging_fluentd/defaults/main.yml
@@ -48,7 +48,6 @@ openshift_logging_fluentd_aggregating_strict: "no"
openshift_logging_fluentd_aggregating_cert_path: none
openshift_logging_fluentd_aggregating_key_path: none
openshift_logging_fluentd_aggregating_passphrase: none
-openshift_logging_use_mux_client: False
### Deprecating in 3.6
openshift_logging_fluentd_es_copy: false
diff --git a/roles/openshift_logging_fluentd/tasks/main.yaml b/roles/openshift_logging_fluentd/tasks/main.yaml
index 55de2ae8d..9dfc6fc86 100644
--- a/roles/openshift_logging_fluentd/tasks/main.yaml
+++ b/roles/openshift_logging_fluentd/tasks/main.yaml
@@ -23,6 +23,14 @@
msg: openshift_hosted_logging_use_journal is deprecated. Fluentd will automatically detect which logging driver is being used.
when: openshift_hosted_logging_use_journal is defined
+- fail:
+ msg: Invalid openshift_logging_mux_client_mode [{{ openshift_logging_mux_client_mode }}], one of {{ __allowed_mux_client_modes }} allowed
+ when: openshift_logging_mux_client_mode is defined and not openshift_logging_mux_client_mode in __allowed_mux_client_modes
+
+- debug:
+ msg: WARNING Use of openshift_logging_mux_client_mode=minimal is not recommended due to current scaling issues
+ when: openshift_logging_mux_client_mode is defined and openshift_logging_mux_client_mode == 'minimal'
+
- include: determine_version.yaml
# allow passing in a tempdir
diff --git a/roles/openshift_logging_fluentd/templates/fluentd.j2 b/roles/openshift_logging_fluentd/templates/fluentd.j2
index a4cf9a149..39dffba19 100644
--- a/roles/openshift_logging_fluentd/templates/fluentd.j2
+++ b/roles/openshift_logging_fluentd/templates/fluentd.j2
@@ -64,7 +64,7 @@ spec:
readOnly: true
- name: filebufferstorage
mountPath: /var/lib/fluentd
-{% if openshift_logging_use_mux_client | bool %}
+{% if openshift_logging_mux_client_mode is defined %}
- name: muxcerts
mountPath: /etc/fluent/muxkeys
readOnly: true
@@ -112,10 +112,12 @@ spec:
resourceFieldRef:
containerName: "{{ daemonset_container_name }}"
resource: limits.memory
- - name: "USE_MUX_CLIENT"
- value: "{{ openshift_logging_use_mux_client | default('false') | lower }}"
- name: "FILE_BUFFER_LIMIT"
value: "{{ openshift_logging_fluentd_file_buffer_limit | default('1Gi') }}"
+{% if openshift_logging_mux_client_mode is defined %}
+ - name: "MUX_CLIENT_MODE"
+ value: "{{ openshift_logging_mux_client_mode }}"
+{% endif %}
volumes:
- name: runlogjournal
hostPath:
@@ -144,7 +146,7 @@ spec:
- name: dockerdaemoncfg
hostPath:
path: /etc/docker
-{% if openshift_logging_use_mux_client | bool %}
+{% if openshift_logging_mux_client_mode is defined %}
- name: muxcerts
secret:
secretName: logging-mux
diff --git a/roles/openshift_logging_fluentd/vars/main.yml b/roles/openshift_logging_fluentd/vars/main.yml
index ad3fb0bdd..ec8e565c3 100644
--- a/roles/openshift_logging_fluentd/vars/main.yml
+++ b/roles/openshift_logging_fluentd/vars/main.yml
@@ -2,3 +2,4 @@
__latest_fluentd_version: "3_5"
__allowed_fluentd_versions: ["3_5", "3_6"]
__allowed_fluentd_types: ["hosted", "secure-aggregator", "secure-host"]
+__allowed_mux_client_modes: ["minimal", "maximal"]