AnsiblePilot — Master Ansible Automation

AnsiblePilot is the leading resource for learning Ansible automation, DevOps, and infrastructure as code. Browse over 1,400 tutorials covering Ansible modules, playbooks, roles, collections, and real-world examples. Whether you are a beginner or an experienced engineer, our step-by-step guides help you automate Linux, Windows, cloud, containers, and network infrastructure.

Popular Topics

About Luca Berton

Luca Berton is an Ansible automation expert, author of 8 Ansible books published by Apress and Leanpub including "Ansible for VMware by Examples" and "Ansible for Kubernetes by Example", and creator of the Ansible Pilot YouTube channel. He shares practical automation knowledge through tutorials, books, and video courses to help IT professionals and DevOps engineers master infrastructure automation.

Ansible on Fedora 44 Automation Complete Guide

By Luca Berton · Published 2024-01-01 · Category: installation

Automate Fedora 44 workstations and servers with Ansible: dnf5, SELinux, firewalld, Podman 5, Cockpit, systemd-soft-reboot, Wayland.

Fedora 44 is the upstream proving ground for RHEL 11 and ships approximately every six months. It carries kernel 6.14, dnf5 as the default package manager, Python 3.13, OpenSSH 9.9, systemd 256 with soft-reboot, and Podman 5. Support is ~13 months from GA. This is the master Ansible guide for Fedora 44 workstations and lab servers.

Fedora 44 release facts

| Item | Value | |---|---| | GA | 2026-04-21 | | EOL | ~2027-05 | | Default kernel | 6.14 | | Default Python | 3.13 | | Default package manager | dnf5 | | systemd | 256 (soft-reboot) | | Container engine | Podman 5 |

See also: Ansible on Fedora 45 Automation Complete Guide

Ansible-core compatibility

Use ansible-core 2.20 with ansible_python_interpreter=/usr/bin/python3.

Inventory

[fedora44]
fedora-lab-01.example.com
fedora-lab-02.example.com

[fedora44:vars] ansible_user=fedora ansible_python_interpreter=/usr/bin/python3

See also: Ansible on Fedora 46 Automation Complete Guide

Baseline playbook (dnf5 via ansible.builtin.dnf5)

- name: Fedora 44 baseline
  hosts: fedora44
  become: true
  tasks:
    - name: Update packages
      ansible.builtin.dnf5:
        name: "*"
        state: latest
        update_cache: true

- name: Install baseline tools ansible.builtin.dnf5: name: - vim-enhanced - chrony - firewalld - policycoreutils-python-utils - podman - cockpit state: present

- name: Enable services ansible.builtin.service: name: "{{ item }}" enabled: true state: started loop: [chronyd, firewalld, cockpit.socket]

- name: SELinux enforcing ansible.posix.selinux: { policy: targeted, state: enforcing }

systemd-soft-reboot patching

Soft-reboot reloads userspace without rebooting the kernel — drastically reduces downtime for non-kernel updates:

- name: Patch and soft-reboot
  hosts: fedora44
  become: true
  tasks:
    - name: Apply updates
      ansible.builtin.dnf5: { name: "*", state: latest }

- name: Soft reboot ansible.builtin.command: systemctl soft-reboot async: 30 poll: 0 ignore_errors: true

- name: Wait for connectivity ansible.builtin.wait_for_connection: delay: 10 timeout: 120

See also: Ansible on AlmaLinux 9 Automation Complete Guide

Cockpit web console

- name: Provision Cockpit
  hosts: fedora44
  become: true
  tasks:
    - name: Install Cockpit modules
      ansible.builtin.dnf5:
        name: [cockpit, cockpit-podman, cockpit-storaged, cockpit-machines]
        state: present

- name: Enable Cockpit ansible.builtin.service: { name: cockpit.socket, enabled: true, state: started }

- name: Open firewalld ansible.posix.firewalld: { service: cockpit, permanent: true, state: enabled, immediate: true }

Podman 5 + Quadlet

- name: Run nginx Quadlet on Fedora 44
  hosts: fedora44
  become: true
  tasks:
    - name: Drop quadlet unit
      ansible.builtin.copy:
        dest: /etc/containers/systemd/nginx.container
        mode: "0644"
        content: |
          [Container]
          Image=docker.io/library/nginx:alpine
          PublishPort=8080:80
          [Install]
          WantedBy=default.target
    - ansible.builtin.systemd: { daemon_reload: true }
    - ansible.builtin.systemd: { name: nginx, enabled: true, state: started }

Best practices

• Use ansible.builtin.dnf5 (Fedora 41+); the legacy dnf shim still works but emits deprecation warnings. • Prefer soft-reboot for userspace updates and full reboot only for kernel changes. • Use Cockpit for one-off troubleshooting; everything else stays in playbooks. • Treat Fedora as upstream RHEL — playbook patterns refined here will land on RHEL 11.

Conclusion

Fedora 44 lets you preview the next generation of enterprise Linux. With ansible-core 2.20 and the new dnf5 module plus systemd soft-reboot, you can apply nearly all updates with sub-minute service interruption.

Category: installation

Browse all Ansible tutorials · AnsiblePilot Home