diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2017-09-27 05:36:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-27 05:36:09 -0700 |
commit | 5afef2e7b29813760aa7b4f42013aebe16d08ec8 (patch) | |
tree | f43c5e71604493724d7a049000faec40c230b4e7 /roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml | |
parent | 1ab97938845c00119c3e88d58b33ae6cbd8f97fd (diff) | |
parent | 4e30a4243a6c9692c24a574ecfd83c2bcd1e2785 (diff) | |
download | openshift-5afef2e7b29813760aa7b4f42013aebe16d08ec8.tar.gz openshift-5afef2e7b29813760aa7b4f42013aebe16d08ec8.tar.bz2 openshift-5afef2e7b29813760aa7b4f42013aebe16d08ec8.tar.xz openshift-5afef2e7b29813760aa7b4f42013aebe16d08ec8.zip |
Merge pull request #4973 from wozniakjan/logging_eventrouter
Automatic merge from submit-queue
logging: introducing event router
Initial concept integrating kubernetes events to EFK stack using [eventrouter](https://github.com/heptio/eventrouter)
- **eventrouter** is deployed to logging project, has a service account and its own role to read events
- **eventrouter** watches kubernetes events, marshalls them to JSON and outputs to its STDOUT
- **fluentd** picks them up and inserts to elastic search logging project index
Kubernetes events could be easily stored into different index. Among other ways, it could be achieved either by a fluentd filter plugin or custom eventrouter sink.
Pending actions:
- [x] - get our downstream and upstream images for eventrouter, don't use heptio's
cc: @josefkarasek , @jcantrill , @richm
Diffstat (limited to 'roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml')
-rw-r--r-- | roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml b/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml new file mode 100644 index 000000000..8df7435e2 --- /dev/null +++ b/roles/openshift_logging_eventrouter/tasks/install_eventrouter.yaml @@ -0,0 +1,59 @@ +--- +# initial checks +- assert: + msg: Invalid sink type "{{openshift_logging_eventrouter_sink}}", only one of "{{__eventrouter_sinks}}" allowed + that: openshift_logging_eventrouter_sink in __eventrouter_sinks + +# allow passing in a tempdir +- name: Create temp directory for doing work in + command: mktemp -d /tmp/openshift-logging-ansible-XXXXXX + register: mktemp + changed_when: False + +- set_fact: + tempdir: "{{ mktemp.stdout }}" + +- name: Create templates subdirectory + file: + state: directory + path: "{{ tempdir }}/templates" + mode: 0755 + changed_when: False + +# create EventRouter deployment config +- name: Generate EventRouter template + template: + src: eventrouter-template.j2 + dest: "{{ tempdir }}/templates/eventrouter-template.yaml" + vars: + node_selector: "{{ openshift_logging_eventrouter_nodeselector | default({}) }}" + +- name: Create EventRouter template + oc_obj: + namespace: "{{ openshift_logging_eventrouter_namespace }}" + kind: template + name: eventrouter-template + state: present + files: + - "{{ tempdir }}/templates/eventrouter-template.yaml" + +- name: Process EventRouter template + oc_process: + state: present + template_name: eventrouter-template + namespace: "{{ openshift_logging_eventrouter_namespace }}" + params: + IMAGE: "{{openshift_logging_eventrouter_image_prefix}}logging-eventrouter:{{openshift_logging_eventrouter_image_version}}" + REPLICAS: "{{ openshift_logging_eventrouter_replicas }}" + CPU: "{{ openshift_logging_eventrouter_cpu_limit }}" + MEMORY: "{{ openshift_logging_eventrouter_memory_limit }}" + NAMESPACE: "{{ openshift_logging_eventrouter_namespace }}" + SINK: "{{ openshift_logging_eventrouter_sink }}" + +## Placeholder for migration when necessary ## + +- name: Delete temp directory + file: + name: "{{ tempdir }}" + state: absent + changed_when: False |