--- # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - name: Detect journalbeat host deployment group(s) hosts: all gather_facts: false connection: local tasks: - name: Configure deployment group when Journalbeat group not specified block: - name: Add hosts to dynamic inventory group group_by: key: journalbeat_deployment_containers parents: all_journalbeat_deployments when: - openstack_release is defined and openstack_release is version('18.0.0', 'lt') - physical_host is defined and physical_host != inventory_hostname - name: Add hosts to dynamic inventory group group_by: key: journalbeat_deployment_hosts parents: all_journalbeat_deployments when: - physical_host is undefined or physical_host == inventory_hostname when: - groups['journalbeat'] is not defined tags: - always - name: Install Journalbeat hosts: "{{ groups['journalbeat'] | default(groups['all_journalbeat_deployments']) }}" become: true vars: haproxy_ssl: false vars_files: - vars/variables.yml environment: "{{ deployment_environment_variables | default({}) }}" pre_tasks: - name: Check for journal directory stat: path: /var/log/journal register: journal_dir tags: - always - name: Halt this playbook if no journal is found meta: end_play when: - not (journal_dir.stat.exists | bool) or (ansible_facts['service_mgr'] != 'systemd') roles: - role: elastic_journalbeat tags: - beat-install - name: Setup journalbeat rollup hosts: elastic[0] become: true vars: haproxy_ssl: false vars_files: - vars/variables.yml environment: "{{ deployment_environment_variables | default({}) }}" pre_tasks: - name: Check for journal directory stat: path: /var/log/journal register: journal_dir tags: - always - name: Halt this playbook if no journal is found meta: end_play when: - not (journal_dir.stat.exists | bool) or (ansible_facts['service_mgr'] != 'systemd') roles: - role: elastic_rollup index_name: journalbeat when: - elastic_create_rollup | bool tags: - journalbeat