Ansible git move
[csit.git] / fdio.infra.ansible / roles / vpp_device / tasks / main.yaml
diff --git a/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml b/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml
new file mode 100644 (file)
index 0000000..33b5517
--- /dev/null
@@ -0,0 +1,92 @@
+---
+# file: roles/vpp_device/tasks/main.yaml
+
+- name: VPP_device - Load Kernel Modules By Default
+  lineinfile:
+    path: "/etc/modules"
+    state: "present"
+    line: "{{ item }}"
+  with_items:
+    - "vfio-pci"
+  tags:
+    - load-kernel-modules
+
+- name: VPP_device - Disable ipv6 router advertisement
+  sysctl:
+    name: "net.ipv6.conf.default.accept_ra"
+    value: "0"
+    state: "present"
+    sysctl_file: "/etc/sysctl.d/90-csit.conf"
+    reload: "yes"
+  tags:
+    - set-sysctl
+
+- name: VPP_device - Disable ipv6 router advertisement
+  sysctl:
+    name: "net.ipv6.conf.all.accept_ra"
+    value: "0"
+    state: "present"
+    sysctl_file: "/etc/sysctl.d/90-csit.conf"
+    reload: "yes"
+  tags:
+    - set-sysctl
+
+- name: VPP_device - Copy csit-initialize-vfs.sh
+  copy:
+   src: "files/csit-initialize-vfs.sh"
+   dest: "/usr/local/bin/"
+   owner: "root"
+   group: "root"
+   mode: "744"
+  tags:
+    - copy-vf-script
+
+- name: VPP_device - Copy csit-initialize-vfs-data.sh
+  copy:
+   src: "files/{{ vfs_data_file }}"
+   dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
+   owner: "root"
+   group: "root"
+   mode: "744"
+  tags: copy-vf-data-script
+  when:
+    - vfs_data_file is defined
+
+- name: VPP_device - Copy default csit-initialize-vfs-data.sh
+  copy:
+   src: "files/csit-initialize-vfs-default.sh"
+   dest: "/usr/local/bin/csit-initialize-vfs-data.sh"
+   owner: "root"
+   group: "root"
+   mode: "744"
+  tags: copy-vf-data-script
+  when:
+    - vfs_data_file is not defined
+
+- name: VPP_device - Start csit-initialize-vfs.service
+  copy:
+   src: "files/csit-initialize-vfs.service"
+   dest: "/etc/systemd/system/"
+   owner: "root"
+   group: "root"
+   mode: "644"
+  notify:
+    - "Start csit-initialize-vfs.service"
+  tags:
+    - start-vf-service
+
+- meta: flush_handlers
+
+- name: VPP_device - Set hugepages in GRUB
+  lineinfile:
+    path: "/etc/default/grub"
+    state: "present"
+    regexp: "^GRUB_CMDLINE_LINUX="
+    line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value %}{{key}}={{value}} {% else %}{{key}} {% endif %}{% endfor %}\""
+  notify:
+    - "Update GRUB"
+    - "Reboot server"
+  tags:
+    - set-grub
+
+- meta: flush_handlers