@@ -42,8 +42,8 @@ function os_cmd {
42
42
43
43
function set_vm_ip {
44
44
# # assign floating ip or external ip
45
- local workload_sriov ={{workload_sriov | default(false) | bool | ternary( " True " , " " ) }}
46
- if [ -n " ${workload_sriov } " ]; then
45
+ local fixed_ip ={{ $1 | default(false) | bool }}
46
+ if [ -n " ${fixed_ip } " ]; then
47
47
EXTERNAL_IP=$( os_cmd port show " ${SRIOV_PORT} " -f yaml -c fixed_ips | awk ' /ip_address/{print $3;exit}' )
48
48
VM_IP=${EXTERNAL_IP}
49
49
else
@@ -84,7 +84,7 @@ cleanup_on_exit() {
84
84
85
85
function generate_traffic {
86
86
if [ -z " ${VM_IP} " ]; then
87
- set_vm_ip
87
+ set_vm_ip $1
88
88
fi
89
89
if ! ${SSH} -i " ${SSH_KEY_FILE} " cirros@${VM_IP} test -e ${IPERF_BIN} ; then
90
90
NS_FIXUP=false
@@ -187,6 +187,29 @@ function sanity_teardown {
187
187
188
188
local timeout_seconds=${1:- 180}
189
189
local elapsed_seconds=0
190
+ {% if (workload_sriov && workload_dpdk)| default(false) | bool -%}
191
+ openstack port delete " ${SRIOV_PORT}
192
+ openstack port delete " ${DPDK_PORT}
193
+ {% if workload_sriov| default(false) | bool -%}
194
+ openstack port delete " ${SRIOV_PORT} "
195
+ {% elif workload_dpdk| default(false) | bool -%}
196
+ openstack port delete " ${DPDK_PORT} "
197
+ {% else -%}
198
+ if [ -n " ${INSTANCE_FIP} " ]; then
199
+ echo " Remove ${INSTANCE_FIP} from ${INSTANCE_NAME} "
200
+ openstack server remove floating ip ${INSTANCE_NAME} ${INSTANCE_FIP}
201
+ {% else -%}
202
+ if [ -n " ${INSTANCE_FIP} " ]; then
203
+ echo " Remove ${INSTANCE_FIP} from ${INSTANCE_NAME} "
204
+ openstack server remove floating ip ${INSTANCE_NAME} ${INSTANCE_FIP}
205
+ IN_TEARDOWN=true
206
+ # remove auxiliary resources
207
+
208
+ local timeout_seconds=${1:- 180}
209
+ local elapsed_seconds=0
210
+ {% if (workload_sriov && workload_dpdk)| default(false) | bool -%}
211
+ openstack port delete " ${SRIOV_PORT}
212
+ openstack port delete " ${DPDK_PORT}
190
213
{% if workload_sriov| default(false) | bool -%}
191
214
openstack port delete " ${SRIOV_PORT} "
192
215
{% elif workload_dpdk| default(false) | bool -%}
@@ -397,7 +420,16 @@ function workload_launch {
397
420
TENANT_NET_ID=$( openstack network show -f value -c id " ${TENANT_NET_NAME} " )
398
421
399
422
echo " Creating overcloud instance ${INSTANCE_NAME} "
400
- {% if workload_sriov| default(false) | bool -%}
423
+ {% if (workload_sriov && workload_dpdk)| default(false) | bool -%}
424
+ os_cmd server create \
425
+ --image " ${IMAGE_NAME} " \
426
+ --flavor " ${FLAVOR_NAME} " \
427
+ --security-group " ${SECGROUP_NAME} " \
428
+ --key-name " ${KEYPAIR_NAME} " \
429
+ --nic net-id=" ${TENANT_NET_ID} " \
430
+ --port " ${SRIOV_PORT} " \
431
+ " ${INSTANCE_NAME} "
432
+ {% elif workload_sriov| default(false) | bool -%}
401
433
os_cmd server create \
402
434
--image " ${IMAGE_NAME} " \
403
435
--flavor " ${FLAVOR_NAME} " \
@@ -510,7 +542,16 @@ if [[ "${MODE}" == "workload_traffic" ]]; then
510
542
echo " export CINDER_VOL_ID=${CINDER_VOL_ID} " >> ~ /workload_suffix
511
543
echo " export INSTANCE_FIP=${INSTANCE_FIP} " >> ~ /workload_suffix
512
544
echo " export VM_IP=${VM_IP} " > ~ /vm_ip.sh
513
- generate_traffic
545
+ local workload_sriov={{workload_sriov| default(false) | bool | ternary(" True" , " " )}}
546
+ local workload_dpdk={{workload_dpdk| default(false) | bool | ternary(" True" , " " )}}
547
+ {% if (workload_sriov && workload_dpdk)| default(false) | bool -%}
548
+ generate_traffic false
549
+ generate_traffic true
550
+ {% elif workload_sriov| default(false) | bool -%}
551
+ generate_traffic true
552
+ {% else -%}
553
+ generate_traffic false
554
+ {%- endif %}
514
555
fi
515
556
516
557
if [[ " ${MODE} " == " cleanup" ]]; then
0 commit comments