diff options
Diffstat (limited to 'prototypes/xci/xci-deploy.sh')
-rwxr-xr-x | prototypes/xci/xci-deploy.sh | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/prototypes/xci/xci-deploy.sh b/prototypes/xci/xci-deploy.sh new file mode 100755 index 000000000..eb1e9d78e --- /dev/null +++ b/prototypes/xci/xci-deploy.sh @@ -0,0 +1,76 @@ +#!/bin/bash +set -o errexit +set -o nounset +set -o pipefail +set -o xtrace + +# This script must run as root +if [[ $(whoami) != "root" ]]; then + echo "Error: This script must be run as root!" + exit 1 +fi + +# find where are we +XCI_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# source pinned versions +source $XCI_PATH/config/pinned-versions + +# source user vars +source $XCI_PATH/config/user-vars + +# source flavor configuration +source "$XCI_PATH/flavors/${XCI_FLAVOR}-vars" + +# source xci configuration +source $XCI_PATH/config/env-vars + +# log info to console +echo "Info: Starting XCI Deployment" +echo "Info: Deployment parameters" +echo "-------------------------------------------------------------------------" +echo "xci flavor: $XCI_FLAVOR" +echo "opnfv/releng version: $OPNFV_RELENG_VERSION" +echo "openstack/bifrost version: $OPENSTACK_BIFROST_VERSION" +echo "openstack/openstack-ansible version: $OPENSTACK_OSA_VERSION" +echo "-------------------------------------------------------------------------" + +#------------------------------------------------------------------------------- +# Cleanup the leftovers from the previous deployment +#------------------------------------------------------------------------------- +echo "Info: Cleaning up the previous deployment" +$XCI_PATH/../bifrost/scripts/destroy-env.sh > /dev/null 2>&1 +/bin/rm -rf /opt/releng /opt/bifrost /opt/openstack-ansible /opt/stack + +#------------------------------------------------------------------------------- +# Clone the repositories and checkout the versions +#------------------------------------------------------------------------------- +echo "Info: Cloning repositories and checking out versions" +git clone --quiet $OPNFV_RELENG_GIT_URL $OPNFV_RELENG_PATH && \ + cd $OPNFV_RELENG_PATH +echo "Info: Cloned opnfv/releng. HEAD currently points at" +echo " $(git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>')" +git clone --quiet $OPENSTACK_BIFROST_GIT_URL $OPENSTACK_BIFROST_PATH && \ + cd $OPENSTACK_BIFROST_PATH +echo "Info: Cloned openstack/bifrost. HEAD currently points at" +echo " $(git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>')" + +#------------------------------------------------------------------------------- +# Combine opnfv and upstream scripts/playbooks +#------------------------------------------------------------------------------- +echo "Info: Combining opnfv/releng and opestack/bifrost scripts/playbooks" +/bin/cp -rf $OPNFV_RELENG_PATH/prototypes/bifrost/* $OPENSTACK_BIFROST_PATH/ + +#------------------------------------------------------------------------------- +# Start provisioning VM nodes +#------------------------------------------------------------------------------- +echo "Info: Starting provisining VM nodes using openstack/bifrost" +echo " This might take between 10 to 20 minutes depending on the flavor and the host" +echo "-------------------------------------------------------------------------" +cd $OPENSTACK_BIFROST_PATH +STARTTIME=$(date +%s) +./scripts/bifrost-provision.sh +ENDTIME=$(date +%s) +echo "-----------------------------------------------------------------------" +echo "Info: VM nodes are provisioned!" +echo "Info: It took $(($ENDTIME - $STARTTIME)) seconds to provising the VM nodes" |