diff --git a/tasks/main.yml b/tasks/main.yml index 4d34348..d36270a 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,6 +1,11 @@ --- - - name: Download Dynatrace OneAgent using token id - block: + - name: Check if Dynatrace OneAgent is already installed + stat: + path: /opt/dynatrace/oneagent/agent/lib64/liboneagentos.so + register: agent_installed + +# only in Ansible >= 2.3.0: - name: Download Dynatrace OneAgent using token id + - block: - fail: msg: "The 'dynatrace_oneagent_cluster_subdomain' variable has not been set, it must point to the subdomain of your Dynatrace cluster. Please consult the documentation." when: (dynatrace_oneagent_cluster_subdomain is undefined) or (dynatrace_oneagent_cluster_subdomain is none) or (dynatrace_oneagent_cluster_subdomain | trim == "") @@ -20,10 +25,10 @@ url: "https://{{ dynatrace_oneagent_cluster_subdomain }}/e/{{ dynatrace_oneagent_environment_id }}/installer/agent/unix/latest/{{ dynatrace_oneagent_tenant_token }}" dest: "/tmp/dynatrace-oneagent.sh" when: ("live.dynatrace.com" != dynatrace_oneagent_cluster_subdomain) and ("live.ruxit.com" != dynatrace_oneagent_cluster_subdomain) - when: (oneagent_installer_script_url is undefined) or (oneagent_installer_script_url is none) or (oneagent_installer_script_url | trim == "") + when: agent_installed == False and ((oneagent_installer_script_url is undefined) or (oneagent_installer_script_url is none) or (oneagent_installer_script_url | trim == "")) - - name: Download Dynatrace OneAgent using installer script url - block: +# only in Ansible >= 2.3.0: - name: Download Dynatrace OneAgent using installer script url + - block: - fail: msg: "The 'oneagent_installer_script_url' variable has not been set, it must contain the Dynatrace OneAgent Installer Script URL. Please consult the documentation." when: (oneagent_installer_script_url is undefined) or (oneagent_installer_script_url is none) or (oneagent_installer_script_url | trim == "") @@ -31,8 +36,9 @@ get_url: url: "{{ oneagent_installer_script_url }}" dest: "/tmp/dynatrace-oneagent.sh" - when: (oneagent_installer_script_url is defined) and (oneagent_installer_script_url is not none) - + when: agent_installed.stat.exists == False and (oneagent_installer_script_url is defined) and (oneagent_installer_script_url is not none) + - name: "Install Dynatrace OneAgent" shell: "sh /tmp/dynatrace-oneagent.sh" become: yes + when: ansible_architecture != "armv7l" and agent_installed.stat.exists == False