Skip to content

Commit bc9ec7c

Browse files
committed
Add more devices to the EDPM VMs
This patch adds two SRIOV capable emulated IGB NICs that can be used for PCI passthrough testing. 06:00.0 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01) 07:00.0 Ethernet controller [0200]: Intel Corporation 82576 Gigabit Network Connection [8086:10c9] (rev 01) Also this patch adds two emulated NVMe disks that can be used for NVMe passthrough and automated cleanup testing: 00:08.0 Non-Volatile memory controller [0108]: Red Hat, Inc. QEMU NVM Express Controller [1b36:0010] (rev 02) 00:09.0 Non-Volatile memory controller [0108]: Red Hat, Inc. QEMU NVM Express Controller [1b36:0010] (rev 02)
1 parent 4e8b811 commit bc9ec7c

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

devsetup/scripts/gen-edpm-node-common.sh

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,18 @@ BASE_DISK_FILENAME=${BASE_DISK_FILENAME:-"$(basename ${EDPM_IMAGE_URL})"}
5252
DISK_FILENAME=${DISK_FILENAME:-"edpm-${EDPM_SERVER_ROLE}-${EDPM_COMPUTE_SUFFIX}.qcow2"}
5353
DISK_FILEPATH=${DISK_FILEPATH:-"${CRC_POOL}/${DISK_FILENAME}"}
5454

55+
NVME1_FILENAME=${NVME1_FILENAME:-"edpm-${EDPM_SERVER_ROLE}-${EDPM_COMPUTE_SUFFIX}-nvme1.qcow2"}
56+
NVME1_FILEPATH=${NVME1_FILEPATH:-"${CRC_POOL}/${NVME1_FILENAME}"}
57+
58+
qemu-img create -f qcow2 ${NVME1_FILEPATH} 1G
59+
chmod og+w ${NVME1_FILEPATH}
60+
61+
NVME2_FILENAME=${NVME2_FILENAME:-"edpm-${EDPM_SERVER_ROLE}-${EDPM_COMPUTE_SUFFIX}-nvme2.qcow2"}
62+
NVME2_FILEPATH=${NVME2_FILEPATH:-"${CRC_POOL}/${NVME2_FILENAME}"}
63+
64+
qemu-img create -f qcow2 ${NVME2_FILEPATH} 1G
65+
chmod og+w ${NVME2_FILEPATH}
66+
5567
SSH_PUBLIC_KEY=${SSH_PUBLIC_KEY:-"${OUTPUT_DIR}/ansibleee-ssh-key-id_rsa.pub"}
5668
MAC_ADDRESS=${MAC_ADDRESS:-"$(echo -n 52:54:00; dd bs=1 count=3 if=/dev/random 2>/dev/null | hexdump -v -e '/1 "-%02X"' | tr '-' ':')"}
5769
if [ "${EDPM_SERVER_ROLE}" == "networker" ]; then
@@ -72,7 +84,7 @@ if [ ! -d "${HOME}/.ssh" ]; then
7284
fi
7385

7486
cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
75-
<domain type='kvm'>
87+
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
7688
<name>${EDPM_COMPUTE_NAME}</name>
7789
<memory unit='GiB'>${EDPM_COMPUTE_RAM}</memory>
7890
<currentMemory unit='GiB'>${EDPM_COMPUTE_RAM}</currentMemory>
@@ -90,6 +102,7 @@ cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
90102
<acpi/>
91103
<apic/>
92104
<pae/>
105+
<ioapic driver='qemu'/>
93106
</features>
94107
<cpu mode='host-passthrough' check='none' migratable='on'>
95108
<feature policy='disable' name='rdrand'/>
@@ -154,6 +167,14 @@ cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
154167
<model type='virtio'/>
155168
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
156169
</interface>
170+
<interface type='network'>
171+
<source ${EDPM_COMPUTE_NETWORK_TYPE}='${EDPM_COMPUTE_NETWORK}'/>
172+
<model type='igb'/>
173+
</interface>
174+
<interface type='network'>
175+
<source ${EDPM_COMPUTE_NETWORK_TYPE}='${EDPM_COMPUTE_NETWORK}'/>
176+
<model type='igb'/>
177+
</interface>
157178
<serial type='pty'>
158179
<target port='0'/>
159180
</serial>
@@ -175,7 +196,22 @@ cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
175196
<backend model='random'>/dev/urandom</backend>
176197
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
177198
</rng>
199+
<iommu model='intel'>
200+
<driver intremap='on' iotlb='on'/>
201+
</iommu>
178202
</devices>
203+
<qemu:commandline>
204+
<qemu:arg value='-drive'/>
205+
<qemu:arg value='file=${NVME1_FILEPATH},format=qcow2,if=none,id=NVME1'/>
206+
<qemu:arg value='-device'/>
207+
<qemu:arg value='nvme,drive=NVME1,serial=nvme-1,bus=pcie.0,addr=0x8'/>
208+
</qemu:commandline>
209+
<qemu:commandline>
210+
<qemu:arg value='-drive'/>
211+
<qemu:arg value='file=${NVME2_FILEPATH},format=qcow2,if=none,id=NVME2'/>
212+
<qemu:arg value='-device'/>
213+
<qemu:arg value='nvme,drive=NVME2,serial=nvme-2,bus=pcie.0,addr=0x9'/>
214+
</qemu:commandline>
179215
</domain>
180216
EOF
181217

0 commit comments

Comments
 (0)