Ansible - dynamically include Jinja templates and tasks

For my ansible playbooks, I wanted to be able to add several new templates to be copied to target system, and additionally be able to perform some commands for them without having to specify each individual file/template to copy. My approach: Define for the hosts I want to find templates/playbooks define a var named extras for the relevant hosts: extras: - ntp - certificates The names defined (in above example ntp and certificates) are just name of folders laying inside tasks/templates/${folder} that are searched and included or excluded based on extras values....

September 24, 2022 · 2 min · Pablo Iranzo Gómez

Include ansible playbooks sorted

Use sorted list for included files vs random provided by with_fileglob. - name: Include cosmos tasks include_tasks: "{{item}}" loop: "{{ query('fileglob', 'tasks/*.yaml') | sort }}"

September 23, 2022 · 1 min · Pablo Iranzo Gómez

Check Agent status per state

Check agent status per state watch -d "oc get agent -A -o jsonpath='{range .items[*]}{@.status.debugInfo.state}{\"\n\"}{end}' |sort | uniq --count"

August 10, 2022 · 1 min · Pablo Iranzo Gómez

How to check if a system is virtual

I was improving a playbook in Ansible and wanted to find a way to find if a system was virtual or not to decide about some tunning like setting tuned-adm profile virtual-guest or disable the power off when the lid is closed. After some research and try-except situations I got to this one that seemed to work (I had to tune it as one desktop machine was missing the /sys entry I was using before):...

May 10, 2021 · 3 min · Pablo Iranzo Gómez

Configuring OpenShift with self-contained NTP

Introduction In a regular OpenShift environment, NTP server is more less like this: Diagram In a self-contained cluster with no connection to external networks NTP server is not reachable, but a reachable NTP server is required for proper cluster synchronization. Cluster does use SSL certificates that require validation and might fail if the dates between the systems are not in sync or at least pretty close in time. Diagram We’ve several components already available in our OpenShift cluster that are very useful:...

December 7, 2020 · 5 min · Pablo Iranzo Gómez
This blog is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.