summaryrefslogtreecommitdiffstats
path: root/jjb/apex/apex-snapshot-deploy.sh
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/apex/apex-snapshot-deploy.sh')
-rw-r--r--jjb/apex/apex-snapshot-deploy.sh184
1 files changed, 0 insertions, 184 deletions
diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh
deleted file mode 100644
index dd69df3fc..000000000
--- a/jjb/apex/apex-snapshot-deploy.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/usr/bin/env bash
-##############################################################################
-# Copyright (c) 2016 Tim Rozet (Red Hat) and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-SSH_OPTIONS=(-o StrictHostKeyChecking=no -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null -o LogLevel=error)
-SNAP_CACHE=$HOME/snap_cache
-
-
-echo "Deploying Apex snapshot..."
-echo "--------------------------"
-echo
-
-if [ -z "$SNAP_TYPE" ]; then
- echo "ERROR: SNAP_TYPE not provided...exiting"
- exit 1
-fi
-
-echo "Cleaning server"
-pushd ci > /dev/null
-sudo opnfv-clean
-popd > /dev/null
-
-full_snap_url="gs://${GS_URL}/${OS_VERSION}/${TOPOLOGY}"
-
-echo "Downloading latest snapshot properties file"
-if ! gsutil cp ${full_snap_url}/snapshot.properties $WORKSPACE/opnfv.properties; then
- echo "ERROR: Unable to find snapshot.properties at ${full_snap_url}...exiting"
- exit 1
-fi
-
-echo "Properties contents:"
-cat ${WORKSPACE}/opnfv.properties
-
-# find latest check sum
-latest_snap_checksum=$(cat ${WORKSPACE}/opnfv.properties | grep ${SNAP_TYPE}_SNAP_SHA512SUM | awk -F "=" '{print $2}')
-if [ -z "$latest_snap_checksum" ]; then
- echo "ERROR: checksum of latest snapshot from snapshot.properties is null!"
- exit 1
-fi
-
-local_snap_checksum=""
-SNAP_CACHE=${SNAP_CACHE}/${OS_VERSION}/${TOPOLOGY}
-
-# check snap cache directory exists
-# if snapshot cache exists, find the checksum
-if [ -d "$SNAP_CACHE" ]; then
- latest_snap=$(ls ${SNAP_CACHE} | grep tar.gz | grep $SNAP_TYPE | tail -n 1)
- if [ -n "$latest_snap" ]; then
- local_snap_checksum=$(sha512sum ${SNAP_CACHE}/${latest_snap} | cut -d' ' -f1)
- echo "Local snap checksum is: ${local_snap_checksum}"
- fi
-else
- mkdir -p ${SNAP_CACHE}
-fi
-
-# compare check sum and download latest snap if not up to date
-if [ "$local_snap_checksum" != "$latest_snap_checksum" ]; then
- snap_url=$(cat opnfv.properties | grep ${SNAP_TYPE}_SNAP_URL | awk -F "=" '{print $2}')
- # TODO(trozet): Remove this once OPNFV url is deprecated
- if [[ -z "$snap_url" && "$SNAP_TYPE" == 'csit' ]]; then
- echo "WARN: Unable to find snap url for ${SNAP_TYPE}, attempting to use OPNFV"
- snap_url=$(cat opnfv.properties | grep OPNFV_SNAP_URL | awk -F "=" '{print $2}')
- fi
- if [ -z "$snap_url" ]; then
- echo "ERROR: Snap URL from snapshot.properties is null!"
- exit 1
- fi
- echo "INFO: SHA mismatch, will download latest snapshot"
- # wipe cache
- rm -rf ${SNAP_CACHE}/*
- gsutil cp "gs://${snap_url}" ${SNAP_CACHE}/
- snap_tar=$(basename ${snap_url})
-else
- snap_tar=${latest_snap}
-fi
-
-echo "INFO: Snapshot to be used is ${snap_tar}"
-
-# move to snap cache dir and unpack
-pushd ${SNAP_CACHE} > /dev/null
-tar xvf ${snap_tar}
-
-# create each network
-virsh_networks=$(ls *.xml | grep -v baremetal)
-
-if [ -z "$virsh_networks" ]; then
- echo "ERROR: no virsh networks found in snapshot unpack"
- exit 1
-fi
-
-echo "Checking overcloudrc"
-if ! stat overcloudrc; then
- echo "ERROR: overcloudrc does not exist in snap unpack"
- exit 1
-fi
-
-for network_def in ${virsh_networks}; do
- sudo virsh net-create ${network_def}
- network=$(echo ${network_def} | awk -F '.' '{print $1}')
- if ! sudo virsh net-list | grep ${network}; then
- sudo virsh net-start ${network}
- fi
- echo "Checking if OVS bridge is missing for network: ${network}"
- if ! sudo ovs-vsctl show | grep "br-${network}"; then
- sudo ovs-vsctl add-br br-${network}
- echo "OVS Bridge created: br-${network}"
- if [ "br-${network}" == 'br-admin' ]; then
- echo "Configuring IP 192.0.2.99 on br-admin"
- sudo ip addr add 192.0.2.99/24 dev br-admin
- sudo ip link set up dev br-admin
- elif [ "br-${network}" == 'br-external' ]; then
- echo "Configuring IP 192.168.37.1 on br-external"
- sudo ip addr add 192.168.37.1/24 dev br-external
- sudo ip link set up dev br-external
- # Routes for admin network
- # The overcloud controller is multi-homed and will fail to respond
- # to traffic from the functest container due to reverse-path-filtering
- # This route allows reverse traffic, by forcing admin network destined
- # traffic through the external network for controller IPs only.
- # Compute nodes have no ip on external interfaces.
- controller_ips=$(cat overcloudrc | grep -Eo "192.0.2.[0-9]+")
- for ip in $controller_ips; do
- sudo ip route add ${ip}/32 dev br-external
- done
- fi
- fi
-done
-
-echo "Virsh networks up: $(sudo virsh net-list)"
-echo "Bringing up Overcloud VMs..."
-virsh_vm_defs=$(ls baremetal*.xml)
-
-if [ -z "$virsh_vm_defs" ]; then
- echo "ERROR: no virsh VMs found in snapshot unpack"
- exit 1
-fi
-
-for node_def in ${virsh_vm_defs}; do
- sed -ri "s/machine='[^\s]+'/machine='pc'/" ${node_def}
- sudo virsh define ${node_def}
- node=$(echo ${node_def} | awk -F '.' '{print $1}')
- sudo cp -f ${node}.qcow2 /var/lib/libvirt/images/
- sudo virsh start ${node}
- echo "Node: ${node} started"
-done
-
-# copy overcloudrc for functest
-mkdir -p $HOME/cloner-info
-cp -f overcloudrc $HOME/cloner-info/
-
-admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+" | head -1)
-netvirt_url="http://${admin_controller_ip}:8081/restconf/operational/network-topology:network-topology/topology/netvirt:1"
-
-source overcloudrc
-counter=1
-while [ "$counter" -le 10 ]; do
- echo "Checking if OpenStack is up"
- if nc -z ${admin_controller_ip} 9696 > /dev/null; then
- echo "Overcloud Neutron is up...Checking if OpenDaylight NetVirt is up..."
- if curl --fail --silent -u admin:${SDN_CONTROLLER_PASSWORD} ${netvirt_url} > /dev/null; then
- echo "OpenDaylight is up. Overcloud deployment complete"
- exit 0
- else
- echo "OpenDaylight not yet up, try ${counter}"
- fi
- else
- echo "Neutron not yet up, try ${counter}"
- fi
- counter=$((counter+1))
- sleep 60
-done
-
-echo "ERROR: Deployment not up after 10 minutes...exiting."
-exit 1