summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorMartin Kulhavy <martin.kulhavy@nokia.com>2017-08-15 16:04:11 +0300
committerMartin Kulhavy <martin.kulhavy@nokia.com>2017-08-15 16:04:11 +0300
commit0ab327d6ccdc62f75d6693bea29f3bf41e60c14c (patch)
tree3b8d884bf758c9843a7e7404a51b865c1b36e01a /ci
parentb46de9e8a6d2a87d6e475b6ee9bf66c2c2b9761f (diff)
Improve and highlight logging to console (2)
xtrace produces a lot of output that can be hard to read. This commit uses extra functions for formatted output (info and error), so that they stand out in the log and make it easier for the user to understand what is currently happening. Building up on change #38909: https://gerrit.opnfv.org/gerrit/38909 Change-Id: I0ddf9e0d3a12a62ae45c56d33a8d48c335b618a0 Signed-off-by: Martin Kulhavy <martin.kulhavy@nokia.com>
Diffstat (limited to 'ci')
-rwxr-xr-xci/03-maasdeploy.sh2
-rwxr-xr-xci/cleanvm.sh6
-rwxr-xr-xci/deploy.sh37
-rwxr-xr-xci/openstack.sh20
-rw-r--r--ci/tools.sh19
5 files changed, 60 insertions, 24 deletions
diff --git a/ci/03-maasdeploy.sh b/ci/03-maasdeploy.sh
index 6d33691e..5ed39341 100755
--- a/ci/03-maasdeploy.sh
+++ b/ci/03-maasdeploy.sh
@@ -671,4 +671,4 @@ fi
#
# End of scripts
#
-echo_info " .... MAAS deployment finished successfully ...."
+echo_info "MAAS deployment finished successfully"
diff --git a/ci/cleanvm.sh b/ci/cleanvm.sh
index df069baf..a2609bd8 100755
--- a/ci/cleanvm.sh
+++ b/ci/cleanvm.sh
@@ -2,7 +2,9 @@
set -x
-echo " Cleanup Started ..."
+source tools.sh
+
+echo_info "Cleanup Started..."
#use the below commands if you needs to delete the virtual machine
# also along with environment destroy.
@@ -20,4 +22,4 @@ do
sudo rm -f /var/lib/libvirt/images/${vm}.qcow2
done
-echo " Cleanup Finished ..."
+echo_info "Cleanup Finished!"
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 768f5e84..795babbf 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -2,6 +2,8 @@
set -ex
+source tools.sh
+
#need to put multiple cases here where decide this bundle to deploy by default use the odl bundle.
# Below parameters are the default and we can according the release
@@ -111,7 +113,7 @@ createresource() {
jq -r ".[] | select(.hostname == \"$node\").system_id")
fi
if [[ -z "$node_id" ]]; then
- echo "Error: failed to create node $node ."
+ echo_error "Error: failed to create node $node ."
exit 1
fi
maas $PROFILE tag update-nodes control add=$node_id || true
@@ -138,7 +140,7 @@ deploy() {
python genDeploymentConfig.py -l labconfig.yaml > deployconfig.yaml
fi
else
- echo " MAAS not deployed please deploy MAAS first."
+ echo_error "MAAS not deployed please deploy MAAS first."
fi
fi
@@ -153,7 +155,7 @@ deploy() {
cp ~/joid_config/environments.yaml ./environments.yaml
fi
#copy the script which needs to get deployed as part of ofnfv release
- echo "...... deploying now ......"
+ echo_info "Deploying now..."
echo " " >> environments.yaml
echo " enable-os-refresh-update: false" >> environments.yaml
echo " enable-os-upgrade: false" >> environments.yaml
@@ -184,19 +186,19 @@ check_status() {
retval=0
timeoutiter=0
- echo -n "executing the relationship within charms ."
+ echo_info "Executing the relationships within charms..."
while [ $retval -eq 0 ]; do
if juju status | grep -q $waitstatus; then
- echo -n '.'
+ echo_info "Still waiting for $waitstatus units"
if [ $timeoutiter -ge 180 ]; then
- echo 'timed out'
+ echo_error 'Timed out'
retval=1
else
sleep 30
fi
timeoutiter=$((timeoutiter+1))
else
- echo 'done'
+ echo_info 'Done executing the relationships'
retval=1
fi
done
@@ -206,7 +208,7 @@ check_status() {
#juju ssh ceph/0 \ 'sudo radosgw-admin user create --uid="ubuntu" --display-name="Ubuntu Ceph"'
fi
- echo "...... deployment finishing ......."
+ echo_info "Deployment finishing..."
}
# In the case of a virtual deployment
@@ -214,15 +216,15 @@ if [ "$virtinstall" -eq 1 ]; then
./clean.sh || true
fi
-echo "...... deployment started ......"
+echo_info "Deployment started"
deploy
check_status executing
-echo "...... deployment finished ......."
+echo_info "Deployment finished"
-echo "...... configuring public access ......."
+echo_info "Configuring public access"
# translate bundle.yaml to json
python -c 'import sys, yaml, json; json.dump(yaml.load(sys.stdin), sys.stdout, indent=4)' < bundles.yaml > bundles.json
@@ -237,7 +239,7 @@ admin_gw=$(cat labconfig.json | jq --raw-output ".opnfv.spaces[] | select(.type=
if ([ $admin_gw ] && [ $admin_gw != "null" ]); then
# set default gateway to public api gateway
for cnt in $cnt_list; do
- echo "changing default gw on $cnt"
+ echo_info "Changing default gateway on $cnt"
if ([ $public_api_gw ] && [ $public_api_gw != "null" ]); then
juju ssh $cnt "sudo ip r d default && sudo ip r a default via $public_api_gw";
juju ssh $cnt "gw_dev=\$(ip r l | grep 'via $public_api_gw' | cut -d \ -f5) &&\
@@ -250,9 +252,10 @@ if ([ $admin_gw ] && [ $admin_gw != "null" ]); then
done
fi
-echo "...... configure ......."
-
+// Configuring deployment
if ([ $opnfvmodel == "openstack" ]); then
+ echo_info "Configuring OpenStack deployment"
+
./openstack.sh "$opnfvsdn" "$opnfvlab" "$opnfvdistro" "$openstack" || true
# creating heat domain after pushing the public API into /etc/hosts
@@ -272,12 +275,14 @@ if ([ $opnfvmodel == "openstack" ]); then
fi
elif ([ $opnfvmodel == "kubernetes" ]); then
+ echo_info "Configuring Kubernetes deployment"
+
./k8.sh
fi
# expose the juju gui-url to login into juju gui
-echo " ...... JUJU GUI can be access using the below URL ...... "
+echo_info "Juju GUI can be accessed using the following URL and credentials:"
juju gui --show-credentials --no-browser
-echo "...... finished ......."
+echo "Finished deployment and configuration"
diff --git a/ci/openstack.sh b/ci/openstack.sh
index 9020fd7c..98ebb145 100755
--- a/ci/openstack.sh
+++ b/ci/openstack.sh
@@ -1,5 +1,4 @@
#!/bin/bash -ex
-
##############################################################################
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
@@ -7,6 +6,10 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+set -ex
+
+source tools.sh
+
#./openstack.sh "$opnfvsdn" "$opnfvlab" "$opnfvdistro" "$openstack" || true
opnfvsdn=$1
@@ -84,6 +87,8 @@ keystoneIp() {
# create external network and subnet in openstack
create_openrc() {
+ echo_info "Creating the openrc (OpenStack client environment scripts)"
+
mkdir -m 0700 -p cloud
keystoneIp=$(keystoneIp)
if [[ "$jujuver" < "2" ]]; then
@@ -150,7 +155,9 @@ export OS_AUTH_URL=$4
EOF
}
-if ([ $API_FQDN ] && [ $API_FQDN != "null" ] && [ $API_FQDN != "None"]); then
+if ([ $API_FQDN ] && [ $API_FQDN != "null" ] && [ $API_FQDN != "None" ]); then
+ echo_info "OS domain name was specified - injecting API FQDN to nodes"
+
# Push api fqdn local ip to all /etc/hosts
if [[ "$jujuver" < "2" ]]; then
API_FQDN=$(juju get keystone | python -c "import yaml; import sys;\
@@ -187,13 +194,13 @@ create_openrc
. ~/joid_config/admin-openrc
-echo "...... deploy public api proxy ......"
-
if ([ "$opnfvlab" == "orangepod1" ] \
|| [ "$opnfvlab" == "intelpod6" ]) \
&& [ "$opnfvsdn" == "nosdn" ] \
&& [ "$API_FQDN" != "None" ]; then # only for first test phase
if [ -e ./labconfig.yaml ]; then
+ echo_info "Deploying public API proxy"
+
PUB_API_MASK=$(grep floating-ip-range ./labconfig.yaml |cut -d/ -f2)
PUB_API_NET=$(grep floating-ip-range ./labconfig.yaml |cut -d, -f4)
PUB_API_IP=$(grep public-api-ip ./labconfig.yaml |cut -d: -f2)
@@ -218,10 +225,11 @@ if ([ "$opnfvlab" == "orangepod1" ] \
juju run --unit nodes/0 "sudo ip l set dev br-ex up" || true
python genPublicAPIProxyBundle.py -l labconfig.yaml >> bundles.yaml
juju-deployer -vW -d -t 7200 -r 5 -c bundles.yaml $opnfvdistro-"$opnfvos" || true
+
+ echo_info "Public API proxy deployed!"
fi
fi
-echo "...... deploy end public api proxy ......"
##
## removing the swift API endpoint which is created by radosgw.
@@ -238,6 +246,8 @@ echo "...... deploy end public api proxy ......"
## Create external subnet Network
##
+echo_info "Creating external network with neutron"
+
if [ "onos" == "$opnfvsdn" ]; then
launch_eth
neutron net-show ext-net > /dev/null 2>&1 || neutron net-create ext-net \
diff --git a/ci/tools.sh b/ci/tools.sh
index 4eed361b..ecb2e806 100644
--- a/ci/tools.sh
+++ b/ci/tools.sh
@@ -7,6 +7,8 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+# include only once
+[ ! -z "$_tools_included" ] && return || readonly _tools_included=true
#######################################
# Echo printing in yellow bold color
@@ -24,3 +26,20 @@ function echo_info { (
echo "${@:1:($#-1)}" -e "$yellow_bold${@: -1}$color_off";
)
}
+
+#######################################
+# Echo error
+# Arguments:
+# Same as for echo
+# Returns:
+# None
+#######################################
+function echo_error { (
+ # don't clutter the script output with the xtrace of the echo command
+ { set +x; } 2> /dev/null
+
+ red_bold='\033[1;31m'
+ color_off='\033[0m'
+ >&2 echo "${@:1:($#-1)}" -e "$red_bold${@: -1}$color_off";
+ )
+}