RHCE Knowledge Gaps Checklist - For Experienced Users

🎯 Self-Assessment for Production Ansible Users

Use this checklist to identify what you need to focus on for exam success


📋 How to Use This Checklist

Rating Scale:

  • ✅ Confident: I can do this without reference materials
  • ⚠️ Uncertain: I know the concept but need to verify syntax/approach
  • ❌ Gap: I need to learn/practice this area

Focus Strategy:

  • ✅ Items: Quick review only
  • ⚠️ Items: Practice and verify, but don't over-study
  • ❌ Items: Intensive study and lab practice required

🔧 1. Automation Content Navigator

Task Rating Notes
Run playbooks with ansible-navigator run ⬜ vs ansible-playbook
Navigate the TUI interface effectively ⬜ Interactive mode
Use stdout mode when appropriate ⬜ --mode stdout
Browse collections within navigator ⬜ :collections command
View module documentation in navigator ⬜ :doc module_name
Explore inventory using navigator ⬜ :inventory command
Debug failed tasks in TUI ⬜ Navigate to task details
Understand execution environments ⬜ Container vs host execution
Switch between interactive/stdout modes ⬜ Mode selection
Use navigator for syntax checking ⬜ --syntax-check

Quick Self-Test: Can you run a playbook, debug a failure, and view module docs all within navigator?


📦 2. Content Collections & FQCN

Task Rating Notes
Install collections with ansible-galaxy ⬜ collection install command
Use FQCN format consistently ⬜ namespace.collection.module
Know critical exam collections ⬜ builtin, posix, community.general
Write requirements.yml for collections ⬜ Collection dependencies
List installed collections ⬜ ansible-galaxy collection list
Browse collection modules ⬜ Find modules in collections
Use community.general storage modules ⬜ parted, lvg, lvol
Use ansible.posix system modules ⬜ firewalld, mount, seboolean
Troubleshoot "module not found" errors ⬜ Missing collection diagnosis
Configure collections_path ⬜ ansible.cfg setting

Quick Self-Test: Can you install a collection and immediately use its modules with FQCN?


🖥️ 3. Control Node Setup & Configuration

Task Rating Notes
Install Ansible on RHEL 9 ⬜ dnf install ansible-core
Create and configure ansible.cfg ⬜ All critical settings
Set up inventory in INI format ⬜ Groups and host variables
Set up inventory in YAML format ⬜ Nested group structure
Configure privilege escalation ⬜ become settings
Set default remote user ⬜ remote_user setting
Configure host key checking ⬜ Security vs convenience
Set up roles and collections paths ⬜ Custom paths
Test ansible.cfg precedence ⬜ Multiple config files
Validate inventory syntax ⬜ ansible-inventory commands

Quick Self-Test: Can you set up a complete Ansible environment from scratch in 15 minutes?


🔐 4. Managed Node Configuration & SSH

Task Rating Notes
Generate SSH key pairs ⬜ ssh-keygen with options
Distribute keys to managed nodes ⬜ ssh-copy-id
Set up passwordless authentication ⬜ End-to-end process
Configure sudo/become on managed nodes ⬜ NOPASSWD setup
Automate SSH key distribution ⬜ Using Ansible modules
Test connectivity with ansible ping ⬜ Basic connectivity
Troubleshoot SSH connection issues ⬜ Debug authentication
Set up ansible user account ⬜ Dedicated automation user
Configure privilege escalation ⬜ become_method, become_user
Handle SSH host key verification ⬜ StrictHostKeyChecking

Quick Self-Test: Can you set up SSH authentication to a new system and test it in under 10 minutes?


📋 5. RHCSA Task Automation (Critical Exam Area)

Package Management

Task Rating Notes
Install packages with ansible.builtin.dnf ⬜ Single and multiple packages
Remove packages safely ⬜ state=absent
Install from URL/file ⬜ RPM files
Manage package groups ⬜ @group syntax
Configure repositories ⬜ yum_repository module

Service Management

Task Rating Notes
Start/stop services with systemd module ⬜ state parameter
Enable/disable services ⬜ enabled parameter
Restart services conditionally ⬜ Handlers and notify
Reload systemd daemon ⬜ daemon_reload parameter
Check service status ⬜ Using setup module

Storage Management

Task Rating Notes
Create partitions with parted ⬜ community.general.parted
Create volume groups ⬜ community.general.lvg
Create logical volumes ⬜ community.general.lvol
Create filesystems ⬜ community.general.filesystem
Mount filesystems ⬜ ansible.posix.mount
Manage /etc/fstab ⬜ Persistent mounts

User Management

Task Rating Notes
Create users with user module ⬜ All common parameters
Create groups with group module ⬜ System vs regular groups
Set passwords securely ⬜ password_hash filter
Manage SSH keys for users ⬜ authorized_key module
Set user properties ⬜ shell, home, groups

File Management

Task Rating Notes
Copy files with copy module ⬜ Local to remote
Deploy templates ⬜ Jinja2 templating
Modify file content ⬜ lineinfile, replace
Set file permissions ⬜ file module attributes
Create directories ⬜ Directory hierarchies

