devops

Manage Users, Groups, SSH Keys and sudo on Rocky Linux with Ansible

Use Ansible on Rocky Linux 10 to create users and groups with UID/GID, manage SSH authorized keys, generate SSH keys, set account expiry, store password hashes with Vault, and configure validated sudoers files safely.

Deepak Prasad12 min read
devops

Manage Packages and Repositories on Rocky Linux 10 with Ansible

Learn Ansible dnf and yum_repository on Rocky Linux 10—install, remove, update packages, package groups, custom repo files, GPG check, enable or disable repos, and verification with tested playbooks.

Deepak Prasad13 min read
devops

Fix Ansible Collection Not Found, Module Not Found and Undefined Variable Errors

Fix Ansible collection not found, module not found, FQCN resolution, collection path mismatches, and undefined variable errors in inventory, roles, and templates—with commands and real error output.

Deepak Prasad15 min read
devops

Debug Ansible Playbooks with debug, assert, check mode and diff mode

Debug Ansible playbooks by printing variables with debug, capturing task output with register, validating assumptions with assert, inspecting files and facts, and previewing changes with --check, --diff, and verbosity.

Deepak Prasad13 min read
devops

Ansible Troubleshooting Guide: Fix Common Playbook, SSH, sudo and Inventory Errors

Troubleshoot Ansible playbooks from inventory and SSH through sudo, YAML syntax, variables, collections, Vault, and templates—with commands and error tables for common failures.

Deepak Prasad17 min read
devops

Ansible Collections and RHEL System Roles Explained

Learn Ansible collections, FQCN module names, ansible-galaxy collection install, collection requirements.yml, and RHEL System Roles examples for timesync, network, SELinux, storage, and firewall.

Deepak Prasad11 min read
devops

Manage SELinux File Contexts with Ansible

Use Ansible sefcontext for persistent SELinux file labels, restorecon to apply them, and ls -Z or semanage fcontext to verify—plus troubleshooting when services fail despite correct chmod.

Deepak Prasad12 min read
devops

lineinfile vs blockinfile vs replace vs template in Ansible

Choose Ansible lineinfile, blockinfile, replace, or template for config edits—with idempotency rules, risk comparison, validate, and tested examples on sshd-style and app config files.

Deepak Prasad13 min read
devops

Ansible Template Module and Jinja2 Explained with Examples

Learn the Ansible template module and Jinja2—variables, facts, conditionals, loops, filters, whitespace, validate, backup, handlers, and template vs copy with tested examples.

Deepak Prasad14 min read
devops

Ansible file, copy and fetch Modules Explained with Examples

Use Ansible file for path state, copy to push files to managed hosts, and fetch to pull files back—with permissions, backup, validate, remote_src, and common mistakes.

Deepak Prasad15 min read
devops

Use Ansible Vault with group_vars and host_vars Safely

Learn a safe Ansible Vault layout for group_vars and host_vars, including vault IDs, Git-safe structure, secret naming, and runtime patterns that avoid leaking credentials.

Deepak Prasad7 min read
devops

Ansible Register Variables and Magic Variables Explained

Learn Ansible register variables for task output (stdout, stderr, rc) and magic variables such as inventory_hostname, groups, hostvars, and ansible_play_hosts, with loop results and when conditions.

Deepak Prasad11 min read
devops

Ansible Variables Explained: Strings, Lists and Dictionaries

Learn Ansible variables—strings, numbers, booleans, lists, dictionaries, nested data, Jinja access, play vs inventory vars, vars files, and common naming mistakes.

Deepak Prasad9 min read
devops

Ansible Idempotency Explained: Write Safe Repeatable Playbooks

Learn Ansible idempotency—ok vs changed, state-based modules, avoiding shell misuse, creates and removes, changed_when, handlers, repeated-run checks, and check mode.

Deepak Prasad10 min read
devops

Ansible Modules, ansible-doc, and Collections Explained

Learn Ansible modules, FQCN names, ansible-doc options and return values, collections, ansible-galaxy install, requirements.yml, collections_path, and module-not-found fixes.

Deepak Prasad12 min read
devops

