X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=tools%2F1prom-gen.sh;h=144b7aa341740681682e3c1571747745d29ccee3;hb=fbb206730195c6f03ded7658d08f1ef708ebf88b;hp=68ab018a5a265c15a98d4c59f7fdfb3a33ff12a5;hpb=1951ee4f75821702845cbf84243f7aadd032fd53;p=yaml_builds.git diff --git a/tools/1prom-gen.sh b/tools/1prom-gen.sh index 68ab018..144b7aa 100755 --- a/tools/1prom-gen.sh +++ b/tools/1prom-gen.sh @@ -19,22 +19,17 @@ # re-generate prom config set -xe -TIMESTAMP=$(date +"%Y%m%d%H%M") -echo "logging to /var/log/yaml_builds/1prom-gen_$TIMESTAMP.log" -mkdir -p /var/log/yaml_builds -exec > /var/log/yaml_builds/1prom-gen_$TIMESTAMP.log +LOGDIR="/var/log/akraino" +mkdir -p $LOGDIR +LOGFILE="$LOGDIR/${1}_$(date +"%Y%m%d%H%M%z")_$(basename $0|cut -d. -f1)" +echo "logging to $LOGFILE" +exec 1> >(tee -a $LOGFILE) exec 2>&1 source $(dirname $0)/setenv.sh PROMENADE_IMAGE=quay.io/airshipit/promenade:009f3de7ecf6afcdd2783ac7a12470394d7dfab3 -if [ -z "$AIRSHIP_TREASUREMAP" ] -then - echo "Please use https://git.openstack.org/openstack/airship-treasuremap to clone airship_treasuremap. Also set AIRSHIP_TREASUREMAP to it." - exit -1 -fi - if [ -z "$1" ] then echo "Please pass site name as command line argument" @@ -45,6 +40,15 @@ else fi source $(dirname $0)/env_$SITE.sh +if [ ! -d "$AIRSHIP_TREASUREMAP" ]; then + echo "ERROR: Missing AIRSHIP_TREASUREMAP directory [$AIRSHIP_TREASUREMAP]." + exit -1 +fi + +if [ ! -d "$AIRSHIP_TEMPLATES" ]; then + echo "ERROR: Missing AIRSHIP_TEMPLATES directory [$AIRSHIP_TEMPLATES]." + exit -1 +fi # Check that we are root if [[ $(whoami) != "root" ]] @@ -104,13 +108,97 @@ create_scripts() { } prepare_tar(){ - rm ./tars/promenade-bundle-$SITE.tar + rm -f ./tars/promenade-bundle-$SITE.tar tar cvf ./tars/promenade-bundle-$SITE.tar -C ./tars/$SITE . } -create_directories -get_site_config -gen_certs -gen_bundle -create_scripts -prepare_tar +#create_directories +#get_site_config +#gen_certs +#gen_bundle +#create_scripts +#prepare_tar + +( +echo "# Collecting config files in $AIRSHIP_TREASUREMAP/site/$SITE" +cd $AIRSHIP_TREASUREMAP +rm -rf $AIRSHIP_TREASUREMAP/${SITE}_collected +mkdir -p $AIRSHIP_TREASUREMAP/${SITE}_collected +$AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target collect $SITE -s ${SITE}_collected || true +) + +( +echo "# Rendering config files in $AIRSHIP_TREASUREMAP/site/$SITE" +cd $AIRSHIP_TREASUREMAP +$AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target render $SITE > ${SITE}_render.yaml || true +) + +( +echo "# Generating certs for $AIRSHIP_TREASUREMAP/site/$SITE" +cd $AIRSHIP_TREASUREMAP +rm -rf $AIRSHIP_TREASUREMAP/${SITE}_certs +mkdir -p $AIRSHIP_TREASUREMAP/${SITE}_certs +$AIRSHIP_TREASUREMAP/tools/airship promenade generate-certs -o /target/${SITE}_certs /target/${SITE}_collected/*.yaml +) + +( +echo "# Copying certs to $AIRSHIP_TREASUREMAP/site/$SITE" +cd $AIRSHIP_TREASUREMAP +mkdir -p $AIRSHIP_TREASUREMAP/site/${SITE}/secrets/certificates +cp $AIRSHIP_TREASUREMAP/${SITE}_certs/certificates.yaml $AIRSHIP_TREASUREMAP/site/${SITE}/secrets/certificates +) + +( +echo "# Collecting config files with certs in $AIRSHIP_TREASUREMAP/site/$SITE" +cd $AIRSHIP_TREASUREMAP +rm -rf $AIRSHIP_TREASUREMAP/${SITE}_collected +mkdir -p $AIRSHIP_TREASUREMAP/${SITE}_collected +$AIRSHIP_TREASUREMAP/tools/airship pegleg site -r /target collect $SITE -s ${SITE}_collected +) + +( +echo "# Generating Promenade bundle with $AIRSHIP_TREASUREMAP/${SITE}_collected" +cd $AIRSHIP_TREASUREMAP +rm -rf $AIRSHIP_TREASUREMAP/${SITE}_bundle +mkdir -p $AIRSHIP_TREASUREMAP/${SITE}_bundle +$AIRSHIP_TREASUREMAP/tools/airship promenade build-all --validators -o /target/${SITE}_bundle /target/${SITE}_collected/*.yaml +) + +( +echo "# Copying scripts to $AIRSHIP_TREASUREMAP/${SITE}_bundle" + #KEYSTONE_IMAGE=$(grep "keystone_db_sync: docker.io" $AIRSHIP_TREASUREMAP/global/software/config/versions.yaml | uniq | awk '{print $2}') + SHIPYARD_IMAGE=$(grep "shipyard_db_sync" $AIRSHIP_TREASUREMAP/global/software/config/versions.yaml | uniq | awk '{print $2}') + + DRYDOCK_PASSWORD=$(grep "^data:" $AIRSHIP_TREASUREMAP/site/$SITE/secrets/passphrases/ucp_drydock_keystone_password.yaml | awk '{print $2}') + SHIPYARD_PASSWORD=$(grep "^data:" $AIRSHIP_TREASUREMAP/site/$SITE/secrets/passphrases/ucp_shipyard_keystone_password.yaml | awk '{print $2}') + REGION_NAME=$SITE + + DEPLOY_SCRIPT=$AIRSHIP_TREASUREMAP/${SITE}_bundle/deploy_site.sh + IPTABLES_SCRIPT=$AIRSHIP_TREASUREMAP/${SITE}_bundle/update_iptables.sh + + cp $YAML_BUILDS/tools/deploy_site.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle + sed -i -e "s,KEYSTONE_IMAGE=,KEYSTONE_IMAGE=$KEYSTONE_IMAGE,g" $DEPLOY_SCRIPT + sed -i -e "s,SHIPYARD_IMAGE=,SHIPYARD_IMAGE=$SHIPYARD_IMAGE,g" $DEPLOY_SCRIPT + sed -i -e "s/DRYDOCK_PASSWORD=/DRYDOCK_PASSWORD=$DRYDOCK_PASSWORD/g" $DEPLOY_SCRIPT + sed -i -e "s/SHIPYARD_PASSWORD=/SHIPYARD_PASSWORD=$SHIPYARD_PASSWORD/g" $DEPLOY_SCRIPT + sed -i -e "s/REGION_NAME=/REGION_NAME=$REGION_NAME/g" $DEPLOY_SCRIPT + sed -i -e "s/{{yaml.genesis.host}}/$GENESIS_HOST/g" $DEPLOY_SCRIPT + + cp $YAML_BUILDS/tools/update_iptables.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle + sed -i -e "s,HOST_INTERFACE=,HOST_INTERFACE=$HOST_INTERFACE,g" $IPTABLES_SCRIPT + sed -i -e "s,PXE_INTERFACE=,PXE_INTERFACE=$PXE_INTERFACE,g" $IPTABLES_SCRIPT + + cp $YAML_BUILDS/tools/cleanup.sh $AIRSHIP_TREASUREMAP/${SITE}_bundle +) + +( + echo "# Generating Promenade tar bundle $YAML_BUILDS/tars/promenade-bundle-$SITE.tar" + mkdir -p $YAML_BUILDS/tars + rm -f $YAML_BUILDS/tars/promenade-bundle-$SITE.tar + tar cvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar -C $AIRSHIP_TREASUREMAP/${SITE}_bundle . +) + +exec 2>&- +exec 1>&- +exit 0 +