# install_deps() - Install dependencies required for functional tests
function install_deps {
if ! $(jq --version &>/dev/null); then
- source /etc/os-release || source /usr/lib/os-release
- case ${ID,,} in
- *suse)
- ;;
- ubuntu|debian)
- sudo apt-get install -y jq
- ;;
- rhel|centos|fedora)
- ;;
- esac
+ function ubuntu_deps {
+ sudo apt-get install -y jq
+ }
+ install_packages "" ubuntu_deps ""
fi
}
+
+# install_ovn_deps() - Install dependencies required for tests that require OVN
+function install_ovn_deps {
+ if ! $(yq --version &>/dev/null); then
+ install_deps # jq needed as it's dependency of yq
+ sudo -E pip install yq
+ fi
+ if ! $(ovn-nbctl --version &>/dev/null); then
+ function ovn_ubuntu_deps {
+ sudo apt-get install -y apt-transport-https
+ echo "deb https://packages.wand.net.nz $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/wand.list
+ sudo curl https://packages.wand.net.nz/keyring.gpg -o /etc/apt/trusted.gpg.d/wand.gpg
+ sudo apt-get update
+ sudo apt install -y ovn-common
+ }
+ install_packages "" ovn_ubuntu_deps ""
+ fi
+}
+
+function install_packages {
+ local suse_packages=$1
+ local ubuntu_debian_packages=$2
+ local rhel_centos_packages=$3
+ source /etc/os-release || source /usr/lib/os-release
+ case ${ID,,} in
+ *suse)
+ ($suse_packages)
+ ;;
+ ubuntu|debian)
+ ($ubuntu_debian_packages)
+ ;;
+ rhel|centos|fedora)
+ ($rhel_centos_packages)
+ ;;
+ esac
+}
echo "$(echo ${ansible_ifconfig#*>>} | tr '\n' ':')6641"
}
-# install_ovn_deps() - Install dependencies required for tests that require OVN
-function install_ovn_deps {
- if ! $(yq --version &>/dev/null); then
- sudo -E pip install yq
- fi
- if ! $(ovn-nbctl --version &>/dev/null); then
- source /etc/os-release || source /usr/lib/os-release
- case ${ID,,} in
- *suse)
- ;;
- ubuntu|debian)
- sudo apt-get install -y apt-transport-https
- echo "deb https://packages.wand.net.nz $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/wand.list
- sudo curl https://packages.wand.net.nz/keyring.gpg -o /etc/apt/trusted.gpg.d/wand.gpg
- sudo apt-get update
- sudo apt install -y ovn-common
- ;;
- rhel|centos|fedora)
- ;;
- esac
- fi
-}
-
# init_network() - This function creates the OVN resouces required by the test
function init_network {
local fname=$1