@@ -52,17 +52,61 @@ BASE_DISK_FILENAME=${BASE_DISK_FILENAME:-"$(basename ${EDPM_IMAGE_URL})"}
5252DISK_FILENAME=${DISK_FILENAME:- " edpm-${EDPM_SERVER_ROLE} -${EDPM_COMPUTE_SUFFIX} .qcow2" }
5353DISK_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} " }
55+ EDPM_EMULATED_NVME_ENABLED=${EDPM_EMULATED_NVME_ENABLED:- " false" }
56+ NVME_XML=" "
57+
58+ if [ $EDPM_EMULATED_NVME_ENABLED == " true" ] ; then
59+ NVME1_FILENAME=${NVME1_FILENAME:- " edpm-${EDPM_SERVER_ROLE} -${EDPM_COMPUTE_SUFFIX} -nvme1.qcow2" }
60+ NVME1_FILEPATH=${NVME1_FILEPATH:- " ${CRC_POOL} /${NVME1_FILENAME} " }
61+
62+ qemu-img create -f qcow2 ${NVME1_FILEPATH} 1G
63+ chmod og+w ${NVME1_FILEPATH}
64+ # intentionally ignore errors on non selinux enabled systems
65+ chcon -t svirt_image_t ${NVME1_FILEPATH} | true
66+
67+ NVME2_FILENAME=${NVME2_FILENAME:- " edpm-${EDPM_SERVER_ROLE} -${EDPM_COMPUTE_SUFFIX} -nvme2.qcow2" }
68+ NVME2_FILEPATH=${NVME2_FILEPATH:- " ${CRC_POOL} /${NVME2_FILENAME} " }
69+
70+ qemu-img create -f qcow2 ${NVME2_FILEPATH} 1G
71+ chmod og+w ${NVME2_FILEPATH}
72+ # intentionally ignore errors on non selinux enabled systems
73+ chcon -t svirt_image_t ${NVME2_FILEPATH} | true
74+
75+ NVME_XML=$( cat << EOF
76+ <qemu:commandline>
77+ <qemu:arg value='-drive'/>
78+ <qemu:arg value='file=${NVME1_FILEPATH} ,format=qcow2,if=none,id=NVME1'/>
79+ <qemu:arg value='-device'/>
80+ <qemu:arg value='nvme,drive=NVME1,serial=nvme-1,bus=pcie.0,addr=0x8'/>
81+ </qemu:commandline>
82+ <qemu:commandline>
83+ <qemu:arg value='-drive'/>
84+ <qemu:arg value='file=${NVME2_FILEPATH} ,format=qcow2,if=none,id=NVME2'/>
85+ <qemu:arg value='-device'/>
86+ <qemu:arg value='nvme,drive=NVME2,serial=nvme-2,bus=pcie.0,addr=0x9'/>
87+ </qemu:commandline>
88+ EOF
89+ )
90+ fi
91+
92+ EDPM_EMULATED_SRIOV_NIC_ENABLED=${EDPM_EMULATED_SRIOV_NIC_ENABLED:- " false" }
93+ IGB_XML=" "
94+ if [ $EDPM_EMULATED_SRIOV_NIC_ENABLED == " true" ] ; then
95+ IGB_XML=$( cat << EOF
96+ <interface type='network'>
97+ <source ${EDPM_COMPUTE_NETWORK_TYPE} ='${EDPM_COMPUTE_NETWORK} '/>
98+ <model type='igb'/>
99+ </interface>
100+ <interface type='network'>
101+ <source ${EDPM_COMPUTE_NETWORK_TYPE} ='${EDPM_COMPUTE_NETWORK} '/>
102+ <model type='igb'/>
103+ </interface>
104+ EOF
105+ )
106+ fi
57107
58- qemu-img create -f qcow2 ${NVME1_FILEPATH} 1G
59- chmod og+w ${NVME1_FILEPATH}
60108
61- NVME2_FILENAME=${NVME2_FILENAME:- " edpm-${EDPM_SERVER_ROLE} -${EDPM_COMPUTE_SUFFIX} -nvme2.qcow2" }
62- NVME2_FILEPATH=${NVME2_FILEPATH:- " ${CRC_POOL} /${NVME2_FILENAME} " }
63109
64- qemu-img create -f qcow2 ${NVME2_FILEPATH} 1G
65- chmod og+w ${NVME2_FILEPATH}
66110
67111SSH_PUBLIC_KEY=${SSH_PUBLIC_KEY:- " ${OUTPUT_DIR} /ansibleee-ssh-key-id_rsa.pub" }
68112MAC_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 ' -' ' :' ) " }
@@ -167,14 +211,7 @@ cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
167211 <model type='virtio'/>
168212 <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
169213 </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>
214+ ${IGB_XML}
178215 <serial type='pty'>
179216 <target port='0'/>
180217 </serial>
@@ -200,18 +237,7 @@ cat <<EOF >${OUTPUT_DIR}/${EDPM_COMPUTE_NAME}.xml
200237 <driver intremap='on' iotlb='on'/>
201238 </iommu>
202239 </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>
240+ ${NVME_XML}
215241</domain>
216242EOF
217243
0 commit comments