FIX: Ansible vpp_device typo
[csit.git] / fdio.infra.ansible / roles / vpp_device / tasks / main.yaml
1 ---
2 # file: roles/vpp_device/tasks/main.yaml
3
4 - name: VPP_device - Load Kernel Modules By Default
5   lineinfile:
6     path: "/etc/modules"
7     state: "present"
8     line: "{{ item }}"
9   with_items:
10     - "vfio-pci"
11   when:
12     - cpu_microarchitecture == "thunderx2"
13   tags:
14     - load-kernel-modules
15
16 - name: Disable IPv6 Router Advertisement
17   sysctl:
18     name: "net.ipv6.conf.default.accept_ra"
19     value: "0"
20     state: "present"
21     sysctl_file: "/etc/sysctl.d/90-csit.conf"
22     reload: "yes"
23   tags:
24     - set-sysctl
25
26 - name: Disable IPv6 Router Advertisement
27   sysctl:
28     name: "net.ipv6.conf.all.accept_ra"
29     value: "0"
30     state: "present"
31     sysctl_file: "/etc/sysctl.d/90-csit.conf"
32     reload: "yes"
33   tags:
34     - set-sysctl
35
36 - name: Disable IPv6 MLDv1 interval
37   sysctl:
38     name: "net.ipv6.conf.all.mldv1_unsolicited_report_interval"
39     value: "0"
40     state: "present"
41     sysctl_file: "/etc/sysctl.d/90-csit.conf"
42     reload: "yes"
43   tags:
44     - set-sysctl
45
46 - name: Disable IPv6 MLDv2 interval
47   sysctl:
48     name: "net.ipv6.conf.all.mldv2_unsolicited_report_interval"
49     value: "0"
50     state: "present"
51     sysctl_file: "/etc/sysctl.d/90-csit.conf"
52     reload: "yes"
53   tags:
54     - set-sysctl
55
56 - name: Disable IPv6 Autoconf
57   sysctl:
58     name: "net.ipv6.conf.all.autoconf"
59     value: "0"
60     state: "present"
61     sysctl_file: "/etc/sysctl.d/90-csit.conf"
62     reload: "yes"
63   tags:
64     - set-sysctl
65
66 - name: Disable IPv6 MC Forwarding
67   sysctl:
68     name: "net.ipv6.conf.all.mc_forwarding"
69     value: "0"
70     state: "present"
71     sysctl_file: "/etc/sysctl.d/90-csit.conf"
72     reload: "yes"
73   tags:
74     - set-sysctl
75
76 - name: Copy csit-initialize-vfs.sh
77   copy:
78    src: "files/csit-initialize-vfs.sh"
79    dest: "/usr/local/bin/"
80    owner: "root"
81    group: "root"
82    mode: 0744
83   tags:
84     - copy-vf-script
85
86 - name: Copy csit-initialize-vfs-data.sh
87   copy:
88    src: "files/{{ vfs_data_file }}"
89    dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
90    owner: "root"
91    group: "root"
92    mode: 0744
93   tags: copy-vf-data-script
94   when:
95     - vfs_data_file is defined
96
97 - name: Copy Default csit-initialize-vfs-data.sh
98   copy:
99    src: "files/csit-initialize-vfs-default.sh"
100    dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
101    owner: "root"
102    group: "root"
103    mode: 0744
104   tags: copy-vf-data-script
105   when:
106     - vfs_data_file is not defined
107
108 - name: Start csit-initialize-vfs.service
109   copy:
110    src: "files/csit-initialize-vfs.service"
111    dest: "/etc/systemd/system/"
112    owner: "root"
113    group: "root"
114    mode: 0644
115   notify:
116     - "Start csit-initialize-vfs.service"
117   tags:
118     - start-vf-service
119
120 - meta: flush_handlers
121
122 - name: Set Hugepages In GRUB
123   lineinfile:
124     path: "/etc/default/grub"
125     state: "present"
126     regexp: "^GRUB_CMDLINE_LINUX="
127     line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value %}{{key}}={{value}} {% else %}{{key}} {% endif %}{% endfor %}\""
128   notify:
129     - "Update GRUB"
130   tags:
131     - set-grub
132
133 - name: Download iAVF driver
134   get_url:
135     url: "{{ iavf_url }}"
136     dest: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz"
137     validate_certs: False
138     mode: 0644
139   tags:
140     - install-iavf
141
142 - name: Extract iAVF driver
143   unarchive:
144     remote_src: true
145     src: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz"
146     dest: "{{ iavf_target_dir }}/"
147     creates: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/"
148   tags:
149     - install-iavf
150
151 - name: Compile iAVF driver
152   command: "make install"
153   args:
154       chdir: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/"
155   notify:
156     - "Reboot server"
157   tags:
158     - install-iavf
159
160 - meta: flush_handlers