--- # Include variables and define needed variables. - name: Include OS-specific variables. ansible.builtin.include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml" - "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml" - "{{ ansible_distribution }}.yml" - "{{ ansible_os_family }}.yml" - when: ansible_virtualization_role == "host" or (ansible_virtualization_role == "guest" and ansible_virtualization_type == "kvm") block: - name: 'Set core pattern for reboot' ansible.builtin.copy: dest: '/etc/sysctl.d/10-core_pattern.conf' owner: 'root' group: 'root' mode: '0644' content: "kernel.core_pattern /tmp/core.%p\n" - name: 'Check current core pattern' ansible.builtin.command: argv: ['cat', '/proc/sys/kernel/core_pattern'] register: current_core_pattern - name: 'Update current core pattern' when: current_core_pattern.stdout|trim != common_node_core_pattern ansible.builtin.command: argv: ['sysctl', '-w', "kernel.core_pattern='{{common_node_core_pattern}}'"] # Setup/install tasks. - ansible.builtin.include_tasks: setup-RedHat.yml when: ansible_os_family in ['RedHat', 'Rocky'] - ansible.builtin.include_tasks: setup-Debian.yml when: ansible_os_family == 'Debian' - ansible.builtin.include_tasks: setup-Alpine.yml when: ansible_os_family == 'Alpine' - ansible.builtin.include_tasks: setup-Suse.yml when: ansible_os_family == 'Suse' - when: common_node_rootfs_readonly_reboot|default(false) block: - name: Install readonly reboot script ansible.builtin.copy: dest: '/usr/sbin/readonly_root_reboot.sh' src: 'readonly_root_reboot.sh' owner: 'root' group: 'root' mode: '0750' - name: Add cronjob ansible.builtin.cron: name: 'readonly_root_reboot' job: '/usr/sbin/readonly_root_reboot.sh' cron_file: 'readonly_root_reboot' minute: '*/10' user: 'root'