#!/bin/bash
set -eu
set -o pipefail

set +u
source $HORIZON_VENV_DIR/bin/activate
source /root/stackrc
set -u

COMPUTE_IMAGE_ID=$( glance image-show overcloud-compute | grep id | awk '$2=="id" {print $4}' )
CONTROL_IMAGE_ID=$( glance image-show overcloud-control | grep id | awk '$2=="id" {print $4}' )
COMPUTE_ROLE_ID=$( tuskar --tuskar-api-version 2 role-list | awk '$4=="compute" {print $2}' )
CONTROL_ROLE_ID=$( tuskar --tuskar-api-version 2 role-list | awk '$4=="controller" {print $2}' )

PLAN_ID=$( tuskar --tuskar-api-version 2 plan-create overcloud | awk '$2=="uuid" {print $4}' )

tuskar --tuskar-api-version 2 plan-add-role -r $COMPUTE_ROLE_ID $PLAN_ID
tuskar --tuskar-api-version 2 plan-add-role -r $CONTROL_ROLE_ID $PLAN_ID

if [ -n "$(tuskar --tuskar-api-version 2 role-list | grep cinder-storage)" ]; then
    BLOCK_STORAGE_IMAGE_ID=$(glance image-show overcloud-cinder-volume | grep id | awk '$2=="id" {print $4}' )
    BLOCK_STORAGE_ROLE_ID=$(tuskar --tuskar-api-version 2 role-list | awk '$4=="cinder-storage" {print $2}')
    tuskar --tuskar-api-version 2 plan-add-role -r $BLOCK_STORAGE_ROLE_ID $PLAN_ID
    tuskar --tuskar-api-version 2 plan-patch -A cinder-storage-1::Image=$BLOCK_STORAGE_IMAGE_ID $PLAN_ID
fi

if [ -n "$(tuskar --tuskar-api-version 2 role-list | grep swift-storage)" ]; then
    OBJECT_STORAGE_IMAGE_ID=$(glance image-show overcloud-swift-storage | grep id | awk '$2=="id" {print $4}' )
    OBJECT_STORAGE_ROLE_ID=$(tuskar --tuskar-api-version 2 role-list | awk '$4=="swift-storage" {print $2}')
    tuskar --tuskar-api-version 2 plan-add-role -r $OBJECT_STORAGE_ROLE_ID $PLAN_ID
    tuskar --tuskar-api-version 2 plan-patch -A swift-storage-1::Image=$OBJECT_STORAGE_IMAGE_ID $PLAN_ID
fi

tuskar --tuskar-api-version 2 plan-patch -A compute-1::Image=$COMPUTE_IMAGE_ID $PLAN_ID
tuskar --tuskar-api-version 2 plan-patch -A controller-1::Image=$CONTROL_IMAGE_ID $PLAN_ID

echo "UNDERCLOUD_ADMIN_PASSWORD = \"${OS_PASSWORD}\"" >> $HORIZON_VENV_DIR/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py
echo "IRONIC_DISCOVERD_URL = \"http://127.0.0.1:5050\"" >> $HORIZON_VENV_DIR/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py

DEPLOYMENT_MODE=$(os-apply-config --key deployment-mode --key-default=scale)
echo "DEPLOYMENT_MODE = \"${DEPLOYMENT_MODE}\"" >> $HORIZON_VENV_DIR/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py

DJANGO_SETTINGS_MODULE=openstack_dashboard.settings django-admin.py collectstatic --noinput
DJANGO_SETTINGS_MODULE=openstack_dashboard.settings django-admin.py compress --force

set +u
deactivate
set -u

os-svc-enable -n apache2
os-svc-restart -n apache2
