Add sriov support in HCO

Change-Id: Idd18e3fd3d0657c11608a4f1a7af1eb40cbca3bf
This commit is contained in:
digambar 2021-10-14 11:28:38 +00:00 committed by Digambar
parent 6af4deb077
commit 2a6fa8610a
2 changed files with 40 additions and 3 deletions

View File

@ -1,14 +1,17 @@
- block:
- name: copy script
become: yes
copy:
src: /opt/ansible/scripts/{{ exec_item.name }}
dest: ~/.
dest: /root
mode: '0755'
- name: exec script command
command: "~/{{ exec_item.name }} {{ exec_item.args | default('') }}"
become: yes
command: "/root/{{ exec_item.name }} {{ exec_item.args | default('') }}"
environment: "{{ exec_item.environment | default('') }}"
always:
- name: delete the file
become: yes
file:
state: absent
path: "~/{{ exec_item.name }}"
path: "/root/{{ exec_item.name }}"

View File

@ -0,0 +1,34 @@
#!/usr/bin/python3
import subprocess
LSPCI_CMD = 'lspci | grep Ethernet'
SYS_DEV_PATH = "/sys/bus/pci/devices/0000"
SRIOV_TOTAL_VFS_file = "/sriov_totalvfs"
SRIOV_NUM_VFS_file = "/sriov_numvfs"
SRIOV_SUPPORTED_NICS = ["82599ES", "X700 Series", "E800 Series"]
def configure_sriov_nic():
process = subprocess.run(LSPCI_CMD, shell=True, check=True,
stdout=subprocess.PIPE, universal_newlines=True)
proc = process.stdout.split('\n')
sriov_nics = find_sriov_supported_nics(proc)
for nic in sriov_nics:
NIC_BINARY_NUM = nic.split(' ')[0]
fp = open(SYS_DEV_PATH + ":" + NIC_BINARY_NUM + SRIOV_TOTAL_VFS_file)
if int(fp.read()) > 32:
fp.close()
with open(SYS_DEV_PATH+ ":" + NIC_BINARY_NUM + SRIOV_NUM_VFS_file, 'w') as file:
file.write('42')
def find_sriov_supported_nics(nics):
sriov_supported_nics = []
for nic in nics:
for sriov_nic in SRIOV_SUPPORTED_NICS:
if sriov_nic in nic:
sriov_supported_nics.append(nic)
return sriov_supported_nics
if __name__ == "__main__":
configure_sriov_nic()