Skip to content

Commit 32cba42

Browse files
Jaganathan PalanisamyJaganathan Palanisamy
Jaganathan Palanisamy
authored and
Jaganathan Palanisamy
committed
NFV OVS DPDK and SRIOV workload changes
This change is to add workload with both ovs dpdk and sriov ports and ping testing for both ports during update.
1 parent 44b6651 commit 32cba42

File tree

1 file changed

+46
-5
lines changed

1 file changed

+46
-5
lines changed

roles/update/templates/workload_launch.sh.j2

+46-5
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ function os_cmd {
4242

4343
function set_vm_ip {
4444
## 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
4747
EXTERNAL_IP=$(os_cmd port show "${SRIOV_PORT}" -f yaml -c fixed_ips | awk '/ip_address/{print $3;exit}')
4848
VM_IP=${EXTERNAL_IP}
4949
else
@@ -84,7 +84,7 @@ cleanup_on_exit() {
8484

8585
function generate_traffic {
8686
if [ -z "${VM_IP}" ]; then
87-
set_vm_ip
87+
set_vm_ip $1
8888
fi
8989
if ! ${SSH} -i "${SSH_KEY_FILE}" cirros@${VM_IP} test -e ${IPERF_BIN}; then
9090
NS_FIXUP=false
@@ -187,6 +187,29 @@ function sanity_teardown {
187187

188188
local timeout_seconds=${1:-180}
189189
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}
190213
{% if workload_sriov|default(false) | bool -%}
191214
openstack port delete "${SRIOV_PORT}"
192215
{% elif workload_dpdk|default(false) | bool -%}
@@ -397,7 +420,16 @@ function workload_launch {
397420
TENANT_NET_ID=$( openstack network show -f value -c id "${TENANT_NET_NAME}" )
398421

399422
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 -%}
401433
os_cmd server create \
402434
--image "${IMAGE_NAME}" \
403435
--flavor "${FLAVOR_NAME}" \
@@ -510,7 +542,16 @@ if [[ "${MODE}" == "workload_traffic" ]]; then
510542
echo "export CINDER_VOL_ID=${CINDER_VOL_ID}" >> ~/workload_suffix
511543
echo "export INSTANCE_FIP=${INSTANCE_FIP}" >> ~/workload_suffix
512544
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 %}
514555
fi
515556

516557
if [[ "${MODE}" == "cleanup" ]]; then

0 commit comments

Comments
 (0)