Skip to content

Commit 6cb4879

Browse files
Merge pull request #1067 from gibizer/additiona-devices
Add more devices to the EDPM VMs
2 parents 729b99a + bc9ec7c commit 6cb4879

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)