33b551715ff3e63ccdb6fb115bd48cb078649a01
[csit.git] / resources / tools / testbed-setup / 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   tags:
12     - load-kernel-modules
13
14 - name: VPP_device - Disable ipv6 router advertisement
15   sysctl:
16     name: "net.ipv6.conf.default.accept_ra"
17     value: "0"
18     state: "present"
19     sysctl_file: "/etc/sysctl.d/90-csit.conf"
20     reload: "yes"
21   tags:
22     - set-sysctl
23
24 - name: VPP_device - Disable ipv6 router advertisement
25   sysctl:
26     name: "net.ipv6.conf.all.accept_ra"
27     value: "0"
28     state: "present"
29     sysctl_file: "/etc/sysctl.d/90-csit.conf"
30     reload: "yes"
31   tags:
32     - set-sysctl
33
34 - name: VPP_device - Copy csit-initialize-vfs.sh
35   copy:
36    src: "files/csit-initialize-vfs.sh"
37    dest: "/usr/local/bin/"
38    owner: "root"
39    group: "root"
40    mode: "744"
41   tags:
42     - copy-vf-script
43
44 - name: VPP_device - Copy csit-initialize-vfs-data.sh
45   copy:
46    src: "files/{{ vfs_data_file }}"
47    dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
48    owner: "root"
49    group: "root"
50    mode: "744"
51   tags: copy-vf-data-script
52   when:
53     - vfs_data_file is defined
54
55 - name: VPP_device - Copy default csit-initialize-vfs-data.sh
56   copy:
57    src: "files/csit-initialize-vfs-default.sh"
58    dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
59    owner: "root"
60    group: "root"
61    mode: "744"
62   tags: copy-vf-data-script
63   when:
64     - vfs_data_file is not defined
65
66 - name: VPP_device - Start csit-initialize-vfs.service
67   copy:
68    src: "files/csit-initialize-vfs.service"
69    dest: "/etc/systemd/system/"
70    owner: "root"
71    group: "root"
72    mode: "644"
73   notify:
74     - "Start csit-initialize-vfs.service"
75   tags:
76     - start-vf-service
77
78 - meta: flush_handlers
79
80 - name: VPP_device - Set hugepages in GRUB
81   lineinfile:
82     path: "/etc/default/grub"
83     state: "present"
84     regexp: "^GRUB_CMDLINE_LINUX="
85     line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value %}{{key}}={{value}} {% else %}{{key}} {% endif %}{% endfor %}\""
86   notify:
87     - "Update GRUB"
88     - "Reboot server"
89   tags:
90     - set-grub
91
92 - meta: flush_handlers