Updated install scripts
Migrate to stackforge/compass-core. If the installation is based on local, now run './install.sh --source=local'. If the source variable is not specified, the installer will download it from the public repo. Change-Id: Ic4dd746642a4231b11d5618fff8c5cda4cc39630
This commit is contained in:
parent
ccefdc1b6f
commit
7c31e6a7fd
@ -13,7 +13,9 @@ sudo mkdir /root/backup # create backup folder
|
||||
sudo cp /etc/ntp.conf /root/backup/
|
||||
# update ntp.conf
|
||||
sudo sed -i 's/^#server[ \t]\+127.127.1.0/server 127.127.1.0/g' /etc/ntp.conf
|
||||
sudo service ntpd restart
|
||||
sudo service ntpd stop
|
||||
sudo ntpdate 0.centos.pool.ntp.org
|
||||
sudo service ntpd start
|
||||
|
||||
# configure xinetd
|
||||
sudo cp /etc/xinetd.d/tftp /root/backup/
|
||||
@ -38,8 +40,10 @@ sudo cp /etc/cobbler/dhcp.template /root/backup/cobbler/
|
||||
|
||||
# Dumps the variables to dhcp template
|
||||
subnet=$(ipcalc $SUBNET -n |cut -f 2 -d '=')
|
||||
sudo sed -i "s/subnet 192.168.1.0 netmask 255.255.255.0/subnet $subnet netmask 255.255.255.0/g" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "/option routers/c\ option routers $OPTION_ROUTER;" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "s/subnet 192.168.1.0 netmask 255.255.255.0/subnet $subnet netmask $netmask/g" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "/option routers[ \t]\+[a-zA-Z0-9]\+.[a-zA-Z0-9]\+.[a-zA-Z0-9]\+.[a-zA-Z0-9]\+/c\ option routers $OPTION_ROUTER;" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "s/option subnet-mask[ \t]\+255.255.255.0/option subnet-mask $netmask/g" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "/option domain-name-servers/c\ option domain-name-servers $ipaddr;" /etc/cobbler/dhcp.template
|
||||
sudo sed -i "/range dynamic-bootp/c\ range dynamic-bootp $IP_RANGE;" /etc/cobbler/dhcp.template
|
||||
sudo sed -i 's/^\([ \t]*\).*fixed-address.*$/\1#pass/g' /etc/cobbler/dhcp.template
|
||||
sudo sed -i "/allow bootp/a deny unknown-clients;\nlocal-address $ipaddr;" /etc/cobbler/dhcp.template
|
||||
@ -53,7 +57,8 @@ sudo sed -i 's/manage_tftpd:[ \t]\+0/manage_tftpd: 1/g' /etc/cobbler/settings
|
||||
sudo sed -i 's/anamon_enabled:[ \t]\+0/anamon_enabled: 1/g' /etc/cobbler/settings
|
||||
sudo sed -i "s/default_name_servers:.*/default_name_servers: \['$ipaddr'\]/g" /etc/cobbler/settings
|
||||
sudo sed -i 's/enable_menu:[ \t]\+1/enable_menu: 0/g' /etc/cobbler/settings
|
||||
sudo sed -i "s/manage_forward_zones:.*/manage_forward_zones: \['ods.com'\]/g" /etc/cobbler/settings
|
||||
domains=$(echo $NAMESERVER_DOMAINS | sed "s/,/','/g")
|
||||
sudo sed -i "s/manage_forward_zones:.*/manage_forward_zones: \['$domains'\]/g" /etc/cobbler/settings
|
||||
sudo sed -i 's/pxe_just_once:[ \t]\+0/pxe_just_once: 1/g' /etc/cobbler/settings
|
||||
sudo sed -i "s,^default_password_crypted:[ \t]\+\"\(.*\)\",default_password_crypted: \"$cobbler_passwd\",g" /etc/cobbler/settings
|
||||
sudo sed -i 's/^RewriteRule/# RewriteRule/g' /etc/httpd/conf.d/cobbler_web.conf
|
||||
@ -75,7 +80,8 @@ CBLR_PASSWD=${CBLR_PASSWD:-"cobbler"}
|
||||
(echo -n "$CBLR_USER:Cobbler:" && echo -n "$CBLR_USER:Cobbler:$CBLR_PASSWD" | md5sum - | cut -d' ' -f1) >> /etc/cobbler/users.digest
|
||||
|
||||
sudo sed -i "s/listen-on[ \t]\+.*;/listen-on port 53 \{ $ipaddr; \};/g" /etc/cobbler/named.template
|
||||
sudo sed -i "s/allow-query[ \t]\+.*/allow-query\t\{ 127.0.0.0\/8; 10.0.0.0\/8; 192.168.0.0\/16; 172.16.0.0\/12; $subnet; \};/g" /etc/cobbler/named.template
|
||||
subnet_escaped=$(echo $SUBNET | sed -e 's/[\/&]/\\&/g')
|
||||
sudo sed -i "s/allow-query[ \t]\+.*/allow-query\t\{ 127.0.0.0\/8; 10.0.0.0\/8; 192.168.0.0\/16; 172.16.0.0\/12; $subnet_escaped; \};/g" /etc/cobbler/named.template
|
||||
|
||||
echo "$HOSTNAME IN A $ipaddr" >> /etc/cobbler/zone.template
|
||||
|
||||
|
@ -14,14 +14,34 @@ copygit2dir()
|
||||
fi
|
||||
git clone $repo $destdir
|
||||
}
|
||||
copylocal2dir()
|
||||
{
|
||||
destdir=$1
|
||||
repo=$2
|
||||
if [ -d $destdir ];then
|
||||
echo "$destdir exists"
|
||||
else
|
||||
mkdir -p $destdir
|
||||
fi
|
||||
sudo \cp -rf $repo/* $destdir
|
||||
}
|
||||
cd $SCRIPT_DIR
|
||||
#export ipaddr=$(ifconfig $NIC | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
|
||||
|
||||
##SUBNET=${SUBNET:-$(ip address| grep "global $NIC" |cut -f 6 -d ' ')}
|
||||
WEB_HOME=${WEB_HOME:-'/tmp/web/'}
|
||||
ADAPTER_HOME=${ADAPTER_HOME:-'/tmp/adapter/'}
|
||||
copygit2dir $WEB_HOME 'https://github.com/huawei-cloud/compass-web'
|
||||
copygit2dir $ADAPTER_HOME 'https://github.com/huawei-cloud/compass-adapters'
|
||||
## copygit2dir $WEB_HOME 'https://github.com/huawei-cloud/compass-web'
|
||||
## copygit2dir $ADAPTER_HOME 'https://github.com/huawei-cloud/compass-adapters'
|
||||
WEB_SOURCE=${WEB_SOURCE:-'https://github.com/stackforge/compass-web'}
|
||||
ADPATER_SOURCE=${ADAPTER_SOURCE:-'https://github.com/stackforge/compass-adapters'}
|
||||
if [ $source != local ]; then
|
||||
copygit2dir $WEB_HOME $WEB_SOURCE
|
||||
copygit2dir $ADAPTER_HOME $ADAPTER_SOURCE
|
||||
else
|
||||
copylocal2dir $WEB_HOME $WEB_SOURCE
|
||||
copylocal2dir $ADAPTER_HOME $ADAPTER_SOURCE
|
||||
fi
|
||||
|
||||
# download dependences
|
||||
wget http://github.com/downloads/bitovi/javascriptmvc/$JS_MVC.zip
|
||||
@ -90,6 +110,7 @@ sudo \cp -rf $COMPASSDIR/conf/setting /etc/compass/
|
||||
sudo \cp -rf $COMPASSDIR/conf/compassd /etc/init.d/
|
||||
sudo \cp -rf $COMPASSDIR/bin/*.py /opt/compass/bin/
|
||||
sudo \cp -rf $COMPASSDIR/bin/*.sh /opt/compass/bin/
|
||||
sudo \cp -rf $COMPASSDIR/bin/compass /usr/bin/
|
||||
sudo \cp -rf $COMPASSDIR/bin/chef/* /opt/compass/bin/
|
||||
sudo \cp -rf $COMPASSDIR/conf/compassd /usr/bin/
|
||||
sudo \cp -rf $WEB_HOME/public/* /var/www/compass_web/
|
||||
|
@ -5,7 +5,7 @@ echo 'Installing Required packages for Compass...'
|
||||
sudo yum install -y rsyslog ntp iproute openssh-clients python git wget python-setuptools python-netaddr python-flask python-flask-sqlalchemy python-amqplib amqp python-paramiko python-mock mod_wsgi httpd squid dhcp bind rsync yum-utils xinetd tftp-server gcc net-snmp-utils net-snmp python-daemon
|
||||
|
||||
sudo easy_install pip==1.2.1
|
||||
sudo pip install flask-script flask-restful Celery six discover unittest2 pychef
|
||||
sudo pip install flask-script flask-restful Celery six discover unittest2 pychef requests
|
||||
|
||||
sudo chkconfig httpd on
|
||||
sudo chkconfig squid on
|
||||
|
@ -20,6 +20,8 @@ export OPTION_ROUTER=
|
||||
IP_RANGE=
|
||||
# TFTP server's IP address(Default: Management Interface/eth0 IP)
|
||||
export NEXTSERVER=
|
||||
# the domains covered by nameserver
|
||||
export NAMESERVER_DOMAINS=
|
||||
|
||||
# set the default cobbler user "cobbler" password, if not set, the default will be cobbler/cobbler
|
||||
CBLR_USER=
|
||||
@ -44,3 +46,8 @@ export CHEF_PASSWD=root1234
|
||||
# Set Compass-web and Compass-adpater variables
|
||||
WEB_HOME=
|
||||
ADAPTER_HOME=
|
||||
|
||||
if [[ -n $source ]] && [ $source = "local" ];then
|
||||
export WEB_SOURCE=${DIR}/../web
|
||||
export ADAPTER_SOURCE=${DIR}/../misc
|
||||
fi
|
||||
|
@ -43,12 +43,21 @@ trap 'errtrap $LINENO $?' ERR
|
||||
|
||||
# Install figlet
|
||||
sudo yum -y install figlet >& /dev/null
|
||||
|
||||
figlet -ctf slant Compass Installer
|
||||
|
||||
while [ $1 ]; do
|
||||
flags=$1
|
||||
param=${flags/'--'/''}
|
||||
var=$(echo $param | cut -d"=" -f1)
|
||||
val=$(echo $param | cut -d"=" -f2)
|
||||
export $var=$val
|
||||
shift
|
||||
done
|
||||
|
||||
# Load variables
|
||||
source $DIR/install.conf
|
||||
|
||||
echo $WEB_SOURCE
|
||||
echo $ADAPTER_SOURCE
|
||||
loadvars()
|
||||
{
|
||||
varname=${1,,}
|
||||
@ -81,8 +90,8 @@ loadvars()
|
||||
fi
|
||||
}
|
||||
|
||||
echo $NIC
|
||||
loadvars NIC "eth0"
|
||||
export netmask=$(ifconfig $NIC |grep Mask | cut -f 4 -d ':')
|
||||
export ipaddr=$(ifconfig $NIC | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
|
||||
export range=$(echo "$(echo "$ipaddr"|cut -f 1 -d '.').$(echo "$ipaddr"|cut -f 2 -d '.').$(echo "$ipaddr"|cut -f 3 -d '.').100 $(echo "$ipaddr"|cut -f 1 -d '.').$(echo "$ipaddr"|cut -f 2 -d '.').$(echo "$ipaddr"|cut -f 3 -d '.').250")
|
||||
export ipnet=$(ip address| grep "global $NIC" |cut -f 6 -d ' ')
|
||||
@ -90,7 +99,7 @@ loadvars SUBNET $(ipcalc $ipnet -n |cut -f 2 -d '=')/$(ipcalc $ipnet -p |cut -f
|
||||
loadvars OPTION_ROUTER $(route -n | grep '^0.0.0.0' | xargs | cut -d ' ' -f 2)
|
||||
loadvars IP_RANGE "$range"
|
||||
loadvars NEXTSERVER $ipaddr
|
||||
|
||||
loadvars NAMESERVER_DOMAINS "ods.com"
|
||||
|
||||
echo "Install the Dependencies"
|
||||
source $DIR/dependency.sh
|
||||
|
@ -1,40 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source install.conf
|
||||
|
||||
sudo figlet Compass Installer
|
||||
|
||||
loadvars()
|
||||
{
|
||||
varname=${1,,}
|
||||
eval var=\$$(echo $1)
|
||||
|
||||
if [[ -z $var ]]; then
|
||||
echo "Please enter the DHCP $varname (Example: $2) "
|
||||
while read input
|
||||
do
|
||||
if [ "$input" == "" ]; then
|
||||
echo "Default $varname '$2' chosen"
|
||||
export $(echo $1)="$2"
|
||||
break
|
||||
else
|
||||
if [[ ( "$input" != *.* ) && ( "$1" != "NIC" ) ]]; then
|
||||
echo "I really expect IP addresses"
|
||||
exit
|
||||
elif [ "$1" == "NIC" ]; then
|
||||
sudo ip addr |grep $input >& /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "There is not any IP address assigned to the NIC '$input' yet, please assign an IP address first."
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
echo "You have entered $input"
|
||||
export $(echo $1)="$input"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
loadvars NIC "eth0"
|
Loading…
x
Reference in New Issue
Block a user