diff --git a/tasks/elasticsearch-RedHat-version-lock.yml b/tasks/elasticsearch-RedHat-version-lock.yml index 7835be42..a121a09b 100644 --- a/tasks/elasticsearch-RedHat-version-lock.yml +++ b/tasks/elasticsearch-RedHat-version-lock.yml @@ -1,14 +1,14 @@ --- -- name: RedHat - install yum-version-lock +- name: RedHat - install {{ versionlock_plugin_package }} become: yes - yum: - name: yum-plugin-versionlock + package: + name: "{{ versionlock_plugin_package }}" state: present update_cache: yes - name: RedHat - check if requested elasticsearch version lock exists become: yes - shell: 'yum versionlock list | grep {{es_package_name}} | grep -c "{{es_version}}"' + shell: '{{ package_manager }} versionlock list | grep {{ es_package_name }} | grep -c "{{ es_version }}"' register: es_requested_version_locked args: warn: false @@ -18,7 +18,7 @@ - name: RedHat - lock elasticsearch version become: yes - shell: yum versionlock delete 0:elasticsearch* ; yum versionlock add {{ es_package_name }}-{{ es_version }} + command: '"{{ package_manager }}" versionlock delete 0:elasticsearch* ; "{{ package_manager }}" versionlock add {{ es_package_name }}-{{ es_version }}' args: warn: false when: @@ -28,7 +28,7 @@ - name: RedHat - check if any elasticsearch version lock exists become: yes - shell: yum versionlock list | grep -c elasticsearch + shell: '"{{ package_manager }}" versionlock list | grep -c elasticsearch' register: es_version_locked args: warn: false @@ -38,7 +38,7 @@ - name: RedHat - unlock elasticsearch version become: yes - shell: yum versionlock delete 0:elasticsearch* + shell: '"{{ package_manager }}" versionlock delete 0:elasticsearch*' args: warn: false when: diff --git a/vars/RedHat.yml b/vars/RedHat.yml index 5887416b..d3b4a606 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -2,3 +2,11 @@ java: "{{ es_java | default('java-1.8.0-openjdk.x86_64') }}" default_file: "/etc/sysconfig/elasticsearch" es_home: "/usr/share/elasticsearch" + +# We need to detect the package manager to use here - yum for CentOS 7, dnf for CentOS >= 8. +package_manager: "{{ ansible_facts.pkg_mgr }}" +versionlock_plugin_package: "{% if ansible_distribution_version is version('8', '>=') %} + python3-dnf-plugin-versionlock + {% else %} + yum-plugin-versionlock + {% endif %}" \ No newline at end of file