summaryrefslogtreecommitdiffstats
path: root/prototypes/xci/xci-deploy.sh
diff options
context:
space:
mode:
Diffstat (limited to 'prototypes/xci/xci-deploy.sh')
-rwxr-xr-xprototypes/xci/xci-deploy.sh213
1 files changed, 0 insertions, 213 deletions
diff --git a/prototypes/xci/xci-deploy.sh b/prototypes/xci/xci-deploy.sh
deleted file mode 100755
index d71125651..000000000
--- a/prototypes/xci/xci-deploy.sh
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-#-------------------------------------------------------------------------------
-# This script should not be run as root
-#-------------------------------------------------------------------------------
-if [[ $(whoami) == "root" ]]; then
- echo "WARNING: This script should not be run as root!"
- echo "Elevated privileges are aquired automatically when necessary"
- echo "Waiting 10s to give you a chance to stop the script (Ctrl-C)"
- for x in $(seq 10 -1 1); do echo -n "$x..."; sleep 1; done
-fi
-
-#-------------------------------------------------------------------------------
-# Set environment variables
-#-------------------------------------------------------------------------------
-# The order of sourcing the variable files is significant so please do not
-# change it or things might stop working.
-# - user-vars: variables that can be configured or overriden by user.
-# - pinned-versions: versions to checkout. These can be overriden if you want to
-# use different/more recent versions of the tools but you might end up using
-# something that is not verified by OPNFV XCI.
-# - flavor-vars: settings for VM nodes for the chosen flavor.
-# - env-vars: variables for the xci itself and you should not need to change or
-# override any of them.
-#-------------------------------------------------------------------------------
-# find where are we
-XCI_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-# source user vars
-source $XCI_PATH/config/user-vars
-# source pinned versions
-source $XCI_PATH/config/pinned-versions
-# source flavor configuration
-source "$XCI_PATH/config/${XCI_FLAVOR}-vars"
-# source xci configuration
-source $XCI_PATH/config/env-vars
-
-#-------------------------------------------------------------------------------
-# Sanitize local development environment variables
-#-------------------------------------------------------------------------------
-user_local_dev_vars=(OPNFV_RELENG_DEV_PATH OPNFV_OSA_DEV_PATH OPNFV_BIFROST_DEV_PATH)
-for local_user_var in ${user_local_dev_vars[@]}; do
- [[ -n ${!local_user_var:-} ]] && export $local_user_var=${!local_user_var%/}/
-done
-unset user_local_dev_vars local_user_var
-
-#-------------------------------------------------------------------------------
-# 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 "-------------------------------------------------------------------------"
-
-#-------------------------------------------------------------------------------
-# Install ansible on localhost
-#-------------------------------------------------------------------------------
-source file/install-ansible.sh
-
-# TODO: The xci playbooks can be put into a playbook which will be done later.
-
-#-------------------------------------------------------------------------------
-# Start provisioning VM nodes
-#-------------------------------------------------------------------------------
-# This playbook
-# - removes directories that were created by the previous xci run
-# - clones opnfv/releng and openstack/bifrost repositories
-# - combines opnfv/releng and openstack/bifrost scripts/playbooks
-# - destorys VMs, removes ironic db, leases, logs
-# - creates and provisions VMs for the chosen flavor
-#-------------------------------------------------------------------------------
-echo "Info: Starting provisining VM nodes using openstack/bifrost"
-echo "-------------------------------------------------------------------------"
-cd $XCI_PATH/playbooks
-ansible-playbook $ANSIBLE_VERBOSITY -i inventory provision-vm-nodes.yml
-echo "-----------------------------------------------------------------------"
-echo "Info: VM nodes are provisioned!"
-source $OPENSTACK_BIFROST_PATH/env-vars
-ironic node-list
-echo
-#-------------------------------------------------------------------------------
-# Configure localhost
-#-------------------------------------------------------------------------------
-# This playbook
-# - removes directories that were created by the previous xci run
-# - clones opnfv/releng repository
-# - creates log directory
-# - copies flavor files such as playbook, inventory, and var file
-#-------------------------------------------------------------------------------
-echo "Info: Configuring localhost for openstack-ansible"
-echo "-----------------------------------------------------------------------"
-cd $XCI_PATH/playbooks
-ansible-playbook $ANSIBLE_VERBOSITY -i inventory configure-localhost.yml
-echo "-----------------------------------------------------------------------"
-echo "Info: Configured localhost host for openstack-ansible"
-
-#-------------------------------------------------------------------------------
-# Configure openstack-ansible deployment host, opnfv
-#-------------------------------------------------------------------------------
-# This playbook
-# - removes directories that were created by the previous xci run
-# - clones opnfv/releng and openstack/openstack-ansible repositories
-# - configures network
-# - generates/prepares ssh keys
-# - bootstraps ansible
-# - copies flavor files to be used by openstack-ansible
-#-------------------------------------------------------------------------------
-echo "Info: Configuring opnfv deployment host for openstack-ansible"
-echo "-----------------------------------------------------------------------"
-cd $OPNFV_RELENG_PATH/prototypes/xci/playbooks
-ansible-playbook $ANSIBLE_VERBOSITY -i inventory configure-opnfvhost.yml
-echo "-----------------------------------------------------------------------"
-echo "Info: Configured opnfv deployment host for openstack-ansible"
-
-#-------------------------------------------------------------------------------
-# Skip the rest if the flavor is aio since the target host for aio is opnfv
-#-------------------------------------------------------------------------------
-if [[ $XCI_FLAVOR == "aio" ]]; then
- echo "xci: aio has been installed"
- exit 0
-fi
-
-#-------------------------------------------------------------------------------
-# Configure target hosts for openstack-ansible
-#-------------------------------------------------------------------------------
-# This playbook
-# - adds public keys to target hosts
-# - configures network
-# - configures nfs
-#-------------------------------------------------------------------------------
-echo "Info: Configuring target hosts for openstack-ansible"
-echo "-----------------------------------------------------------------------"
-cd $OPNFV_RELENG_PATH/prototypes/xci/playbooks
-ansible-playbook $ANSIBLE_VERBOSITY -i inventory configure-targethosts.yml
-echo "-----------------------------------------------------------------------"
-echo "Info: Configured target hosts"
-
-#-------------------------------------------------------------------------------
-# Set up target hosts for openstack-ansible
-#-------------------------------------------------------------------------------
-# This is openstack-ansible playbook. Check upstream documentation for details.
-#-------------------------------------------------------------------------------
-echo "Info: Setting up target hosts for openstack-ansible"
-echo "-----------------------------------------------------------------------"
-ssh root@$OPNFV_HOST_IP "openstack-ansible \
- $OPENSTACK_OSA_PATH/playbooks/setup-hosts.yml" | \
- tee $LOG_PATH/setup-hosts.log
-echo "-----------------------------------------------------------------------"
-# check the log to see if we have any error
-if grep -q 'failed=1\|unreachable=1' $LOG_PATH/setup-hosts.log; then
- echo "Error: OpenStack node setup failed!"
- exit 1
-fi
-echo "Info: Set up target hosts for openstack-ansible successfuly"
-
-#-------------------------------------------------------------------------------
-# Set up infrastructure
-#-------------------------------------------------------------------------------
-# This is openstack-ansible playbook. Check upstream documentation for details.
-#-------------------------------------------------------------------------------
-echo "Info: Setting up infrastructure"
-echo "-----------------------------------------------------------------------"
-echo "xci: running ansible playbook setup-infrastructure.yml"
-ssh root@$OPNFV_HOST_IP "openstack-ansible \
- $OPENSTACK_OSA_PATH/playbooks//setup-infrastructure.yml" | \
- tee $LOG_PATH/setup-infrastructure.log
-echo "-----------------------------------------------------------------------"
-# check the log to see if we have any error
-if grep -q 'failed=1\|unreachable=1' $LOG_PATH/setup-infrastructure.log; then
- echo "Error: OpenStack node setup failed!"
- exit 1
-fi
-
-#-------------------------------------------------------------------------------
-# Verify database cluster
-#-------------------------------------------------------------------------------
-echo "Info: Verifying database cluster"
-echo "-----------------------------------------------------------------------"
-ssh root@$OPNFV_HOST_IP "ansible -i $OPENSTACK_OSA_PATH/playbooks/inventory/ \
- galera_container -m shell \
- -a "mysql -h localhost -e 'show status like \"%wsrep_cluster_%\";'"" \
- | tee $LOG_PATH/galera.log
-echo "-----------------------------------------------------------------------"
-# check the log to see if we have any error
-if grep -q 'FAILED' $LOG_PATH/galera.log; then
- echo "Error: Database cluster verification failed!"
- exit 1
-fi
-echo "Info: Database cluster verification successful!"
-
-#-------------------------------------------------------------------------------
-# Install OpenStack
-#-------------------------------------------------------------------------------
-# This is openstack-ansible playbook. Check upstream documentation for details.
-#-------------------------------------------------------------------------------
-echo "Info: Installing OpenStack on target hosts"
-echo "-----------------------------------------------------------------------"
-ssh root@$OPNFV_HOST_IP "openstack-ansible \
- $OPENSTACK_OSA_PATH/playbooks/setup-openstack.yml" | \
- tee $LOG_PATH/opnfv-setup-openstack.log
-echo "-----------------------------------------------------------------------"
-# check the log to see if we have any error
-if grep -q 'failed=1\|unreachable=1' $LOG_PATH/opnfv-setup-openstack.log; then
- echo "Error: OpenStack installation failed!"
- exit 1
-fi
-echo "Info: OpenStack installation is successfully completed!"