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/
|
sudo cp /etc/ntp.conf /root/backup/
|
||||||
# update ntp.conf
|
# update ntp.conf
|
||||||
sudo sed -i 's/^#server[ \t]\+127.127.1.0/server 127.127.1.0/g' /etc/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
|
# configure xinetd
|
||||||
sudo cp /etc/xinetd.d/tftp /root/backup/
|
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
|
# Dumps the variables to dhcp template
|
||||||
subnet=$(ipcalc $SUBNET -n |cut -f 2 -d '=')
|
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 "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/c\ option routers $OPTION_ROUTER;" /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 "/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 '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
|
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/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/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/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/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,^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
|
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
|
(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/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
|
echo "$HOSTNAME IN A $ipaddr" >> /etc/cobbler/zone.template
|
||||||
|
|
||||||
|
@ -14,14 +14,34 @@ copygit2dir()
|
|||||||
fi
|
fi
|
||||||
git clone $repo $destdir
|
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
|
cd $SCRIPT_DIR
|
||||||
#export ipaddr=$(ifconfig $NIC | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
|
#export ipaddr=$(ifconfig $NIC | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
|
||||||
|
|
||||||
##SUBNET=${SUBNET:-$(ip address| grep "global $NIC" |cut -f 6 -d ' ')}
|
##SUBNET=${SUBNET:-$(ip address| grep "global $NIC" |cut -f 6 -d ' ')}
|
||||||
WEB_HOME=${WEB_HOME:-'/tmp/web/'}
|
WEB_HOME=${WEB_HOME:-'/tmp/web/'}
|
||||||
ADAPTER_HOME=${ADAPTER_HOME:-'/tmp/adapter/'}
|
ADAPTER_HOME=${ADAPTER_HOME:-'/tmp/adapter/'}
|
||||||
copygit2dir $WEB_HOME 'https://github.com/huawei-cloud/compass-web'
|
## copygit2dir $WEB_HOME 'https://github.com/huawei-cloud/compass-web'
|
||||||
copygit2dir $ADAPTER_HOME 'https://github.com/huawei-cloud/compass-adapters'
|
## 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
|
# download dependences
|
||||||
wget http://github.com/downloads/bitovi/javascriptmvc/$JS_MVC.zip
|
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/conf/compassd /etc/init.d/
|
||||||
sudo \cp -rf $COMPASSDIR/bin/*.py /opt/compass/bin/
|
sudo \cp -rf $COMPASSDIR/bin/*.py /opt/compass/bin/
|
||||||
sudo \cp -rf $COMPASSDIR/bin/*.sh /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/bin/chef/* /opt/compass/bin/
|
||||||
sudo \cp -rf $COMPASSDIR/conf/compassd /usr/bin/
|
sudo \cp -rf $COMPASSDIR/conf/compassd /usr/bin/
|
||||||
sudo \cp -rf $WEB_HOME/public/* /var/www/compass_web/
|
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 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 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 httpd on
|
||||||
sudo chkconfig squid on
|
sudo chkconfig squid on
|
||||||
|
@ -20,6 +20,8 @@ export OPTION_ROUTER=
|
|||||||
IP_RANGE=
|
IP_RANGE=
|
||||||
# TFTP server's IP address(Default: Management Interface/eth0 IP)
|
# TFTP server's IP address(Default: Management Interface/eth0 IP)
|
||||||
export NEXTSERVER=
|
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
|
# set the default cobbler user "cobbler" password, if not set, the default will be cobbler/cobbler
|
||||||
CBLR_USER=
|
CBLR_USER=
|
||||||
@ -44,3 +46,8 @@ export CHEF_PASSWD=root1234
|
|||||||
# Set Compass-web and Compass-adpater variables
|
# Set Compass-web and Compass-adpater variables
|
||||||
WEB_HOME=
|
WEB_HOME=
|
||||||
ADAPTER_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
|
# Install figlet
|
||||||
sudo yum -y install figlet >& /dev/null
|
sudo yum -y install figlet >& /dev/null
|
||||||
|
|
||||||
figlet -ctf slant Compass Installer
|
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
|
# Load variables
|
||||||
source $DIR/install.conf
|
source $DIR/install.conf
|
||||||
|
echo $WEB_SOURCE
|
||||||
|
echo $ADAPTER_SOURCE
|
||||||
loadvars()
|
loadvars()
|
||||||
{
|
{
|
||||||
varname=${1,,}
|
varname=${1,,}
|
||||||
@ -81,8 +90,8 @@ loadvars()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
echo $NIC
|
|
||||||
loadvars NIC "eth0"
|
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 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 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 ' ')
|
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 OPTION_ROUTER $(route -n | grep '^0.0.0.0' | xargs | cut -d ' ' -f 2)
|
||||||
loadvars IP_RANGE "$range"
|
loadvars IP_RANGE "$range"
|
||||||
loadvars NEXTSERVER $ipaddr
|
loadvars NEXTSERVER $ipaddr
|
||||||
|
loadvars NAMESERVER_DOMAINS "ods.com"
|
||||||
|
|
||||||
echo "Install the Dependencies"
|
echo "Install the Dependencies"
|
||||||
source $DIR/dependency.sh
|
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