Ansible: iavf driver install 40/33240/2
authorJuraj Linkeš <juraj.linkes@pantheon.tech>
Fri, 23 Jul 2021 11:20:52 +0000 (13:20 +0200)
committerJuraj Linkeš <juraj.linkes@pantheon.tech>
Fri, 23 Jul 2021 13:31:53 +0000 (15:31 +0200)
* move iavf driver install from vpp_device to intel role
* differentiate the names of tasks of various drivers to get better
ansible logs
* add .5 sleep when creating VFs with iavf to avoid improper init
* fix install commands
* add XL710QDA2 NIC to supported i40e NICs

Change-Id: Id50e1552a322b9473e58222bfed3405d2d73c824
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
fdio.infra.ansible/roles/intel/defaults/main.yaml
fdio.infra.ansible/roles/intel/tasks/i40e.yaml
fdio.infra.ansible/roles/intel/tasks/iavf.yaml [new file with mode: 0644]
fdio.infra.ansible/roles/intel/tasks/ice.yaml
fdio.infra.ansible/roles/intel/tasks/main.yaml
fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh
fdio.infra.ansible/roles/vpp_device/tasks/main.yaml
fdio.infra.ansible/vpp_device.yaml

index 7789704..1ea3966 100644 (file)
@@ -18,6 +18,10 @@ packages_by_arch:
 
 intel_download_url: "https://downloadmirror.intel.com"
 
+intel_iavf_version: "4.1.1"
+intel_iavf_driver_url: "{{ intel_download_url }}/24693/eng/iavf-{{ intel_iavf_version }}.tar.gz"
+intel_iavf_driver_dir: "/opt"
+
 intel_i40e_version: "2.15.9"
 intel_i40e_driver_url: "{{ intel_download_url }}/24411/eng/i40e-{{ intel_i40e_version }}.tar.gz"
 intel_i40e_driver_dir: "/opt"
index cf42f32..8c34d09 100644 (file)
@@ -1,7 +1,7 @@
 ---
 # file: roles/intel/tasks/i40e.yaml
 
-- name: Inst - Get Network Adapter Driver
+- name: Inst - Get i40e Network Adapter Driver
   get_url:
     url: "{{ intel_i40e_driver_url }}"
     dest: "{{ intel_i40e_driver_dir }}/i40e-{{ intel_i40e_version }}.tar.gz"
@@ -9,7 +9,7 @@
   tags:
     - intel-inst
 
-- name: Inst - Extract Network Adapter Driver
+- name: Inst - Extract i40e Network Adapter Driver
   unarchive:
     remote_src: true
     src: "{{ intel_i40e_driver_dir }}/i40e-{{ intel_i40e_version }}.tar.gz"
@@ -19,8 +19,8 @@
   tags:
     - intel-inst
 
-- name: Inst - Network Adapter Driver
-  command: "make install; modprobe -r i40e; modprobe i40e"
+- name: Inst - i40e Network Adapter Driver
+  command: "make install && modprobe -r i40e && modprobe i40e"
   args:
     chdir: "{{ intel_i40e_driver_dir }}/i40e-{{ intel_i40e_version }}/src"
   failed_when: no
diff --git a/fdio.infra.ansible/roles/intel/tasks/iavf.yaml b/fdio.infra.ansible/roles/intel/tasks/iavf.yaml
new file mode 100644 (file)
index 0000000..893c608
--- /dev/null
@@ -0,0 +1,30 @@
+---
+# file: roles/intel/tasks/iavf.yaml
+
+- name: Inst - Get iavf Network Adapter Driver
+  get_url:
+    url: "{{ intel_iavf_driver_url }}"
+    dest: "{{ intel_iavf_driver_dir }}/iavf-{{ intel_iavf_version }}.tar.gz"
+    mode: 0644
+  tags:
+    - intel-inst
+
+- name: Inst - Extract iavf Network Adapter Driver
+  unarchive:
+    remote_src: true
+    src: "{{ intel_iavf_driver_dir }}/iavf-{{ intel_iavf_version }}.tar.gz"
+    dest: "{{ intel_iavf_driver_dir }}/"
+    creates: "{{ intel_iavf_driver_dir }}/iavf-{{ intel_iavf_version }}"
+  register: intel_driver_extracted
+  tags:
+    - intel-inst
+
+- name: Inst - iavf Network Adapter Driver
+  command: "make install && modprobe -r iavf && modprobe iavf"
+  args:
+    chdir: "{{ intel_iavf_driver_dir }}/iavf-{{ intel_iavf_version }}/src"
+  failed_when: no
+  when:
+    - intel_driver_extracted
+  tags:
+    - intel-inst
index 92a0eb4..e3aff34 100644 (file)
@@ -1,7 +1,7 @@
 ---
 # file: roles/intel/tasks/ice.yaml
 
