From 1bb6dc3750351099351270cba04a473f5477815c Mon Sep 17 00:00:00 2001 From: Keith Date: Thu, 26 May 2016 16:12:00 +0100 Subject: [PATCH] Add hiera support for SMS Admin Number --- modules/python | 2 +- modules/rhizo_base/manifests/init.pp | 11 +++++- modules/rhizo_base/manifests/kiwi.pp | 2 +- .../templates/check_account_balance.sh.erb | 34 +++++++++++++++++++ 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 modules/rhizo_base/templates/check_account_balance.sh.erb diff --git a/modules/python b/modules/python index eb52429..9b1d26b 160000 --- a/modules/python +++ b/modules/python @@ -1 +1 @@ -Subproject commit eb52429dbf78778a4871169571a744bff44a6287 +Subproject commit 9b1d26bba9b063193259033772a7b34eef349e3b diff --git a/modules/rhizo_base/manifests/init.pp b/modules/rhizo_base/manifests/init.pp index 636c6f5..6bce4c6 100644 --- a/modules/rhizo_base/manifests/init.pp +++ b/modules/rhizo_base/manifests/init.pp @@ -39,7 +39,7 @@ class rhizo_base { #BTSs configuration $bts1_ip_address = hiera('rhizo::bts1_ip_address') $arfcn_A = hiera('rhizo::arfcn_A') - $arfcn_B = hiera('rhizo::arfcn_B') + $arfcn_B = hiera('rhizo::arfcn_B', false) $bts2_ip_address = hiera('rhizo::bts2_ip_address', false) $arfcn_C = hiera('rhizo::arfcn_C', false) @@ -101,6 +101,9 @@ class rhizo_base { #Emergency number $emergency_contact = hiera('rhizo::emergency_contact') + #Number to send low VOIP Balance alert + $admin_contact = hiera('rhizo::admin_contact','') + #Device Geo Info $bsc_geo_lat = hiera('rhizo::bsc_geo_lat') $bsc_geo_lon = hiera('rhizo::bsc_geo_lon') @@ -204,6 +207,12 @@ class rhizo_base { mode => '0755', } + file { '/var/rhizomatica/bin/check_account_balance.sh': + ensure => present, + content => template('rhizo_base/check_account_balance.sh.erb'), + require => Vcsrepo['/var/rhizomatica'], + mode => '0755', + } file { '/var/rhizomatica/rccn/config_values.py': ensure => present, diff --git a/modules/rhizo_base/manifests/kiwi.pp b/modules/rhizo_base/manifests/kiwi.pp index 627ac7f..21f92cb 100644 --- a/modules/rhizo_base/manifests/kiwi.pp +++ b/modules/rhizo_base/manifests/kiwi.pp @@ -22,7 +22,7 @@ class rhizo_base::kiwi { package { ['nodejs']: - ensure => '0.10.44-1nodesource1~precise1', + ensure => '0.10.45-1nodesource1~precise1', require => Class['rhizo_base::apt'], } diff --git a/modules/rhizo_base/templates/check_account_balance.sh.erb b/modules/rhizo_base/templates/check_account_balance.sh.erb new file mode 100644 index 0000000..7323f78 --- /dev/null +++ b/modules/rhizo_base/templates/check_account_balance.sh.erb @@ -0,0 +1,34 @@ +#!/bin/bash +# + +MSISDN=( <%= @admin_contact %> ) + +if [ "${MSISDN[0]}" == "" ] ; then + exit +fi + +BALANCE=`/var/rhizomatica/bin/get_account_balance.sh` +OUT=`echo $BALANCE | awk '{if ($1 < 10) print $0}' | sed -e 's/\n//g'` + +PORT=4242 +HOST=localhost +PROMPT="OpenBSC>" + +send_command() { + (echo $* ; sleep 1 ) | + telnet $HOST $PORT 2>&1 | + sed '1,/'$PROMPT'/d;/'$PROMPT'/,$d' +} + + +if [ "$OUT" != "" ]; then + # balance < 20 send SMS + TEXT="El balance de la cuenta VOIP esta de bajo de los \$10. Balance Actual es: \$${BALANCE} USD" + CLENGTH="${#TEXT}" + + for msisdn in ${MSISDN[@]}; do + message_body="subscriber extension $msisdn sms sender extension 10000 send $TEXT" + send_command $message_body + done + +fi