Friday, May 6, 2022

[SOLVED] How to check which version of an installation exist with Ansible

Issue

I am using Ansible to upgrade Jenkins to a particular version. But before the installation, I will like to check for an existing jenkins version and uninstall it before proceeding with a new installation or upgrade. Below is the relevant code.

- name: Uninstall Jenkins 
  yum:
    name: jenkins-2.107.2-1.1.noarch.rpm 
    state: absent 

My current solution to uninstall the version is to 'hard code' it but that is not a dynamic solution since the version maybe different from server to server. How do i dynamically retrieve the jenkins rpm version if it exists and subsequently uninstall it using Ansible.


Solution

With ansible you describe a desired state, so uninstallation is not necessary. Just use in you playbook to install oder update to the latest version of jenkins:

- name: Install or Update Jenkins 
  yum:
    name: jenkins
    state: present

So if you really want to do an uninstall do it with:

- name: Uninstall Jenkins 
  yum:
    name: jenkins
    state: absent


Answered By - JGK
Answer Checked By - Katrina (WPSolving Volunteer)