ansible-roles/evolinux-base/tasks/kernel.yml

95 lines
2.7 KiB
YAML
Raw Permalink Normal View History

---
- name: "Use Cloud kernel on virtual servers"
2023-03-18 18:35:54 +01:00
ansible.builtin.apt:
name: "linux-image-cloud-amd64"
state: present
register: _use_cloud_kernel
when:
- ansible_machine == "x86_64"
- ansible_virtualization_role == "guest"
- evolinux_kernel_cloud_auto | bool
- ansible_distribution_major_version is version('10', '>=')
- name: "Remove non-Cloud kernel on virtual servers"
2023-03-18 18:35:54 +01:00
ansible.builtin.apt:
name: "linux-image-amd64"
state: absent
when:
- ansible_machine == "x86_64"
- ansible_virtualization_role == "guest"
- evolinux_kernel_cloud_auto | bool
- name: "Reboot the server to enable the new kernel"
ansible.builtin.reboot:
reboot_timeout: 600
search_paths: ['/lib/molly-guard', '/sbin']
when:
- _use_cloud_kernel is changed
- evolinux_kernel_cloud_reboot | bool
- name: Reboot after panic
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: "{{ item.name }}"
value: "{{ item.value }}"
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: present
reload: yes
loop:
2021-08-27 11:01:26 +02:00
- { name: kernel.panic_on_oops, value: 1 }
- { name: kernel.panic, value: 60 }
when: evolinux_kernel_reboot_after_panic | bool
- name: Don't reboot after panic
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: "{{ item }}"
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: absent
reload: yes
loop:
2021-08-27 11:01:26 +02:00
- kernel.panic_on_oops
- kernel.panic
when: not evolinux_kernel_reboot_after_panic | bool
- name: Disable net.ipv4.tcp_timestamps
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: net.ipv4.tcp_timestamps
2021-05-01 22:12:27 +02:00
value: '0'
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: present
reload: yes
when: evolinux_kernel_disable_tcp_timestamps | bool
- name: Customize the swappiness
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: vm.swappiness
value: "{{ evolinux_kernel_swappiness }}"
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: present
reload: yes
when: evolinux_kernel_customize_swappiness | bool
- name: Patch for TCP stack vulnerability CVE-2016-5696
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: net.ipv4.tcp_challenge_ack_limit
2021-05-10 09:07:18 +02:00
value: "1073741823"
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: present
reload: yes
when: evolinux_kernel_cve20165696 | bool
- name: Patch for TCP stack vulnerability CVE-2018-5391 (FragmentSmack)
2023-03-18 18:35:54 +01:00
ansible.posix.sysctl:
name: "{{ item.name }}"
value: "{{ item.value }}"
sysctl_file: "{{ evolinux_kernel_sysctl_path }}"
state: present
reload: yes
loop:
2021-05-10 09:07:18 +02:00
- { name: "net.ipv4.ipfrag_low_thresh", value: "196608" }
- { name: "net.ipv6.ip6frag_low_thresh", value: "196608" }
- { name: "net.ipv4.ipfrag_high_thresh", value: "262144" }
- { name: "net.ipv6.ip6frag_high_thresh", value: "262144" }
2023-03-18 18:35:54 +01:00
- ansible.builtin.meta: flush_handlers