--- - name: OpenSearch Install | Download opensearch {{ os_version }} ansible.builtin.get_url: url: "{{ os_download_url }}/{{ os_version }}/opensearch-{{ os_version }}-linux-x64.tar.gz" dest: "/tmp/opensearch.tar.gz" register: download - name: OpenSearch Install | Create opensearch user ansible.builtin.user: name: "{{ os_user }}" state: present shell: /bin/false create_home: true home: "{{ os_home }}" when: download.changed or iac_enable - name: OpenSearch Install | Create home directory ansible.builtin.file: path: "{{ os_home }}" state: directory owner: "{{ os_user }}" group: "{{ os_user }}" when: download.changed or iac_enable - name: OpenSearch Install | Extract the tar file ansible.builtin.command: chdir=/tmp/ tar -xvzf opensearch.tar.gz -C "{{ os_home }}" --strip-components=1 when: download.changed or iac_enable - name: OpenSearch Install | Copy Configuration File ansible.builtin.blockinfile: block: "{{ lookup('template', 'templates/opensearch-{{ cluster_type }}.yml') }}" dest: "{{ os_conf_dir }}/opensearch.yml" backup: true state: present create: true marker: "## {mark} opensearch main configuration ##" owner: "{{ os_user }}" group: "{{ os_user }}" mode: 0600 - name: OpenSearch Install | Copy jvm.options File for Instance ansible.builtin.template: src: jvm.options dest: "{{ os_conf_dir }}/jvm.options" owner: "{{ os_user }}" group: "{{ os_user }}" mode: 0600 force: true - name: OpenSearch Install | create systemd service ansible.builtin.template: src: opensearch.service dest: "{{ systemctl_path }}/opensearch.service"