at main 954 B view raw
1- hosts: freebsd_servers 2 gather_facts: true 3 become: true 4 tasks: 5 - name: Update all installed packages 6 community.general.pkgng: 7 name: "*" 8 state: latest 9 - name: Update the base system 10 ansible.builtin.shell: freebsd-update fetch install --not-running-from-cron 11 - name: Get currently running FreeBSD kernel version in memory 12 ansible.builtin.shell: freebsd-version -r 13 register: running_kv 14 - name: Get newly installed kernel version 15 ansible.builtin.shell: freebsd-version -k 16 register: installed_kv 17 - name: Check for kernel version mismatch 18 set_fact: 19 reboot_required: "{{ running_kv.stdout != installed_kv.stdout }}" 20 - name: Display reboot status 21 ansible.builtin.debug: 22 msg: "Reboot required: {{ reboot_required }}" 23 - name: Reboot the FreeBSD server if needed 24 ansible.builtin.reboot: 25 reboot_timeout: 3600 26 when: reboot_required