Skip to content

Instantly share code, notes, and snippets.

@sharanpeetani
Created September 1, 2021 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sharanpeetani/0df2c73f6f8adb492e875ef3b9b3364b to your computer and use it in GitHub Desktop.
Save sharanpeetani/0df2c73f6f8adb492e875ef3b9b3364b to your computer and use it in GitHub Desktop.
To check installed package status
---
- hosts: all
become: yes
vars:
package_name: "rabbitmq-server"
tasks:
## with package_facts ##
- name: Gather packages info
package_facts:
manager: auto
- name: rabbitmq is installed"
debug:
msg: "{{ package_name }} package is installed"
when: package_name in ansible_facts.packages
- name: rabbitmq is not installed"
debug:
msg: "{{ package_name }} package is not installed"
when: package_name not in ansible_facts.packages
#### With Yum check ####
- name: Check package install status
yum:
list: "{{ package_name }}"
register: rabbit_version
- name: Extract rabbitmq-server installed version
set_fact:
package_name_version: "{{ rabbit_version | json_query(jsonquery) }}"
vars:
jsonquery: "results[?yumstate=='installed'].version"
- set_fact:
package_status: "{{ rabbit_version.results | selectattr("yumstate", "equalto", "installed") | list }}"
- debug:
msg: "{{ package_name_version }}"
- debug:
msg: "{{ package_name }} package is installed"
when: ( package_status | length > 0 )
- debug:
msg: "{{ package_name }} package is not installed"
when: ( package_status | length == 0 )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment