#!/bin/bash

function is_ml2_ovs {
    if [[ "${Q_AGENT}" == "openvswitch" ]]; then
        echo "True"
    fi
    echo "False"
}

# This should be true for any ml2/ovs job but should be set to false for
# all other ovs based jobs e.g. ml2/ovn
OS_VIF_OVS_ISOLATE_VIF=${OS_VIF_OVS_ISOLATE_VIF:=$(is_ml2_ovs)}
OS_VIF_OVS_ISOLATE_VIF=$(trueorfalse False OS_VIF_OVS_ISOLATE_VIF)

function configure_os_vif {
    if [[ -e ${NOVA_CONF} ]]; then
        iniset ${NOVA_CONF} os_vif_ovs isolate_vif ${OS_VIF_OVS_ISOLATE_VIF}
    fi
    if [[ -e ${NEUTRON_CONF} ]]; then
        iniset ${NEUTRON_CONF} os_vif_ovs isolate_vif ${OS_VIF_OVS_ISOLATE_VIF}
    fi
}
