--- # Packages - name: Define elasticsearch_package (Debian) set_fact: elasticsearch_package: "elasticsearch-{{ elasticsearch_version}}.deb" when: elasticsearch_package is not defined and ansible_os_family == 'Debian' - name: Define elasticsearch_package (Redhat) set_fact: elasticsearch_package: "elasticsearch-{{ elasticsearch_version}}.noarch.rpm" when: elasticsearch_package is not defined and ansible_os_family == 'RedHat' - name: Define elasticsearch_package (Linux) set_fact: elasticsearch_package: "elasticsearch-{{ elasticsearch_version}}.tar.gz" when: elasticsearch_package is not defined - name: Define elasticsearch_url set_fact: elasticsearch_url: "https://download.elastic.co/elasticsearch/elasticsearch/{{ elasticsearch_package}}" when: elasticsearch_url is not defined - debug: var=elasticsearch_url # TODO Is /opt always a good destination? # It is good to always have one location to avoid downloading again # It is bad to have a location hard-coded because we don't know if it # will always exist and have space... better to use mktemp, but then # have to ensure that desired version is already installde with # dpkg-query -W elasticsearch and parse the output... - name: Download elasticsearch package get_url: url={{ elasticsearch_url }} dest=/opt/{{ elasticsearch_package}} # Debian section - name: Ensure elasticsearch is installed. apt: deb=/opt/{{ elasticsearch_package }} state=installed when: ansible_os_family == 'Debian' # Linux section - name: Ensure elasticsearch is installed. apt: deb=/opt/{{ elasticsearch_package }} state=installed when: ansible_os_family == 'Linux'