mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
127 lines
3.0 KiB
Bash
127 lines
3.0 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Cloud.com Bridge setup script.
|
|
#
|
|
|
|
settingsFile="/usr/share/cloud/bridge/conf/ec2-service.properties"
|
|
|
|
function readCurrentSettings () {
|
|
readVar managementServer
|
|
readVar cloudAPIPort
|
|
readVar cloudstackVersion
|
|
readVar WSDLVersion
|
|
readVar keystore
|
|
readVar keystorePass
|
|
readVar m1.small.serviceId
|
|
readVar m1.large.serviceId
|
|
readVar m1.xlarge.serviceId
|
|
readVar c1.medium.serviceId
|
|
readVar c1.xlarge.serviceId
|
|
readVar m2.xlarge.serviceId
|
|
readVar m2.2xlarge.serviceId
|
|
readVar m2.4xlarge.serviceId
|
|
readVar cc1.4xlarge.serviceId
|
|
readVar dbHost
|
|
readVar dbName
|
|
readVar dbUser
|
|
readVar dbPassword
|
|
}
|
|
|
|
function readVar () {
|
|
local _pointer=$(sub "$1")
|
|
local _tmp="`cat $settingsFile|grep \"$1=\"|awk -F= '{print $2}'|tr -d '\r'`"
|
|
eval $_pointer="$_tmp"
|
|
}
|
|
|
|
function readValue () {
|
|
local _value
|
|
local _tmp
|
|
local _pointer=$(sub "$2")
|
|
eval _value="\$$_pointer"
|
|
printf "%s [%s]: " "$1" "$_value"
|
|
read -e _tmp
|
|
|
|
if [ "$_tmp" != "" ]
|
|
then
|
|
eval $_pointer="$_tmp"
|
|
fi
|
|
}
|
|
|
|
function getNewValues () {
|
|
readValue "Management server hostname or IP" managementServer
|
|
readValue "Management server port" cloudAPIPort
|
|
|
|
readValue "Service offering ID for m1.small" m1.small.serviceId
|
|
readValue "Service offering ID for m1.large" m1.large.serviceId
|
|
readValue "Service offering ID for m1.xlarge" m1.xlarge.serviceId
|
|
|
|
readValue "Service offering ID for c1.medium" c1.medium.serviceId
|
|
readValue "Service offering ID for c1.xlarge" c1.xlarge.serviceId
|
|
|
|
readValue "Service offering ID for m2.xlarge" m2.xlarge.serviceId
|
|
readValue "Service offering ID for m2.2xlarge" m2.2xlarge.serviceId
|
|
readValue "Service offering ID for m2.4xlarge" m2.4xlarge.serviceId
|
|
readValue "Service offering ID for cc1.4xlarge" cc1.4xlarge.serviceId
|
|
}
|
|
|
|
function sub () {
|
|
echo "$1" | awk '{gsub(/\./, "_", $0); print $0}'
|
|
}
|
|
|
|
function saveValue () {
|
|
local _pointer=$(sub "$1")
|
|
local _value
|
|
eval _value="\$$_pointer"
|
|
echo "$1=$_value" >> $settingsFile
|
|
}
|
|
|
|
function saveValues () {
|
|
cat /dev/null > $settingsFile
|
|
saveValue managementServer
|
|
saveValue cloudAPIPort
|
|
saveValue cloudstackVersion
|
|
saveValue WSDLVersion
|
|
saveValue keystore
|
|
saveValue keystorePass
|
|
saveValue m1.small.serviceId
|
|
saveValue m1.large.serviceId
|
|
saveValue m1.xlarge.serviceId
|
|
saveValue c1.medium.serviceId
|
|
saveValue c1.xlarge.serviceId
|
|
saveValue m2.xlarge.serviceId
|
|
saveValue m2.2xlarge.serviceId
|
|
saveValue m2.4xlarge.serviceId
|
|
saveValue cc1.4xlarge.serviceId
|
|
saveValue dbHost
|
|
saveValue dbName
|
|
saveValue dbUser
|
|
saveValue dbPassword
|
|
}
|
|
|
|
echo "Welcome to the CloudBridge setup."
|
|
|
|
|
|
if [ ! -e $settingsFile ]
|
|
then
|
|
settingsFile=$1
|
|
if [ ! -e $settingsFile ]
|
|
then
|
|
echo "Error: Settings file not found."
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [ ! -w $settingsFile ]
|
|
then
|
|
echo "Error: Insufficient permissions. Run as super-user."
|
|
exit 1
|
|
fi
|
|
|
|
readCurrentSettings
|
|
|
|
printf "Enter suitable values or press enter for default. \n\n"
|
|
|
|
getNewValues
|
|
saveValues
|
|
|
|
printf "\nValues saved. Restart the cloud-bridge service for the changes to become active.\n\n"
|