-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Thanks to @jaideepjoshi
register-xdf-tenant-storage.sh
#!/bin/bash
exec > >(tee -i generated/$(basename $0).log)
exec 2>&1
set -e
set -u
set -o pipefail
source "./scripts/functions.sh"
source "./scripts/00b-load-env-variables.sh"
export HPECP_CONFIG_FILE="./generated/hpecp.conf"
if [[ ! -d generated ]]; then
echo "This file should be executed from the project directory"
exit 1
fi
XDFHOST1=`cat ./generated/novalist |grep $PROJECT_ID|grep externaldf-host-1| awk '{ split($12, v, "="); print v[2]}'`
echo "Creating Service Ticket"
ssh -o StrictHostKeyChecking=no -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 << ENDSSH1
sudo apt-get install -y expect
set -x
expect <<EOF
spawn \maprlogin password -user mapr
expect "Password for user 'mapr' at cluster 'xdf.demo.com': " { send "mapr\r" }
expect eof
EOF
maprlogin print
maprlogin generateticket -type service -user mapr -out /tmp/mapr-service-ticket
chmod 777 /tmp/mapr-service-ticket
echo "Done Creating Service Ticket"
sudo ls -l /tmp/mapr-service-ticket
ENDSSH1
echo "Creating Secrets File"
scp -i "./generated/controller.prv_key" ./files/gen-external-secrets.sh ubuntu@$XDFHOST1:/tmp/gen-external-secrets.sh
#ssh -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 "sudo cp /tmp/gen-external-secrets.sh /home/mapr/gen-external-secrets.sh"
#ssh -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 "sudo chmod 777 /home/mapr/gen-external-secrets.sh"
#ssh -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 "sudo chown mapr:mapr /home/mapr/gen-external-secrets.sh"
ssh -o StrictHostKeyChecking=no -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 << ENDSSH2
set -x
sudo cp /tmp/gen-external-secrets.sh /home/mapr/gen-external-secrets.sh
sudo chmod 777 /home/mapr/gen-external-secrets.sh
sudo chown mapr:mapr /home/mapr/gen-external-secrets.sh
expect <<EOF
spawn \sudo runuser -l mapr -c /home/mapr/gen-external-secrets.sh
expect "Please provide output filename:" { send "mapr-external-secrets.yaml\r" }
expect "Please provide the MapR username:" { send "mapr\r" }
expect "Please provide mapr's password:" { send "mapr\r" }
expect "Is this a Kubernetes Storage Node?" { send "n\r" }
expect "Please provide the server configmap name:" { send "mapr-external-cm\r" }
expect "Please provide the user secret name:" { send "mapr-user-secrets\r" }
expect "Please provide the server secret name:" { send "mapr-server-secrets\r" }
expect "Please provide the client secret name:" { send "mapr-client-secrets\r" }
expect "Please provide the hivesite configmap name:" { send "mapr-hivesite-cm\r" }
expect eof
EOF
ENDSSH2
echo "Copying Secrets File and ssl trustore to /tmp"
ssh -o StrictHostKeyChecking=no -i "./generated/controller.prv_key" -T ubuntu@$XDFHOST1 << ENDSSH3
sudo cp /home/mapr/mapr-external-secrets.yaml /tmp/mapr-external-secrets.yaml
sudo cp /opt/mapr/conf/ssl_truststore /tmp/ssl_truststore
sudo ls -l /tmp/mapr-external-secrets.yaml
sudo ls -l /tmp/ssl_truststore
echo "Done Secrets File and ssl trustore to /tmp"
ENDSSH3
echo "Copying Ticket, Secrets, SSL TrustStore, Manifest File to ./generated"
scp -i "./generated/controller.prv_key" ubuntu@$XDFHOST1:/tmp/mapr-service-ticket ./generated/mapr-service-ticket
scp -i "./generated/controller.prv_key" ubuntu@$XDFHOST1:/tmp/mapr-external-secrets.yaml ./generated/mapr-external-secrets.yaml
scp -i "./generated/controller.prv_key" ubuntu@$XDFHOST1:/tmp/ssl_truststore ./generated/ssl_truststore
cp ./files/ext-dftenant-manifest ./generated/ext-dftenant-manifest
echo "Copying Ticket, Secrets, SSL TrustStore, Manifest File to Controller"
for CONTROLLER in `cat ./generated/novalist |grep $PROJECT_ID|grep controller | awk '{ split($12, v, "="); print v[2]}'`
do
scp -i "./generated/controller.prv_key" ./generated/mapr-service-ticket centos@$CONTROLLER:/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/mapr-service-ticket
scp -i "./generated/controller.prv_key" ./generated/mapr-external-secrets.yaml centos@$CONTROLLER:/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/mapr-external-secrets.yaml
scp -i "./generated/controller.prv_key" ./generated/ssl_truststore centos@$CONTROLLER:/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/ssl_truststore
ssh -i "./generated/controller.prv_key" -T centos@$CONTROLLER "mkdir /opt/bluedata/tmp/ext-bm-mapr"
scp -i "./generated/controller.prv_key" ./generated/ext-dftenant-manifest centos@$CONTROLLER:/opt/bluedata/tmp/ext-bm-mapr/ext-dftenant-manifest
done
echo "Congiguring XDF as Tenant Storage"
ssh -i "./generated/controller.prv_key" -T centos@$CONTROLLER "LOG_FILE_PATH=/tmp/"ext_configure_dftenants_"`date +"%Y-%m-%d.%H.%M"`".txt" HCP_ADMIN_PASS="admin123" /opt/bluedata/bundles/hpe-cp-*/startscript.sh --action ext_configure_dftenants"
echo "Registering XDF as Tenant Storage"
ssh -i "./generated/controller.prv_key" -T centos@$CONTROLLER "LOG_FILE_PATH=/tmp/"ext_register_dftenants_"`date +"%Y-%m-%d.%H.%M"`".txt" HCP_ADMIN_PASS="admin123" /opt/bluedata/bundles/hpe-cp-*/startscript.sh --action ext_register_dftenants"
#need expect for the following
#Enter Site Admin username: admin
#Enter Site Admin password: admin123
ext-dftenant-manifest
CLDB_LIST="jai-ecp-demo-externaldf-host-1.demo.com"
CLDB_PORT="7222"
SECURE="true"
CLUSTER_NAME="xdf.demo.com"
REST_URL="https://jai-ecp-demo-externaldf-host-1.demo.com:8443/rest/"
EXT_MAPR_MOUNT_DIR="/xdf"
TICKET_FILE_LOCATION="/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/mapr-service-ticket"
SSL_TRUSTSTORE_LOCATION="/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/ssl_truststore"
EXT_SECRETS_FILE_LOCATION="/opt/bluedata/bundles/hpe-cp-rhel-release-5.4-150/scripts/mapr-external-secrets.yaml"
HCP_ADMIN="admin"
FORCE_ERASE="false"
RESTART_CNODE="false"
`
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request