--- - name: Pre-Upgrade-Check (zypper) shell: zypper list-updates || true register: sles_check changed_when: false - name: Kernel-Version vor Upgrade sichern shell: uname -r register: kernel_before changed_when: false - name: Upgrade durchführen (zypper, full) zypper: name: '*' state: latest extra_args: '--non-interactive' register: upgrade_result when: not upgrade_dry_run and not upgrade_security_only ignore_errors: true - name: Upgrade durchführen (zypper, nur Security) command: zypper --non-interactive patch --category security register: upgrade_result when: not upgrade_dry_run and upgrade_security_only ignore_errors: true - name: Logge Fehler beim Upgrade (SLES) copy: content: "Upgrade-Fehler: {{ upgrade_result.stderr | default(upgrade_result.msg | default('Unbekannter Fehler')) }}" dest: "{{ log_dir }}/sles_upgrade_error_{{ inventory_hostname }}.log" when: upgrade_result is failed - name: Setze Rollback-Flag, falls Upgrade fehlschlägt set_fact: rollback: true when: upgrade_result is failed - name: Breche Playbook ab, wenn Upgrade fehlschlägt fail: msg: "Upgrade fehlgeschlagen, Rollback wird empfohlen! Siehe Log: {{ log_dir }}/sles_upgrade_error_{{ inventory_hostname }}.log" when: upgrade_result is failed - name: Logge Upgrade-Output (SLES) copy: content: "{{ sles_check.stdout }}" dest: "{{ log_dir }}/sles_upgrade_check.log" when: upgrade_result is not failed - name: Kernel-Version nach Upgrade sichern shell: uname -r register: kernel_after changed_when: false when: upgrade_result is not failed - name: Prüfe, ob Kernel-Upgrade erfolgt ist und setze Reboot nötig set_fact: reboot_after_upgrade: true when: upgrade_result is not failed and (kernel_before.stdout != kernel_after.stdout) - name: Hinweis auf SLE-Upgrade-Tool debug: msg: "Für Major Upgrades (z.B. SLES 12->15) empfiehlt SUSE das Tool 'SUSEConnect' und 'zypper migration'. Siehe https://documentation.suse.com/sles/15-SP4/html/SLES-all/cha-upgrade.html"