|
- ---
- - 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
- ...
|