Install jq as an dependency for yq 33/88333/1
authorSamuli Silvius <s.silvius@partner.samsung.com>
Thu, 23 May 2019 09:50:57 +0000 (12:50 +0300)
committerSamuli Silvius <s.silvius@partner.samsung.com>
Thu, 23 May 2019 09:50:57 +0000 (12:50 +0300)
Before using yq binary we need to install also its
dependency jq.

This commit is fixing jq installation in case it was
required as dependency for yq.
Also refactored a bit dependency installations of tests.

Issue-ID: MULTICLOUD-617

Change-Id: I0ea1143befa1cff809c231422b5cfb14fba1de4e
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
kud/tests/_common_test.sh
kud/tests/_functions.sh
kud/tests/integration_vcFW.sh
kud/tests/ovn4nfv.sh
kud/tests/ovn_provider_nw_test.sh

index be22db9..1c6af67 100755 (executable)
@@ -15,15 +15,45 @@ set -o pipefail
 # 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
+}
index 5efb56f..542443d 100755 (executable)
@@ -31,29 +31,6 @@ function _get_ovn_central_address {
     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
index 0c6d068..a403520 100755 (executable)
@@ -13,6 +13,7 @@ set -o nounset
 set -o pipefail
 
 source _common.sh
+source _common_test.sh
 source _functions.sh
 
 csar_id=aa443e7e-c8ba-11e8-8877-525400b164ff
index de8631f..6be6aae 100755 (executable)
@@ -12,6 +12,7 @@ set -o nounset
 set -o pipefail
 
 source _common.sh
+source _common_test.sh
 source _functions.sh
 
 csar_id=a1c5b53e-d7ab-11e8-85b7-525400e8c29a
index 9b32d90..b2a8642 100644 (file)
@@ -13,6 +13,7 @@ set -o nounset
 set -o pipefail
 
 source _common.sh
+source _common_test.sh
 source _functions.sh
 
 # populate_CSAR_ovn4nfv() - Create content used for OVN4NFV functional test