mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-4231 make apache server listen on all the ipaliases to provide access to meta-data.
Signed-off-by: Jayapal <jayapal@apache.org>
This commit is contained in:
parent
cd2ea3b844
commit
78abebae28
|
|
@ -754,7 +754,15 @@ setup_vpc_apache2() {
|
|||
}
|
||||
|
||||
|
||||
clean_ipalias_config() {
|
||||
rm -f /etc/apache2/conf.d/ports.*.meta-data.conf
|
||||
rm -f /etc/apache2/sites-available/ipAlias*
|
||||
rm -f /etc/apache2/sites-enabled/ipAlias*
|
||||
rm -rf /etc/failure_config
|
||||
}
|
||||
|
||||
setup_apache2() {
|
||||
clean_ipalias_config
|
||||
log_it "Setting up apache web server"
|
||||
local ip=$1
|
||||
[ -f /etc/apache2/sites-available/default ] && sed -i -e "s/<VirtualHost.*>/<VirtualHost $ip:80>/" /etc/apache2/sites-available/default
|
||||
|
|
|
|||
|
|
@ -28,9 +28,38 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
PORTS_CONF=/etc/apache2/ports.conf
|
||||
PORTS_CONF_BAK=/etc/ports.conf.bak
|
||||
FAIL_DIR=/etc/failure_config
|
||||
CMDLINE=$(cat /var/cache/cloud/cmdline | tr '\n' ' ')
|
||||
|
||||
if [ ! -d "$FAIL_DIR" ]
|
||||
then
|
||||
mkdir "$FAIL_DIR"
|
||||
fi
|
||||
#bakup ports.conf
|
||||
cp "$PORTS_CONF" "$PORTS_CONF_BAK"
|
||||
|
||||
domain=$(echo "$CMDLINE" | grep -o " domain=.* " | sed -e 's/domain=//' | awk '{print $1}')
|
||||
|
||||
setup_apache2() {
|
||||
local ip=$1
|
||||
logger -t cloud "Setting up apache web server for $ip"
|
||||
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ipAlias.${ip}.meta-data
|
||||
cp /etc/apache2/sites-available/default-ssl /etc/apache2/sites-available/ipAlias.${ip}-ssl.meta-data
|
||||
cp /etc/apache2/ports.conf /etc/apache2/conf.d/ports.${ip}.meta-data.conf
|
||||
sed -i -e "s/<VirtualHost.*>/<VirtualHost $ip:80>\nServerName $domain/" /etc/apache2/sites-available/ipAlias.${ip}.meta-data
|
||||
sed -i -e "s/<VirtualHost.*>/<VirtualHost $ip:443>\nServerName $domain/" /etc/apache2/sites-available/ipAlias.${ip}-ssl.meta-data
|
||||
sed -i -e "/NameVirtualHost .*:80/d" /etc/apache2/conf.d/ports.${ip}.meta-data.conf
|
||||
sed -i -e "s/Listen .*:80/Listen $ip:80/g" /etc/apache2/conf.d/ports.${ip}.meta-data.conf
|
||||
sed -i -e "s/Listen .*:443/Listen $ip:443/g" /etc/apache2/conf.d/ports.${ip}.meta-data.conf
|
||||
ln -s /etc/apache2/sites-available/ipAlias.${ip}.meta-data /etc/apache2/sites-enabled/ipAlias.${ip}.meta-data
|
||||
ln -s /etc/apache2/sites-available/ipAlias.${ip}-ssl.meta-data /etc/apache2/sites-enabled/ipAlias.${ip}-ssl.meta-data
|
||||
}
|
||||
|
||||
var="$1"
|
||||
cert="/root/.ssh/id_rsa.cloud"
|
||||
config_ips=""
|
||||
|
||||
while [ -n "$var" ]
|
||||
do
|
||||
|
|
@ -39,8 +68,33 @@ do
|
|||
routerip=$(echo $var1 | cut -f2 -d ":")
|
||||
netmask=$(echo $var1 | cut -f3 -d ":")
|
||||
ifconfig eth0:$alias_count $routerip netmask $netmask up
|
||||
setup_apache2 "$routerip"
|
||||
config_ips="${config_ips}"$routerip":"
|
||||
var=$( echo $var | sed "s/${var1}-//" )
|
||||
done
|
||||
|
||||
#restarting the apache server for the config to take effect.
|
||||
service apache2 restart
|
||||
result=$?
|
||||
if [ "$result" -ne "0" ]
|
||||
then
|
||||
logger -t cloud "createIpAlias.sh: could not configure apache2 server"
|
||||
logger -t cloud "createIpAlias.sh: reverting to the old config"
|
||||
logger -t cloud "createIpAlias.sh: moving out the failure config to $FAIL_DIR"
|
||||
while [ -n "$config_ips" ]
|
||||
do
|
||||
ip=$( echo $config_ips | cut -f1 -d ":" )
|
||||
mv "/etc/apache2/sites-available/ipAlias.${ip}.meta-data" "$FAIL_DIR/ipAlias.${ip}.meta-data"
|
||||
mv "/etc/apache2/sites-available/ipAlias.${ip}-ssl.meta-data" "$FAIL_DIR/ipAlias.${ip}-ssl.meta-data"
|
||||
mv "/etc/apache2/conf.d/ports.${ip}.meta-data.conf" "$FAIL_DIR/ports.${ip}.meta-data.conf"
|
||||
rm -f "/etc/apache2/sites-enabled/ipAlias.${ip}.meta-data"
|
||||
rm -f "/etc/apache2/sites-enabled/ipAlias.${ip}-ssl.meta-data"
|
||||
config_ips=$( echo $config_ips | sed "s/${ip}://" )
|
||||
done
|
||||
service apache2 restart
|
||||
unlock_exit $result $lock $locked
|
||||
fi
|
||||
|
||||
#restaring the password service to enable it on the ip aliases
|
||||
/etc/init.d/cloud-passwd-srvr restart
|
||||
unlock_exit $? $lock $locked
|
||||
|
|
@ -21,7 +21,6 @@ usage() {
|
|||
}
|
||||
|
||||
source /root/func.sh
|
||||
|
||||
lock="biglock"
|
||||
locked=$(getLockFile $lock)
|
||||
if [ "$locked" != "1" ]
|
||||
|
|
@ -29,6 +28,16 @@ then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
remove_apache_config() {
|
||||
local ip=$1
|
||||
logger -t cloud "removing apache web server config for $ip"
|
||||
rm -f "/etc/apache2/sites-available/ipAlias.${ip}.meta-data"
|
||||
rm -f "/etc/apache2/sites-available/ipAlias.${ip}-ssl.meta-data"
|
||||
rm -f "/etc/apache2/conf.d/ports.${ip}.meta-data.conf"
|
||||
rm -f "/etc/apache2/sites-enabled/ipAlias.${ip}-ssl.meta-data"
|
||||
rm -f "/etc/apache2/sites-enabled/ipAlias.${ip}.meta-data"
|
||||
}
|
||||
|
||||
var="$1"
|
||||
cert="/root/.ssh/id_rsa.cloud"
|
||||
|
||||
|
|
@ -36,12 +45,16 @@ while [[ !( "$var" == "-" ) ]]
|
|||
do
|
||||
var1=$(echo $var | cut -f1 -d "-")
|
||||
alias_count=$( echo $var1 | cut -f1 -d ":" )
|
||||
routerip=$( echo $var1 | cut -f2 -d ":" )
|
||||
ifconfig eth0:$alias_count down
|
||||
remove_apache_config "$routerip"
|
||||
var=$( echo $var | sed "s/${var1}-//" )
|
||||
done
|
||||
#restarting the apache server for the config to take effect.
|
||||
service apache2 restart
|
||||
|
||||
releaseLockFile $lock $locked
|
||||
|
||||
#recreating the active ip aliases
|
||||
/root/createIpAlias.sh $2
|
||||
unlock_exit $? $lock $locked
|
||||
unlock_exit $? $lock $locked
|
||||
Loading…
Reference in New Issue