--- - name: Set heartbeat host deployment group hosts: kibana gather_facts: false connection: local tasks: - name: Add hosts to dynamic inventory group group_by: key: heatbeat_deployment_targets parents: kibana when: - inventory_hostname in groups['kibana'][:3] tags: - always - name: Install Heartbeat hosts: heatbeat_deployment_targets become: true vars: haproxy_ssl: false vars_files: - vars/variables.yml environment: "{{ deployment_environment_variables | default({}) }}" pre_tasks: - include_tasks: common_task_data_node_hosts.yml tags: - always tasks: - include_tasks: common_task_install_elk_repo.yml - name: Ensure heartbeat is installed apt: name: "heartbeat-elastic" state: "{{ elk_package_state | default('present') }}" update_cache: true register: _apt_task until: _apt_task is success retries: 3 delay: 2 tags: - package_install - name: exit playbook after uninstall meta: end_play when: - (elk_package_state | default('present')) == 'absent' post_tasks: - name: Create heartbeat systemd service config dir file: path: "/etc/systemd/system/heartbeat.service.d" state: "directory" group: "root" owner: "root" mode: "0755" - name: Apply systemd options template: src: "{{ item.src }}" dest: "/etc/systemd/system/heartbeat.service.d/{{ item.dest }}" mode: "0644" with_items: - { src: "systemd.general-overrides.conf.j2", dest: "heartbeat-overrides.conf" } notify: - Enable and restart heartbeat - name: Drop heartbeat conf file template: src: templates/heartbeat.yml.j2 dest: /etc/heartbeat/heartbeat.yml notify: - Enable and restart heartbeat handlers: - name: Enable and restart heartbeat systemd: name: "heartbeat-elastic" enabled: true state: restarted daemon_reload: true when: - (elk_package_state | default('present')) != 'absent' tags: - config tags: - beat-install - import_playbook: setupHeartbeat.yml