--- - import_playbook: playbook_ssh_known_host.yml - name: Configure Dynatrace hosts: - all gather_facts: yes vars_files: - vars/dynatrace.yml pre_tasks: - name: Gather hardware facts setup: gather_subset: - hardware roles: - {role: mkfs, tags: ["mkfs"], become: true, become_method: sudo} - {role: mount, tags: ["mount"], become: true, become_method: sudo} - {role: iptables, when: ansible_facts.os_family == "RedHat", tags: ["iptables"], become: true, become_method: sudo} tasks: - name: ipatbles show command: iptables -S become: true become_method: sudo failed_when: false - name: Ensure SELinux is set to enforcing mode lineinfile: path: /etc/selinux/config regexp: '^SELINUX=' line: SELINUX=disabled when: ansible_facts.os_family == "RedHat" become: true become_method: sudo - name: selinux show command: sestatus when: ansible_facts.os_family == "RedHat" become: true become_method: sudo failed_when: false - name: Check if authorized_keys exists stat: path: "{{ ansible_user_keys }}" register: stat_result - name: Add Dynatrace teams keys lineinfile: path: "{{ ansible_user_keys }}" line: "{{ dynatrace_admin_key }}" when: stat_result.stat.exists become: true become_method: sudo failed_when: false - name: Download installer get_url: url: "{{ dynatrace_url }}" #https://dynatrace.desjardins.com/e/0a8b018a-cb27-43e7-b545-4ea4b71af8c7/api/v1/deployment/installer/gateway/unix/lates dest: "{{ download_dir | default('/tmp', true)}}/{{ download_file | default('Dynatrace-ActiveGate-Linux.sh', true) }}" checksum: "{{ checksum | default('', true) }}" force: "{{ force | default(false, true) }}" headers: "{{ dynatrace_headers | default({'accept': 'application/octet-stream', 'Authorization': dynatrace_token}, true) }}" mode: "{{ mode | default(0540, true) }}" validate_certs: "{{ validate_tls | default(false, true) }}" delegate_to: localhost - name: Check if uninstall exist stat: path: "{{ dynatrace_bin_dir }}/uninstall.sh" register: unins become: true become_method: sudo - name: Check if Dynatrace binary dir exist stat: path: "{{ dynatrace_bin_dir }}" register: dyna_bindir become: true become_method: sudo - name: Check if Dynatrace log dir exist stat: path: "{{ dynatrace_log_dir }}" register: dyna_logdir become: true become_method: sudo - name: Uninstall if bin dir exist and not log dir block: - name: Uninstall command: "{{ dynatrace_bin_dir }}/uninstall.sh" when: - unins.stat.exists - name: Delete install dir file: path: "{{ dynatrace_install_dir }}" state: absent - name: Remove data dir content shell: "rm -rf /dynatrace/*" failed_when: false when: - dyna_bindir.stat.exists - not dyna_logdir.stat.exists become: true become_method: sudo - name: Run installer script: "{{ download_dir | default('/tmp', true)}}/{{ download_file | default('Dynatrace-ActiveGate-Linux.sh', true) }} {{ dynatrace_installation_options | default('', true) }}" when: - not dyna_bindir.stat.exists or not dyna_logdir.stat.exists become: true become_method: sudo ...