First version of BTS provision script
This commit is contained in:
parent
72568990a0
commit
5238b5a847
11 changed files with 98 additions and 0 deletions
|
@ -3,3 +3,7 @@ Include ~/.ssh/config2
|
||||||
Host dev.rhizomatica.org
|
Host dev.rhizomatica.org
|
||||||
Hostname dev.rhizomatica.org
|
Hostname dev.rhizomatica.org
|
||||||
IdentityFile ~/.ssh/bsc_dev
|
IdentityFile ~/.ssh/bsc_dev
|
||||||
|
|
||||||
|
Host 172.16.0.*
|
||||||
|
User root
|
||||||
|
IdentityFile ~/.ssh/bts_key
|
||||||
|
|
2
modules/rhizo_base/files/var/SysmoBTS/authorized_keys
Normal file
2
modules/rhizo_base/files/var/SysmoBTS/authorized_keys
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB91GjYXXkQmawOsLuGIBM3/V6BoCuXYiFr+Zokn+zTi9g1WwFL+wR4W2KSdGwUZT1TUi1O2IeQiQhQnR9A0eBLLYAgLVIP+Zs10k34qbPeMP7fdUr73hFQU9ruTCLtfczL4EqouXov6EybVX31f5OHvhDRPwNn6ERfpD3RZK0D0D5KaJLSWqL7fgQiPLbDD2+WzZlJWTcdiT3TQc0AmpYL0MG8GZYJXZy4pJWY3tigBSMoNbOyEOQ1/wMAWhs+NjmECz/95AkEFUg/WxvDKcnd70mxckvgMrTJu1Gn2u4FtQ9c164GOgVIg36KEV+a+DyNdvptmtyY+cm1zsCWCub
|
||||||
|
|
|
@ -8,3 +8,4 @@ Type=oneshot
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=default.target
|
WantedBy=default.target
|
||||||
|
|
||||||
|
|
0
modules/rhizo_base/files/var/SysmoBTS/leds.sh
Executable file → Normal file
0
modules/rhizo_base/files/var/SysmoBTS/leds.sh
Executable file → Normal file
5
modules/rhizo_base/files/var/SysmoBTS/master/gpsd
Normal file
5
modules/rhizo_base/files/var/SysmoBTS/master/gpsd
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# If you must specify a non-NMEA driver, uncomment and modify the next line
|
||||||
|
GPSD_SOCKET="/var/run/gpsd.sock"
|
||||||
|
GPSD_OPTIONS="-n -G"
|
||||||
|
GPS_DEVICES="/dev/ttyS2"
|
||||||
|
|
16
modules/rhizo_base/files/var/SysmoBTS/master/ntp.conf
Normal file
16
modules/rhizo_base/files/var/SysmoBTS/master/ntp.conf
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
driftfile /etc/ntp.drift
|
||||||
|
|
||||||
|
# GPS Serial data reference (NTP0)
|
||||||
|
server 127.127.28.0
|
||||||
|
fudge 127.127.28.0 refid GPS
|
||||||
|
|
||||||
|
# GPS PPS reference (NTP1)
|
||||||
|
server 127.127.28.1 prefer
|
||||||
|
fudge 127.127.28.1 refid PPS
|
||||||
|
|
||||||
|
# Defining a default security setting
|
||||||
|
|
||||||
|
restrict 127.0.0.1 mask 255.255.255.0
|
||||||
|
restrict 0.0.0.0 netmask 0.0.0.0 nomodify notrap
|
||||||
|
|
||||||
|
logfile /var/log/ntp.log
|
42
modules/rhizo_base/files/var/SysmoBTS/provision.sh
Normal file
42
modules/rhizo_base/files/var/SysmoBTS/provision.sh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This script will copy files to the 2050 BTS(s) on the site
|
||||||
|
# running the script more than once should be safe.
|
||||||
|
|
||||||
|
if [ "$PWD" != "/var/SysmoBTS" ]; then
|
||||||
|
OLDPWD=$PWD
|
||||||
|
cd /var/SysmoBTS
|
||||||
|
fi
|
||||||
|
SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/tmp/known-$RANDOM"
|
||||||
|
. /home/rhizomatica/bin/vars.sh
|
||||||
|
|
||||||
|
for bts in "${!BTS[@]}" ; do
|
||||||
|
|
||||||
|
scp $SSH_OPTS authorized_keys root@${BTS[$bts]}:/home/root/.ssh/
|
||||||
|
scp $SSH_OPTS udhcpc root@${BTS[$bts]}:/etc/default/udhcpc
|
||||||
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo 'root:$BTSPASS' | /usr/sbin/chpasswd"
|
||||||
|
ssh $SSH_OPTS root@${BTS[$bts]} "date -s '$(date)'"
|
||||||
|
|
||||||
|
if [ "$(ssh $SSH_OPTS ${BTS[$bts]} sysmobts-util trx-nr)" == "0" ] ; then
|
||||||
|
# Master Verified.
|
||||||
|
echo "BTS is a 2050 Master"
|
||||||
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo '$SITE-Master-$bts' > /etc/hostname; echo nameserver 1.1.1.1 > /etc/resolv.conf; echo nameserver 9.9.9.9 >> /etc/resolv.conf"
|
||||||
|
scp $SSH_OPTS master/gpsd root@${BTS[$bts]}:/etc/default/gpsd
|
||||||
|
scp $SSH_OPTS master/ntp.conf root@${BTS[$bts]}:/etc/ntp.conf
|
||||||
|
scp $SSH_OPTS leds.sh root@${BTS[$bts]}:/etc/init.d/leds.sh
|
||||||
|
scp $SSH_OPTS led.service root@${BTS[$bts]}:/lib/systemd/system/led.service
|
||||||
|
scp $SSH_OPTS osmo-bts.service root@${BTS[$bts]}:/lib/systemd/system/osmo-bts.service
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$(ssh $SSH_OPTS ${BTS[$bts]} sysmobts-util trx-nr)" == "1" ] ; then
|
||||||
|
# Slave Verified.
|
||||||
|
echo "BTS is a 2050 Slave"
|
||||||
|
ssh $SSH_OPTS root@${BTS[$bts]} "echo '$SITE-Slave-$bts' > /etc/hostname; echo nameserver 1.1.1.1 > /etc/resolv.conf; echo nameserver 9.9.9.9 >> /etc/resolv.conf"
|
||||||
|
scp $SSH_OPTS slave/gpsdate root@${BTS[$bts]}:/etc/default/gpsdate
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$OLDPWD" != "" ]; then
|
||||||
|
cd $OLDPWD
|
||||||
|
fi
|
2
modules/rhizo_base/files/var/SysmoBTS/slave/gpsdate
Normal file
2
modules/rhizo_base/files/var/SysmoBTS/slave/gpsdate
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
GPSDATE_HOST=172.16.0.11
|
||||||
|
GPSDATE_PORT=2947
|
5
modules/rhizo_base/files/var/SysmoBTS/udhcpc
Normal file
5
modules/rhizo_base/files/var/SysmoBTS/udhcpc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Uncomment the following line, if udhcpc should not touch /etc/resolv.conf
|
||||||
|
STATIC_DNS="yes"
|
||||||
|
|
||||||
|
# Uncomment the following line if udhcpc should not install a default route
|
||||||
|
#INSTALL_DEFAULT_ROUTE="no"
|
|
@ -46,6 +46,7 @@ class rhizo_base {
|
||||||
|
|
||||||
#BTSs configuration
|
#BTSs configuration
|
||||||
$bts = hiera('rhizo::bts')
|
$bts = hiera('rhizo::bts')
|
||||||
|
$bts_pass = hiera('rhizo::bts_pass')
|
||||||
$bts_type = hiera('rhizo::bts_type')
|
$bts_type = hiera('rhizo::bts_type')
|
||||||
$bts_amps = hiera('rhizo::bts_amps', "on")
|
$bts_amps = hiera('rhizo::bts_amps', "on")
|
||||||
$bts1_ip_address = hiera('rhizo::bts1_ip_address')
|
$bts1_ip_address = hiera('rhizo::bts1_ip_address')
|
||||||
|
@ -491,6 +492,22 @@ schedule { 'repo':
|
||||||
mode => '0750'
|
mode => '0750'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file { '/var/SysmoBTS/provision.sh':
|
||||||
|
source => 'puppet:///modules/rhizo_base/var/SysmoBTS/provision.sh',
|
||||||
|
mode => '0750'
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/var/SysmoBTS/chk_masq':
|
||||||
|
source => 'puppet:///modules/rhizo_base/var/SysmoBTS/chk_masq',
|
||||||
|
mode => '0750'
|
||||||
|
}
|
||||||
|
|
||||||
|
file { '/root/.ssh/bts_key':
|
||||||
|
ensure => present,
|
||||||
|
mode => '0600',
|
||||||
|
content => hiera('rhizo::bts_key'),
|
||||||
|
}
|
||||||
|
|
||||||
file { '/var/log/rccn':
|
file { '/var/log/rccn':
|
||||||
ensure => link,
|
ensure => link,
|
||||||
target => '/var/rhizomatica/rccn/log',
|
target => '/var/rhizomatica/rccn/log',
|
||||||
|
|
|
@ -6,6 +6,8 @@ function logc() {
|
||||||
echo "[`date '+%d-%m-%Y %H:%M:%S'`] $txt" >> $LOGFILE
|
echo "[`date '+%d-%m-%Y %H:%M:%S'`] $txt" >> $LOGFILE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SITE=<%= @site_name %>
|
||||||
|
|
||||||
#BTSs IP addresses (for amps etc)
|
#BTSs IP addresses (for amps etc)
|
||||||
declare -a BTS
|
declare -a BTS
|
||||||
declare -a BTS_MASTER
|
declare -a BTS_MASTER
|
||||||
|
@ -17,6 +19,8 @@ BTS_MASTER[<%= index %>]=<%= bts["ip"] %>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
|
BTSPASS=<%= @bts_pass %>
|
||||||
|
|
||||||
LATENCY_HOST=<%= @latency_check_address %>
|
LATENCY_HOST=<%= @latency_check_address %>
|
||||||
LATENCY_TINC=<%= @latency_check_vpn %>
|
LATENCY_TINC=<%= @latency_check_vpn %>
|
||||||
STAT_DISK=<%= @stats_disk %>
|
STAT_DISK=<%= @stats_disk %>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue