Thanks for your collaboration and efforts. I've run this test case with all the information gathered in here and have marked it as passed. I got the PCI alias from the nova.conf document inside the compute nova pod and set that property for the flavour, and the instance spawned correctly in the corresponding compute.
As such, here are the steps used:
Steps:
1. Ssh to host compute and configure VF on eno1 port
echo '8' > /sys/class/net/eno1/device/sriov_numvfs
2. Lock host machine
3. Configure interface (eno1) as pci-pt
DATA0IF=eno1
PHYSNET0='physnet0'
SPL=/tmp/tmp-system-port-list
SPIL=/tmp/tmp-system-host-if-list
for COMPUTE in compute-0 compute-1; do
echo "Configuring interface for: $COMPUTE"
set -ex
system host-port-list ${COMPUTE} --nowrap > ${SPL}
system host-if-list -a ${COMPUTE} --nowrap > ${SPIL}
DATA0PCIADDR=$(cat $SPL | grep $DATA0IF |awk '{print $8}')
DATA0PORTUUID=$(cat $SPL | grep ${DATA0PCIADDR} | awk '{print $2}')
DATA0PORTNAME=$(cat $SPL | grep ${DATA0PCIADDR} | awk '{print $4}')
DATA0IFUUID=$(cat $SPIL | awk -v DATA0PORTNAME=$DATA0PORTNAME '($12 ~ DATA0PORTNAME) {print $2}')
system host-if-modify -m 1500 -n pcipass -c pci-passthrough ${COMPUTE} ${DATA0IFUUID}
system interface-datanetwork-assign ${COMPUTE} pcipass ${PHYSNET0}
set +ex
done
4. Find physical and vitual device IDs using lspci -nn | grep Eth
5. Unlock host machine
6. Wait for stx-openstack application status is complete
7. Create an instance using pcipassthrough alias set to flavor
mkdir -p /home/sysadmin/.ssh/
vi /home/sysadmin/.ssh/id_rsa
openstack keypair create key1 --private-key /home/sysadmin/.ssh/id_rsa
openstack security group create security1
openstack security group rule create --ingress --protocol icmp --remote-ip 0.0.0.0/0 security1
openstack security group rule create --ingress --protocol tcp --remote-ip 0.0.0.0/0 security1
openstack security group rule create --ingress --protocol udp --remote-ip 0.0.0.0/0 security1
kubectl -n openstack get pod | grep nova-compute
kubectl -n openstack exec -it ${nova-compute-agent} bash
cd /etc/nova/
cat nova.conf
[pci]
alias = {"vendor_id": "8086", "product_id": "0435", "name": "qat-dh895xcc-pf"}
alias = {"vendor_id": "8086", "product_id": "0443", "name": "qat-dh895xcc-vf"}
alias = {"vendor_id": "8086", "product_id": "37c8", "name": "qat-c62x-pf"}
alias = {"vendor_id": "8086", "product_id": "37c9", "name": "qat-c62x-vf"}
Hi everyone,
Thanks for your collaboration and efforts. I've run this test case with all the information gathered in here and have marked it as passed. I got the PCI alias from the nova.conf document inside the compute nova pod and set that property for the flavour, and the instance spawned correctly in the corresponding compute.
As such, here are the steps used:
Steps: net/eno1/ device/ sriov_numvfs 'physnet0' tmp/tmp- system- port-list /tmp/tmp- system- host-if- list
1. Ssh to host compute and configure VF on eno1 port
echo '8' > /sys/class/
2. Lock host machine
3. Configure interface (eno1) as pci-pt
DATA0IF=eno1
PHYSNET0=
SPL=/
SPIL=
for COMPUTE in compute-0 compute-1; do R=$(cat $SPL | grep $DATA0IF |awk '{print $8}') ID=$(cat $SPL | grep ${DATA0PCIADDR} | awk '{print $2}') ME=$(cat $SPL | grep ${DATA0PCIADDR} | awk '{print $4}') =$(cat $SPIL | awk -v DATA0PORTNAME= $DATA0PORTNAME '($12 ~ DATA0PORTNAME) {print $2}') datanetwork- assign ${COMPUTE} pcipass ${PHYSNET0}
echo "Configuring interface for: $COMPUTE"
set -ex
system host-port-list ${COMPUTE} --nowrap > ${SPL}
system host-if-list -a ${COMPUTE} --nowrap > ${SPIL}
DATA0PCIADD
DATA0PORTUU
DATA0PORTNA
DATA0IFUUID
system host-if-modify -m 1500 -n pcipass -c pci-passthrough ${COMPUTE} ${DATA0IFUUID}
system interface-
set +ex
done
4. Find physical and vitual device IDs using lspci -nn | grep Eth .ssh/ .ssh/id_ rsa .ssh/id_ rsa
5. Unlock host machine
6. Wait for stx-openstack application status is complete
7. Create an instance using pcipassthrough alias set to flavor
mkdir -p /home/sysadmin/
vi /home/sysadmin/
openstack keypair create key1 --private-key /home/sysadmin/
openstack security group create security1
openstack security group rule create --ingress --protocol icmp --remote-ip 0.0.0.0/0 security1
openstack security group rule create --ingress --protocol tcp --remote-ip 0.0.0.0/0 security1
openstack security group rule create --ingress --protocol udp --remote-ip 0.0.0.0/0 security1
kubectl -n openstack get pod | grep nova-compute compute- agent} bash
kubectl -n openstack exec -it ${nova-
cd /etc/nova/
cat nova.conf
[pci]
alias = {"vendor_id": "8086", "product_id": "0435", "name": "qat-dh895xcc-pf"}
alias = {"vendor_id": "8086", "product_id": "0443", "name": "qat-dh895xcc-vf"}
alias = {"vendor_id": "8086", "product_id": "37c8", "name": "qat-c62x-pf"}
alias = {"vendor_id": "8086", "product_id": "37c9", "name": "qat-c62x-vf"}
openstack flavor create --ram 4096 --disk 100 --vcpus 2 m1.medium. pci_passthrough h:alias" ="${alias} :0" m1.medium. pci_passthrough server- cloudimg- amd64-disk1. img --disk-format qcow2 --public ${NET}-image pci_passthrough --network public-net0 --security-group security1 --key-name key1 ${NET}-vm0
openstack flavor set --property "pci_passthroug
openstack image create --file xenial-
openstack server create --image ${NET}-image --flavor m1.medium.