From 2f98fb4a2c7145ff64b6e24c002e93fe19412ae0 Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 08:43:50 +0100 Subject: [PATCH 1/8] Add start_services variable for buliding AMIs with Packer --- defaults/main.yml | 3 +++ handlers/main.yml | 1 + tasks/main.yml | 1 + 3 files changed, 5 insertions(+) diff --git a/defaults/main.yml b/defaults/main.yml index 828c33e..ec8d129 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -47,3 +47,6 @@ filebeat_apt_repo: "{{ filebeat_version|version_compare('5', '<')|ternary(filebe filebeat_repo_url_v1: https://packages.elastic.co/beats/yum/el/$basearch filebeat_repo_url_v5: https://artifacts.elastic.co/packages/5.x/yum filebeat_repo_url: "{{ filebeat_version|version_compare('5', '<')|ternary(filebeat_repo_url_v1, filebeat_repo_url_v5) }}" + +# Set to false for AMI building with packer +start_services: true diff --git a/handlers/main.yml b/handlers/main.yml index 6c7742d..c9d4c24 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -3,3 +3,4 @@ service: name: filebeat state: restarted + when: start_services diff --git a/tasks/main.yml b/tasks/main.yml index 18605e1..8c41acf 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -47,3 +47,4 @@ name: filebeat state: started enabled: true + when: start_services From 092bc9702488dd46be20120a6b7076cdfec2f44c Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 08:58:47 +0100 Subject: [PATCH 2/8] Split enable and start actions --- tasks/main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 8c41acf..5f07dd1 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,9 +42,14 @@ - name: flush handlers to prevent start then restart meta: flush_handlers -- name: start and enable filebeat +- name: enable filebeat service: name: filebeat - state: started enabled: true + daemon_reload: true + +- name: start filebeat + service: + name: filebeat + state: started when: start_services From c2182a7c346af000b75c5b7ff6ef2f763c261b4c Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 09:36:32 +0100 Subject: [PATCH 3/8] Enable filebeat dependent on init system type to fix tests --- tasks/redhat.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tasks/redhat.yml b/tasks/redhat.yml index f125b78..a4a4036 100644 --- a/tasks/redhat.yml +++ b/tasks/redhat.yml @@ -17,3 +17,12 @@ state: present notify: - restart filebeat + +- name: modify filebeat service file to include environment variables + lineinfile: + path: /usr/lib/systemd/system/filebeat.service + regexp: '^EnvironmentFile=/etc/sysconfig/filebeat$' + line: "EnvironmentFile=/etc/sysconfig/filebeat" + insertafter: '^\[Service\]$' + notify: + - restart filebeat From 485ec7d3e6f37c8f798202f51501e49d8f94a8fa Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 09:36:32 +0100 Subject: [PATCH 4/8] Enable filebeat dependent on init system type to fix tests --- tasks/main.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 5f07dd1..4fb5ac9 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,11 +42,18 @@ - name: flush handlers to prevent start then restart meta: flush_handlers -- name: enable filebeat - service: +- name: enable filebeat (systemd) + systemd: name: filebeat enabled: true daemon_reload: true + when: ansible_service_mgr == "systemd" + +- name: enable filebeat (other init) + service: + name: filebeat + enabled: true + when: ansible_service_mgr != "systemd" - name: start filebeat service: From fcef22c3b162b2632bcb121c82ab25817238538f Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 09:46:09 +0100 Subject: [PATCH 5/8] Fix tests by reloading systemd with shell module (systemd module is not available in tests) --- tasks/main.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 4fb5ac9..0af171d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,18 +42,14 @@ - name: flush handlers to prevent start then restart meta: flush_handlers -- name: enable filebeat (systemd) - systemd: - name: filebeat - enabled: true - daemon_reload: true +- name: reload systemd daemon + shell: "systemctl daemon-reload" when: ansible_service_mgr == "systemd" -- name: enable filebeat (other init) +- name: enable filebeat service: name: filebeat enabled: true - when: ansible_service_mgr != "systemd" - name: start filebeat service: From 400e9b335b9e752603b7eaa78b53eebf7d7b4235 Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 09:53:21 +0100 Subject: [PATCH 6/8] Fix systemd detection on Ansible 1.9 --- tasks/main.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 0af171d..34c35ba 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,9 +42,14 @@ - name: flush handlers to prevent start then restart meta: flush_handlers +- name: check if systemd present + stat: + path: /bin/systemctl + register: stat_result + - name: reload systemd daemon shell: "systemctl daemon-reload" - when: ansible_service_mgr == "systemd" + when: stat_result.stat.exists == true - name: enable filebeat service: From b44506a3480fae6362c7630cbab07eea1bc73504 Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 09:58:34 +0100 Subject: [PATCH 7/8] Fix warnings about depreciated include statement --- tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 34c35ba..c0a8fcd 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,8 +1,8 @@ --- -- include: redhat.yml +- import_tasks: redhat.yml when: ansible_os_family == 'RedHat' -- include: debian.yml +- import_tasks: debian.yml when: ansible_os_family == 'Debian' - name: create filebeat.yml From 7cd6e82978e11c9b16f110e9d2c268ec53014e95 Mon Sep 17 00:00:00 2001 From: luktom Date: Fri, 17 Nov 2017 10:15:26 +0100 Subject: [PATCH 8/8] Revert to include, as not supported by previous versions of ansible --- tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index c0a8fcd..34c35ba 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,8 +1,8 @@ --- -- import_tasks: redhat.yml +- include: redhat.yml when: ansible_os_family == 'RedHat' -- import_tasks: debian.yml +- include: debian.yml when: ansible_os_family == 'Debian' - name: create filebeat.yml