-- name: Inst - Get Network Adapter Driver
+- name: Inst - Get ice Network Adapter Driver
   get_url:
     url: "{{ intel_ice_driver_url }}"
     dest: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
@@ -9,7 +9,7 @@
   tags:
     - intel-inst
 
-- name: Inst - Extract Network Adapter Driver
+- name: Inst - Extract ice Network Adapter Driver
   unarchive:
     remote_src: true
     src: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}.tar.gz"
@@ -19,8 +19,8 @@
   tags:
     - intel-inst
 
-- name: Inst - Network Adapter Driver
-  command: "make install; modprobe -r ice; modprobe ice"
+- name: Inst - ice Network Adapter Driver
+  command: "make install && modprobe -r ice && modprobe ice"
   args:
     chdir: "{{ intel_ice_driver_dir }}/ice-{{ intel_ice_version }}/src"
   failed_when: no
index 0d6134d..4f62891 100644 (file)
@@ -26,7 +26,7 @@
     - intel-inst-drivers
 
 - name: Inst - Check Presence of Intel Ethernet 700 Series
-  shell: "lspci -d 8086:1585; lspci -d 8086:1572"
+  shell: "lspci -d 8086:1583; lspci -d 8086:1585; lspci -d 8086:1572"
   register: intel_700_pcis
   failed_when: no
   changed_when: no
 #    - intel_700_pcis.stdout_lines | length > 0
 #  tags:
 #    - intel-inst-drivers
+
+#- name: Inst - VF Driver Intel
+#  import_tasks: iavf.yaml
+#  when:
+#    - intel_700_pcis.stdout_lines | length > 0 or intel_e810_pcis.stdout_lines | length > 0
+#  tags:
+#    - intel-inst-drivers
index 27b1acb..4d2c22e 100644 (file)
@@ -63,6 +63,7 @@ for pci_addr in ${PCI_WHITELIST[@]}; do
                     ip link set ${pf} vf $(( vf - 1 )) ${mac_str} ${vlan_str}
                     ip link set ${pf} vf $(( vf - 1 )) trust on
                     ip link set ${pf} vf $(( vf - 1 )) spoof off
+                    sleep .5
                 done
                 pci_idx=$(( pci_idx + 1 ))
                 ;;
index 9509771..d12fe1e 100644 (file)
     - "Update GRUB"
   tags:
     - set-grub
-
-- name: Download iAVF driver
-  get_url:
-    url: "{{ iavf_url }}"
-    dest: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz"
-    validate_certs: False
-    mode: 0644
-  tags:
-    - install-iavf
-
-- name: Extract iAVF driver
-  unarchive:
-    remote_src: true
-    src: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz"
-    dest: "{{ iavf_target_dir }}/"
-    creates: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/"
-  tags:
-    - install-iavf
-
-- name: Compile iAVF driver
-  command: "make install"
-  args:
-      chdir: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/"
-  notify:
-    - "Reboot server"
-  tags:
-    - install-iavf
-
-- meta: flush_handlers
index 7e9c66e..9e334e1 100644 (file)
@@ -18,6 +18,8 @@
       tags: baremetal
     - role: common
       tags: common
+    - role: intel
+      tags: intel
     - role: docker
       tags: docker
     - role: nomad