Update node.sh

This commit is contained in:
FusionPBX 2018-01-20 02:41:56 -07:00 committed by GitHub
parent e6d2dd1b70
commit 29e4ea7c6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 27 additions and 21 deletions

View File

@ -22,8 +22,8 @@ echo "This Server Address: $server_address"
read -p "Enter all Node IP Addresses: " nodes read -p "Enter all Node IP Addresses: " nodes
#request the domain and email #request the domain and email
read -p 'Create Group (true/false): ' group_create read -p 'Create Group (y/n): ' group_create
if [ .$group_create = .true ]; then if [ .$group_create = ."y" ]; then
read -p 'Enter this Nodes Address: ' node_1; read -p 'Enter this Nodes Address: ' node_1;
else else
read -p 'Join using node already in group: ' node_1; read -p 'Join using node already in group: ' node_1;
@ -31,10 +31,13 @@ else
fi fi
#determine which database to replicate #determine which database to replicate
read -p 'Replicate the FusionPBX Database (true/false): ' system_replicate read -p 'Replicate the FusionPBX Database (y/n): ' system_replicate
#determine which database to replicate #determine which database to replicate
read -p 'Replicate the FreeSWITCH Database (true/false): ' switch_replicate read -p 'Replicate the FreeSWITCH Database (y/n): ' switch_replicate
#determine whether to add iptable rules
read -p 'Add iptable rules (y/n): ' iptables_add
#settings summary #settings summary
echo "-----------------------------"; echo "-----------------------------";
@ -42,7 +45,7 @@ echo " Summary";
echo "-----------------------------"; echo "-----------------------------";
echo "Create Group: $group_create"; echo "Create Group: $group_create";
echo "All Node IP Addresses: $nodes"; echo "All Node IP Addresses: $nodes";
if [ .$group_create = .true ]; then if [ .$group_create = ."y" ]; then
echo "This Nodes Address: $node_1"; echo "This Nodes Address: $node_1";
else else
echo "Join using node in group: $node_1"; echo "Join using node in group: $node_1";
@ -50,6 +53,7 @@ else
fi fi
echo "Replicate the FusionPBX Database: $system_replicate"; echo "Replicate the FusionPBX Database: $system_replicate";
echo "Replicate the FreeSWITCH Database: $switch_replicate"; echo "Replicate the FreeSWITCH Database: $switch_replicate";
echo "Add iptable rules: $iptables_add";
echo ""; echo "";
#verify #verify
@ -60,7 +64,7 @@ if [ .$verified != ."y" ]; then
fi fi
#add the 2ndquadrant repo #add the 2ndquadrant repo
if [ ."$database_version" = ."9.6" ]; then if [ .$database_version = ."9.6" ]; then
echo 'deb http://packages.2ndquadrant.com/bdr/apt/ jessie-2ndquadrant main' > /etc/apt/sources.list.d/2ndquadrant.list echo 'deb http://packages.2ndquadrant.com/bdr/apt/ jessie-2ndquadrant main' > /etc/apt/sources.list.d/2ndquadrant.list
/usr/bin/wget --quiet -O - http://packages.2ndquadrant.com/bdr/apt/AA7A6805.asc | apt-key add - /usr/bin/wget --quiet -O - http://packages.2ndquadrant.com/bdr/apt/AA7A6805.asc | apt-key add -
apt-get update && apt-get upgrade -y apt-get update && apt-get upgrade -y
@ -68,14 +72,16 @@ if [ ."$database_version" = ."9.6" ]; then
fi fi
#iptables rules #iptables rules
for node in $nodes; do if [ .$iptables_add = ."y" ]; then
iptables -A INPUT -j ACCEPT -p tcp --dport 5432 -s ${node}/32 for node in $nodes; do
iptables -A INPUT -j ACCEPT -p tcp --dport 22000 -s ${node}/32 iptables -A INPUT -j ACCEPT -p tcp --dport 5432 -s ${node}/32
done iptables -A INPUT -j ACCEPT -p tcp --dport 22000 -s ${node}/32
apt-get remove iptables-persistent -y --force-yes done
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections apt-get remove iptables-persistent -y --force-yes
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
apt-get install -y --force-yes iptables-persistent echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
apt-get install -y --force-yes iptables-persistent
fi
#setup ssl #setup ssl
sed -i /etc/postgresql/$database_version/main/postgresql.conf -e s:'snakeoil.key:snakeoil-postgres.key:' sed -i /etc/postgresql/$database_version/main/postgresql.conf -e s:'snakeoil.key:snakeoil-postgres.key:'
@ -127,20 +133,20 @@ sudo -u postgres psql -d freeswitch -c "CREATE EXTENSION btree_gist;";
sudo -u postgres psql -d freeswitch -c "CREATE EXTENSION bdr;"; sudo -u postgres psql -d freeswitch -c "CREATE EXTENSION bdr;";
#add master nodes #add master nodes
if [ .$group_create = .true ]; then if [ .$group_create = ."y" ]; then
#add first node #add first node
if [ .$system_replicate = .true ]; then if [ .$system_replicate = ."y" ]; then
sudo -u postgres psql -d fusionpbx -c "SELECT bdr.bdr_group_create(local_node_name := '$node_1', node_external_dsn := 'host=$node_1 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');"; sudo -u postgres psql -d fusionpbx -c "SELECT bdr.bdr_group_create(local_node_name := '$node_1', node_external_dsn := 'host=$node_1 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');";
fi fi
if [ .$switch_replicate = .true ]; then if [ .$switch_replicate = ."y" ]; then
sudo -u postgres psql -d freeswitch -c "SELECT bdr.bdr_group_create(local_node_name := '$node_1', node_external_dsn := 'host=$node_1 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');"; sudo -u postgres psql -d freeswitch -c "SELECT bdr.bdr_group_create(local_node_name := '$node_1', node_external_dsn := 'host=$node_1 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');";
fi fi
else else
#add additional master nodes #add additional master nodes
if [ .$system_replicate = .true ]; then if [ .$system_replicate = ."y" ]; then
sudo -u postgres psql -d fusionpbx -c "SELECT bdr.bdr_group_join(local_node_name := '$node_2', node_external_dsn := 'host=$node_2 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1', join_using_dsn := 'host=$node_1 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');"; sudo -u postgres psql -d fusionpbx -c "SELECT bdr.bdr_group_join(local_node_name := '$node_2', node_external_dsn := 'host=$node_2 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1', join_using_dsn := 'host=$node_1 port=5432 dbname=fusionpbx connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');";
fi fi
if [ .$switch_replicate = .true ]; then if [ .$switch_replicate = ."y" ]; then
sudo -u postgres psql -d freeswitch -c "SELECT bdr.bdr_group_join(local_node_name := '$node_2', node_external_dsn := 'host=$node_2 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1', join_using_dsn := 'host=$node_1 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');"; sudo -u postgres psql -d freeswitch -c "SELECT bdr.bdr_group_join(local_node_name := '$node_2', node_external_dsn := 'host=$node_2 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1', join_using_dsn := 'host=$node_1 port=5432 dbname=freeswitch connect_timeout=10 keepalives_idle=5 keepalives_interval=1 sslmode=require');";
fi fi
fi fi
@ -149,7 +155,7 @@ fi
#sudo -u postgres psql -d freeswitch -f /var/www/fusionpbx/resources/install/sql/switch.sql -L /tmp/switch-sql.log #sudo -u postgres psql -d freeswitch -f /var/www/fusionpbx/resources/install/sql/switch.sql -L /tmp/switch-sql.log
#sleeping #sleeping
if [ .$group_create = .false ]; then if [ .$group_create = ."n" ]; then
echo "Sleeping for 15 seconds"; echo "Sleeping for 15 seconds";
for i in `seq 1 15`; do for i in `seq 1 15`; do
echo $i echo $i
@ -158,7 +164,7 @@ if [ .$group_create = .false ]; then
fi fi
#add extension pgcrypto #add extension pgcrypto
if [ .$group_create = .false ]; then if [ .$group_create = ."n" ]; then
sudo -u postgres psql -d freeswitch -c "CREATE EXTENSION pgcrypto;"; sudo -u postgres psql -d freeswitch -c "CREATE EXTENSION pgcrypto;";
fi fi