From 16e3076acee544e96521d1b0aadc3d19ff04e934 Mon Sep 17 00:00:00 2001 From: administrator Date: Thu, 20 Aug 2026 10:11:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20playbooks/kernel-update.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playbooks/kernel-update.yml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 playbooks/kernel-update.yml diff --git a/playbooks/kernel-update.yml b/playbooks/kernel-update.yml new file mode 100644 index 0000000..2383ea0 --- /dev/null +++ b/playbooks/kernel-update.yml @@ -0,0 +1,57 @@ +--- +- name: Automatic kernel update with reboot (excluding AWX server) + hosts: all:awx + become: yes + gather_facts: yes + + tasks: + # 1. Текущая версия ядра + - name: Get current kernel version + command: uname -r + register: kernel_before + changed_when: false + + # 2. Выводим в логи, что начинаем обновление + - name: Show current kernel + debug: + msg: "Current kernel on {{ inventory_hostname }}: {{ kernel_before.stdout }}" + + # 3. Обновление всех пакетов (включая ядро) + - name: Update all packages (dist-upgrade) + apt: + upgrade: dist + autoremove: yes + autoclean: yes + register: apt_result + + # 4. Новая версия ядра + - name: Get new kernel version after update + command: uname -r + register: kernel_after + changed_when: false + ignore_errors: yes + + # 5. Проверяем, изменилось ли ядро + - name: Check if kernel version changed + set_fact: + kernel_updated: "{{ kernel_before.stdout != kernel_after.stdout }}" + + # 6. Выводим информацию о результате + - name: Show kernel update status + debug: + msg: "Kernel on {{ inventory_hostname }} {{ 'was updated' if kernel_updated else 'is already up to date' }}" + when: kernel_after.stdout is defined + + # 7. Перезагрузка, если ядро обновлено + - name: Reboot if kernel was updated + reboot: + reboot_timeout: 600 + pre_reboot_delay: 30 + post_reboot_delay: 60 + when: kernel_updated + + # 8. Сообщаем о завершении (опционально, для логов) + - name: Kernel update completed + debug: + msg: "Kernel update process finished on {{ inventory_hostname }}" + when: kernel_updated \ No newline at end of file