Ansible group_vars, host_vars, and Inventory Patterns Explained

Learn where Ansible group_vars and host_vars belong, how variables merge per host, how inventory patterns and --limit target hosts, and how to verify variables with ansible-inventory.

Deepak Prasad12 min read
devops

ansible-navigator.yml Explained: Settings, Execution Environments, and Verification

Configure ansible-navigator.yml at the project root—search order, precedence, stdout vs interactive mode, execution environments, artifacts, logging, and verification with settings and ansible-config on Rocky Linux 10.

Deepak Prasad16 min read
devops

Ansible Project Directory Structure: Layout, Folders, and Best Practices

Learn how to organize an Ansible project with ansible.cfg, inventory, playbooks, roles, inventory/group_vars, inventory/host_vars, requirements.yml, vault files, and Git-friendly best practices.

Deepak Prasad11 min read
devops

Set Up an EX294 Ansible Practice Lab on Rocky Linux 10

Build a two-node EX294 Ansible practice lab on Rocky Linux 10: hostnames, /etc/hosts, ansible user, SSH keys, passwordless sudo, and connectivity checks before installing ansible-core.

Deepak Prasad10 min read
devops

Ansible Blocks, Rescue, Always, failed_when and changed_when Explained

Learn Ansible error handling with block, rescue, always, failed_when, changed_when, register checks, ignore_errors trade-offs, unreachable hosts, and meta: clear_host_errors.

Deepak Prasad16 min read
devops

Ansible Tags Explained: Run and Skip Tasks in Playbooks

Learn Ansible tags to run or skip selected playbook tasks at runtime with --tags, --skip-tags, always, never, play and role tags, and safe partial runs.

Deepak Prasad13 min read
devops

Ansible Loops Explained with loop, until, retries and delay

Learn Ansible loops with loop, loop_control, register results, when per item, until retries and delay, and when to use wait_for instead of looping.

Deepak Prasad14 min read
devops

Ansible Handlers Explained: Restart Services Only When Tasks Change

Learn Ansible handlers with notify, service restarts, execution order, listen, flush_handlers, loops, roles, changed_when pitfalls, and common troubleshooting mistakes.

Deepak Prasad17 min read
devops

Ansible Inventory Files: INI, YAML, Groups, and Variables

Learn how Ansible inventory files list hosts and groups in INI or YAML, where to place variables, how parent and child groups work, and how to verify with ansible-inventory and ping on Rocky Linux 10.

Deepak Prasad13 min read
devops

How to Configure ansible.cfg for Ansible Projects on Linux

Configure ansible.cfg at the project root—search order, defaults, inventory path, remote_user, become, roles_path, and verification with ansible --version and ansible-config on Rocky Linux 10.

Deepak Prasad11 min read
devops

How to Install Ansible on Rocky Linux 10

Install Ansible on Rocky Linux 10 using ansible-core, EPEL collection RPMs, pipx, or pip. Add ansible-navigator, Podman, verify versions, and run your first ping test.

Deepak Prasad14 min read
devops

Create Ansible Roles and Install Roles from Ansible Galaxy

Create Ansible roles with ansible-galaxy init, customize tasks, defaults, handlers and templates, install Galaxy roles, and pin versions in requirements.yml.

Deepak Prasad11 min read
devops

Ansible Vault Tutorial: Encrypt Variables, Files and Passwords

Learn Ansible Vault to encrypt files and variables with create, view, edit, encrypt, decrypt, rekey, vault IDs, password options, and secure group_vars and host_vars usage.

Deepak Prasad10 min read
devops

RHCE EX294 Exam Objectives Explained with Ansible Study Plan

RHCE EX294 objectives explained as a practical Ansible study plan, with RHCSA task mapping, ansible-navigator focus, Rocky Linux lab guidance, and GoLinuxCloud course links.

Deepak Prasad10 min read
devops

include_tasks vs import_tasks in Ansible: Difference and Examples

Compare Ansible import_tasks and include_tasks for static vs dynamic task loading, with conditions, loops, tags, apply, list-tasks behavior, and when to use each.

Deepak Prasad11 min read