Firewall Management

Task Rating Notes
Configure firewalld services ⬜ ansible.posix.firewalld
Open specific ports ⬜ Port ranges and protocols
Manage firewall zones ⬜ Zone assignments
Make changes permanent ⬜ permanent parameter
Apply changes immediately ⬜ immediate parameter

SELinux Management

Task Rating Notes
Set SELinux booleans ⬜ ansible.posix.seboolean
Configure file contexts ⬜ sefcontext module
Apply context changes ⬜ restorecon command
Check SELinux status ⬜ Using facts
Handle SELinux troubleshooting ⬜ Common issues

Quick Self-Test: Can you automate a complete LAMP stack setup including storage, users, services, and security?


🛠️ 6. Shell Script Conversion (Exam Requirement)

Task Rating Notes
Analyze shell script logic ⬜ Understand flow
Convert conditional statements ⬜ if/then to when
Convert loops to Ansible loops ⬜ for to loop/with_items
Handle command execution ⬜ command vs shell
Manage script variables ⬜ Script vars to Ansible vars
Convert error handling ⬜ failed_when, ignore_errors
Preserve script functionality ⬜ Idempotency considerations
Test converted playbooks ⬜ Verify same results

Quick Self-Test: Given a 20-line shell script, can you convert it to an equivalent playbook in 30 minutes?


📝 7. Playbook Development (Advanced Patterns)

Task Rating Notes
Use conditionals with when ⬜ Complex logic
Implement loops effectively ⬜ loop, with_items variants
Handle task failures gracefully ⬜ failed_when, ignore_errors
Use blocks for error handling ⬜ block/rescue/always
Implement handlers properly ⬜ Notification patterns
Use register for task results ⬜ Variable capture
Delegate tasks appropriately ⬜ delegate_to, run_once
Use tags for selective execution ⬜ Tag strategies
Implement async task execution ⬜ Long-running tasks
Debug variables effectively ⬜ debug module usage

Quick Self-Test: Can you write a complex playbook with error handling, loops, and conditionals?


🔐 8. Ansible Vault (Security)

Task Rating Notes
Create encrypted files ⬜ ansible-vault create
Edit encrypted files ⬜ ansible-vault edit
Encrypt existing files ⬜ ansible-vault encrypt
Decrypt files when needed ⬜ ansible-vault decrypt
Change vault passwords ⬜ ansible-vault rekey
Use vault in playbooks ⬜ --ask-vault-pass
Set up vault password files ⬜ --vault-password-file
Encrypt single variables ⬜ encrypt_string
Use multiple vault IDs ⬜ --vault-id
Integrate vault with CI/CD ⬜ Automated workflows

Quick Self-Test: Can you set up and use encrypted variables in a playbook execution?


⏰ 9. Exam Environment Constraints

Task Rating Notes
Work entirely offline ⬜ No internet access
Use ansible-doc effectively ⬜ Primary documentation
Navigate documentation quickly ⬜ Fast lookups
Manage time effectively ⬜ 4-hour constraint
Debug without external help ⬜ Self-reliant troubleshooting
Use check mode for validation ⬜ Dry run testing
Test incrementally ⬜ Single task validation
Work with provided inventory ⬜ Predefined hosts/groups
Handle exam system constraints ⬜ Limited resources
Maintain focus under pressure ⬜ Stress management

Quick Self-Test: Can you complete a complex automation task without any external references?


📊 Gap Analysis Summary

Count Your Ratings

  • ✅ Confident: ___/90 items
  • ⚠️ Uncertain: ___/90 items
  • ❌ Gap: ___/90 items

Study Priority Calculation

  • 70-90% Confident: Light review, focus on uncertain items
  • 50-69% Confident: Moderate study needed, practice labs
  • Below 50% Confident: Intensive study required

High Gap Count (>30 items):

  • Start with Automation Content Navigator
  • Master Content Collections next
  • Focus heavily on RHCSA task automation
  • Practice exam scenarios extensively

Medium Gap Count (15-30 items):

  • Target specific weak areas
  • Practice time management
  • Focus on exam-specific differences
  • Do realistic practice scenarios

Low Gap Count (<15 items):

  • Quick review of uncertain items
  • Practice exam timing
  • Focus on exam environment adaptation
  • Take practice exams

🎯 Action Plan Template

Based on your gap analysis, create a focused study plan:

Week 1: Foundation Gaps

Focus Areas: __
Lab Time: ___ hours/day
Key Tasks: __

Week 2: Advanced Skills

Focus Areas: __
Lab Time: ___ hours/day
Key Tasks: __

Week 3: Exam Simulation

Focus Areas: Time management, exam scenarios
Lab Time: ___ hours/day
Key Tasks: Full practice exams

Week 4: Final Preparation

Focus Areas: Review weak areas, confidence building
Lab Time: ___ hours/day
Key Tasks: Final practice, review quick references

Remember: Your production experience is a major advantage. Focus on the gaps, not on re-learning what you already know!