cd $YAML_BUILDS
fi
-create_directories() {
- mkdir -p ./tars/$SITE/configs/promenade
- mkdir -p ./tars/$SITE/configs/promenade-bundle
-}
-
-get_site_config(){
- $YAML_BUILDS/tools/pegleg.sh site -p /site -a /global collect ${SITE} -s /site/tars/$SITE/configs/promenade
-}
-
-gen_certs() {
- docker run --env http_proxy=$http_proxy --env https_proxy=$https_proxy --user 0 --rm -t -w /target -v $(pwd):/target ${PROMENADE_IMAGE} promenade generate-certs -o /target/tars/$SITE/configs/promenade /target/tars/$SITE/configs/promenade/*.yaml
-}
-
-gen_bundle(){
- docker run --env http_proxy=$http_proxy --env https_proxy=$https_proxy --user 0 --rm -t -w /target -v $(pwd):/target ${PROMENADE_IMAGE} promenade build-all --validators -o /target/tars/$SITE/configs/promenade-bundle /target/tars/$SITE/configs/promenade/*.yaml
-}
-
-create_scripts() {
- KEYSTONE_IMAGE=$(grep "keystone_db_sync: docker.io" $AIRSHIP_TREASUREMAP/global/v4.0/software/config/versions.yaml | uniq | awk '{print $2}')
- SHIPYARD_IMAGE=$(grep "shipyard_db_sync" $AIRSHIP_TREASUREMAP/global/v4.0/software/config/versions.yaml | uniq | awk '{print $2}')
-
- DRYDOCK_PASSWORD=$(grep "^data:" $YAML_BUILDS/site/$SITE/secrets/passphrases/ucp_drydock_keystone_password.yaml | awk '{print $2}')
- SHIPYARD_PASSWORD=$(grep "^data:" $YAML_BUILDS/site/$SITE/secrets/passphrases/ucp_shipyard_keystone_password.yaml | awk '{print $2}')
- REGION_NAME=$SITE
-
- cp $YAML_BUILDS/tools/deploy_site.sh $YAML_BUILDS/tars/$SITE/
- sed -i -e "s,KEYSTONE_IMAGE=,KEYSTONE_IMAGE=$KEYSTONE_IMAGE,g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
- sed -i -e "s,SHIPYARD_IMAGE=,SHIPYARD_IMAGE=$SHIPYARD_IMAGE,g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
- sed -i -e "s/DRYDOCK_PASSWORD=/DRYDOCK_PASSWORD=$DRYDOCK_PASSWORD/g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
- sed -i -e "s/SHIPYARD_PASSWORD=/SHIPYARD_PASSWORD=$SHIPYARD_PASSWORD/g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
- sed -i -e "s/REGION_NAME=/REGION_NAME=$REGION_NAME/g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
- sed -i -e "s/{{yaml.genesis.host}}/$GENESIS_HOST/g" $YAML_BUILDS/tars/$SITE/deploy_site.sh
-
- cp $YAML_BUILDS/tools/update_iptables.sh $YAML_BUILDS/tars/$SITE/
- sed -i -e "s,HOST_INTERFACE=,HOST_INTERFACE=$HOST_INTERFACE,g" $YAML_BUILDS/tars/$SITE/update_iptables.sh
- sed -i -e "s,PXE_INTERFACE=,PXE_INTERFACE=$PXE_INTERFACE,g" $YAML_BUILDS/tars/$SITE/update_iptables.sh
-
- cp $YAML_BUILDS/tools/cleanup.sh $YAML_BUILDS/tars/$SITE/
-}
-
-prepare_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
-
-(
echo "# Collecting config files in $AIRSHIP_TREASUREMAP/site/$SITE"
cd $AIRSHIP_TREASUREMAP
rm -rf $AIRSHIP_TREASUREMAP/${SITE}_collected
(
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}')
+ AUTH_DOMAIN=$(grep "ingress_domain:" $AIRSHIP_TREASUREMAP/site/$SITE/networks/common-addresses.yaml | awk '{print $2}')
+ AUTH_URL="http:\/\/iam-sw.${AUTH_DOMAIN}:80\/v3"
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|OS_AUTH_URL=|OS_AUTH_URL=\"${AUTH_URL}\"|g" $DEPLOY_SCRIPT
+ sed -i -e "s/OS_PASSWORD=/OS_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
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 .
+ tar cvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar --transform 's,^,configs/promenade-bundle/,' -C $AIRSHIP_TREASUREMAP/${SITE}_bundle .
+ tar rvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar --transform 's,^,configs/promenade/,' -C $AIRSHIP_TREASUREMAP/${SITE}_collected .
+ tar rvf $YAML_BUILDS/tars/promenade-bundle-$SITE.tar -C $AIRSHIP_TREASUREMAP tools global
)
echo "#######################################"
echo "# $0 finished"
echo "#######################################"
-exec 2>&-
-exec 1>&-
-exit 0
-
+pkill -9 $$ && exit 0
ssh $GENESIS_HOST << EOF
# TODO avoid following hard coding$
route add -net 192.168.41.0/24 gw 192.168.2.1 bond0.41
- mkdir -p /root/akraino/configs/promenade-bundle
- mv /tmp/promenade-bundle-$SITE.tar /root/akraino/
+ mkdir -p /root/akraino
cd /root/akraino/
+ cp /tmp/promenade-bundle-$SITE.tar .
tar -xmf promenade-bundle-$SITE.tar
- # MOVE TO LOCATION EXPECTED BY WORKFLOW
- mv genesis.sh /root/akraino/configs/promenade-bundle/
+ mv configs/promenade-bundle/deploy_site.sh .
EOF
# Update BIOS settings on master and worker nodes
-python $YAML_BUILDS/scripts/update_bios_settings.py $SITE.yaml
+#python $YAML_BUILDS/scripts/update_bios_settings.py $SITE.yaml
echo "#######################################"
echo "# $0 finished"
echo "#######################################"
-
-exec 2>&-
-exec 1>&-
-exit 0
-
+pkill -9 $$ && exit 0
exec 1> >(tee -a $LOGFILE)
exec 2>&1
-# Regional Server specific variables
-KEYSTONE_IMAGE=
-SHIPYARD_IMAGE=
# Site specific variables
-DRYDOCK_PASSWORD=
-SHIPYARD_PASSWORD=
+export OS_AUTH_URL=
+export OS_USERNAME=shipyard
+export OS_PASSWORD=
REGION_NAME=
+sleep 900
-clean_configdocs(){
- ## clean site YAMLs from Deckhand
- TOKEN=`sudo docker run --rm --net=host -e OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3 -e OS_PROJECT_DOMAIN_NAME=default -e OS_USER_DOMAIN_NAME=default -e OS_PROJECT_NAME=service -e OS_REGION_NAME=RegionOne -e OS_USERNAME=drydock -e OS_PASSWORD=${DRYDOCK_PASSWORD} -e OS_IDENTITY_API_VERSION=3 ${KEYSTONE_IMAGE} openstack token issue -f value -c id`
-
- curl -v -X DELETE -H "X-AUTH-TOKEN: $TOKEN" -H 'Content-Type: application/x-yaml' http://deckhand-int.ucp.svc.cluster.local:9000/api/v1.0/revisions
-}
-
-create_configdocs(){
- sudo docker run -v $(pwd):/target -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} create configdocs ${REGION_NAME} --directory=/target/configs/promenade
-
- sleep 5
-}
-
-renderedconfigdocs(){
- sudo docker run -v $(pwd):/target -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} get renderedconfigdocs --committed > /tmp/renderedconfigdocs.yaml
-
- sleep 5
-}
-
-commit_configdocs(){
- sudo docker run -v $(pwd):/target -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} commit configdocs
-
- sleep 5
-}
-
-deploy_site(){
- sudo docker run -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} create action deploy_site
-}
-
-update_site(){
- sudo docker run -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} create action update_site
-}
+tools/airship shipyard create configdocs ${REGION_NAME} --directory=/target/configs/promenade
+tools/airship shipyard commit configdocs
-getactions(){
- sudo docker run -v $(pwd):/target -e 'OS_AUTH_URL=http://keystone-api.ucp.svc.cluster.local:80/v3' -e OS_PASSWORD=${SHIPYARD_PASSWORD} -e 'OS_PROJECT_DOMAIN_NAME=default' -e 'OS_PROJECT_NAME=service' -e 'OS_USERNAME=shipyard' -e 'OS_USER_DOMAIN_NAME=default' -e 'OS_IDENTITY_API_VERSION=3' --rm --net=host ${SHIPYARD_IMAGE} get actions
+tools/airship shipyard create action deploy_site
- sleep 5
-}
+tools/airship shipyard get actions
-sleep 900
-clean_configdocs
-create_configdocs
-commit_configdocs
-renderedconfigdocs
+SHIPYARD_ACTION=$(tools/airship shipyard get actions | awk '/deploy_site/ {print $2};')
-deploy_site
-#getactions
-#update_site
+tools/airship shipyard describe $SHIPYARD_ACTION
echo "## Airship deployment has been started..."
echo "##"