blob: b5132c1909bc2d48131c7ade056fe16c78a1306b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
---
# file: tasks/main.yaml
- name: Edit repositories
include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml"
tags:
- aws-edit-repo
- name: Prerequisites
ansible.builtin.package:
name: "{{ packages | flatten(levels=1) }}"
state: "latest"
tags:
- aws-inst-prerequisites
- name: Switch Kernel At Boot
ansible.builtin.lineinfile:
path: "/etc/default/grub"
state: "present"
line: "GRUB_DEFAULT=\"1>2\""
notify:
- "Update GRUB"
tags:
- perf-conf-grub
- meta: flush_handlers
- name: Load Kernel Modules By Default
ansible.builtin.lineinfile:
path: "/etc/modules"
state: "present"
line: "{{ item }}"
with_items:
- "igb_uio"
- "vfio-pci"
tags:
- aws-load-kernel-modules
- name: Add Kernel Modules Options (igb_uio)
ansible.builtin.lineinfile:
path: "/etc/modprobe.d/igb_uio.conf"
state: "present"
line: "{{ item }}"
create: "yes"
with_items:
- "options igb_uio wc_activate=1"
tags:
- aws-load-kernel-modules
- name: Add Kernel Modules Options (vfio-pci)
ansible.builtin.lineinfile:
path: "/etc/modprobe.d/vfio-noiommu.conf"
state: "present"
line: "{{ item }}"
create: "yes"
with_items:
- "options vfio enable_unsafe_noiommu_mode=1"
tags:
- aws-load-kernel-modules
#- name: Get vfio-pci With WC Patcher
# ansible.builtin.get_url:
# url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/get-vfio-with-wc.sh"
# dest: "/opt/get-vfio-with-wc.sh"
# mode: 0744
# tags:
# - aws-vfio-patch
- name: Create vfio-pci Patch Directory
ansible.builtin.file:
path: "/opt/patches/"
state: "directory"
tags:
- aws-vfio-patch
- name: Get vfio-pci WC Patch
ansible.builtin.get_url:
url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/{{ item }}"
dest: "/opt/patches/{{ item }}"
mode: 0744
with_items:
- "linux-4.10-vfio-wc.patch"
- "linux-5.8-vfio-wc.patch"
- "linux-5.15-vfio-wc.patch"
tags:
- aws-vfio-patch
- name: Copy vfio-pci WC Patch
ansible.builtin.copy:
src: "files/get-vfio-with-wc.sh"
dest: "/opt"
mode: 0744
tags:
- aws-vfio-patch
- name: Compile vfio-pci With WC Patch
ansible.builtin.shell: "/bin/bash /opt/get-vfio-with-wc.sh"
environment:
DEBIAN_FRONTEND: "noninteractive"
TERM: "vt100"
tags:
- aws-vfio-patch
- name: Reload systemd-modules
ansible.builtin.systemd:
name: "systemd-modules-load"
state: "restarted"
tags:
- aws-reload-systemd-modules
- name: Adjust nr_hugepages
ansible.builtin.sysctl:
name: "vm.nr_hugepages"
value: "8192"
state: "present"
sysctl_file: "/etc/sysctl.d/90-csit.conf"
reload: true
tags:
- aws-set-hugepages
- name: Shutdown host with delay
ansible.builtin.command: "/sbin/shutdown -P +720"
tags:
- aws-set-self-terminate
|