2 # SPDX-license-identifier: Apache-2.0
3 ##############################################################################
4 # Copyright 2019 © Samsung Electronics Co., Ltd.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
15 # install_deps() - Install dependencies required for functional tests
16 function install_deps {
17 if ! $(jq --version &>/dev/null); then
18 function ubuntu_deps {
19 sudo apt-get install -y jq
21 install_packages "" ubuntu_deps ""
25 # install_ipcalc() - Install ipcalc for tests
26 function install_ipcalc {
27 if ! $(ipcalc --version &>/dev/null); then
28 function ipcalc_ubuntu_deps {
29 sudo apt-get install -y ipcalc
31 install_packages "" ipcalc_ubuntu_deps ""
35 # install_ovn_deps() - Install dependencies required for tests that require OVN
36 function install_ovn_deps {
37 if ! $(yq --version &>/dev/null); then
38 install_deps # jq needed as it's dependency of yq
39 sudo -E pip install yq
41 if ! $(ovn-nbctl --version &>/dev/null); then
42 function ovn_ubuntu_deps {
43 sudo apt-get install -y apt-transport-https
44 echo "deb https://packages.wand.net.nz $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/wand.list
45 sudo curl https://packages.wand.net.nz/keyring.gpg -o /etc/apt/trusted.gpg.d/wand.gpg
47 sudo apt install -y ovn-common
49 install_packages "" ovn_ubuntu_deps ""
53 function install_packages {
54 local suse_packages=$1
55 local ubuntu_debian_packages=$2
56 local rhel_centos_packages=$3
57 source /etc/os-release || source /usr/lib/os-release
63 ($ubuntu_debian_packages)
66 ($rhel_centos_packages)