Improve NITB config template.
Introduces a multiple file template and iterates over the defined BTS array from the hiera data. This is really a backport of the as yet uncommitted work on creating osmo-* config files for the split stack. Making this change here for the nitb will allow for removal for some deprecated variables in hiera. At this time, I don't think there is any site that is actually using a puppet-generated nitb config file, but if there were, the results of this code should be more less funcionally equivalent, providing the BTS definition is correct.
This commit is contained in:
parent
31d8550a75
commit
1cedf0c0fc
4 changed files with 219 additions and 1 deletions
|
@ -36,6 +36,7 @@ class rhizo_base::openbsc {
|
||||||
$sgsn_ip_address = hiera('rhizo::sgsn_ip_address')
|
$sgsn_ip_address = hiera('rhizo::sgsn_ip_address')
|
||||||
$ggsn_ip_address = hiera('rhizo::ggsn_ip_address')
|
$ggsn_ip_address = hiera('rhizo::ggsn_ip_address')
|
||||||
$repo = hiera('rhizo::osmo_repo', 'latest')
|
$repo = hiera('rhizo::osmo_repo', 'latest')
|
||||||
|
$bts = hiera('rhizo::bts')
|
||||||
|
|
||||||
$nitb_version = $repo ? {
|
$nitb_version = $repo ? {
|
||||||
'latest' => '1.3.2',
|
'latest' => '1.3.2',
|
||||||
|
@ -112,7 +113,10 @@ class rhizo_base::openbsc {
|
||||||
|
|
||||||
unless hiera('rhizo::local_bsc_cfg') == "1" {
|
unless hiera('rhizo::local_bsc_cfg') == "1" {
|
||||||
file { '/etc/osmocom/osmo-nitb.cfg':
|
file { '/etc/osmocom/osmo-nitb.cfg':
|
||||||
content => template('rhizo_base/osmo-nitb.cfg.erb'),
|
content => template(
|
||||||
|
'rhizo_base/osmo-nitb-head.erb',
|
||||||
|
'rhizo_base/osmo-nitb-bts.erb',
|
||||||
|
'rhizo_base/osmo-nitb-tail.erb'),
|
||||||
require => Package['osmocom-nitb'],
|
require => Package['osmocom-nitb'],
|
||||||
notify => Exec['notify-nitb'],
|
notify => Exec['notify-nitb'],
|
||||||
}
|
}
|
||||||
|
|
101
modules/rhizo_base/templates/osmo-nitb-bts.erb
Normal file
101
modules/rhizo_base/templates/osmo-nitb-bts.erb
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
<% @bts.each_with_index do |bts, index| -%>
|
||||||
|
bts <%= index %>
|
||||||
|
type <%= bts["type"] %>
|
||||||
|
description <%= bts["name"] %>
|
||||||
|
band <%= bts["band"] %>
|
||||||
|
cell_identity <%= index %>
|
||||||
|
location_area_code <%= bts["lac"] %>
|
||||||
|
base_station_id_code <%= bts["bsic"] %>
|
||||||
|
ms max power <%= bts["ms_maxp"] %>
|
||||||
|
cell reselection hysteresis 14
|
||||||
|
rxlev access min 0
|
||||||
|
periodic location update 30
|
||||||
|
radio-link-timeout 32
|
||||||
|
channel allocator ascending
|
||||||
|
rach tx integer 9
|
||||||
|
rach max transmission 7
|
||||||
|
channel-descrption attach 1
|
||||||
|
channel-descrption bs-pa-mfrms 5
|
||||||
|
channel-descrption bs-ag-blks-res 1
|
||||||
|
rach emergency call allowed 1
|
||||||
|
no access-control-class-ramping
|
||||||
|
access-control-class-ramping-step-interval dynamic
|
||||||
|
access-control-class-ramping-step-size 1
|
||||||
|
early-classmark-sending forbidden
|
||||||
|
early-classmark-sending-3g allowed
|
||||||
|
ip.access unit_id 1000 <%= bts["uid"] %>
|
||||||
|
oml ip.access stream_id 255 line 0
|
||||||
|
neighbor-list mode automatic
|
||||||
|
codec-support fr amr
|
||||||
|
amr tch-f modes 4 5
|
||||||
|
amr tch-f start-mode 1
|
||||||
|
amr tch-h modes 4 5
|
||||||
|
amr tch-h start-mode 1
|
||||||
|
gprs mode <%= bts["gprs_m"] %>
|
||||||
|
gprs 11bit_rach_support_for_egprs 0
|
||||||
|
gprs routing area 21
|
||||||
|
gprs network-control-order nc0
|
||||||
|
gprs cell bvci <%= index+2 %>
|
||||||
|
gprs cell timer blocking-timer 3
|
||||||
|
gprs cell timer blocking-retries 3
|
||||||
|
gprs cell timer unblocking-retries 3
|
||||||
|
gprs cell timer reset-timer 3
|
||||||
|
gprs cell timer reset-retries 3
|
||||||
|
gprs cell timer suspend-timer 10
|
||||||
|
gprs cell timer suspend-retries 3
|
||||||
|
gprs cell timer resume-timer 10
|
||||||
|
gprs cell timer resume-retries 3
|
||||||
|
gprs cell timer capability-update-timer 10
|
||||||
|
gprs cell timer capability-update-retries 3
|
||||||
|
gprs nsei 10<%= index+2 %>
|
||||||
|
gprs ns timer tns-block 3
|
||||||
|
gprs ns timer tns-block-retries 3
|
||||||
|
gprs ns timer tns-reset 3
|
||||||
|
gprs ns timer tns-reset-retries 3
|
||||||
|
gprs ns timer tns-test 30
|
||||||
|
gprs ns timer tns-alive 3
|
||||||
|
gprs ns timer tns-alive-retries 10
|
||||||
|
gprs nsvc 0 nsvci 10<%= index+2 %>
|
||||||
|
gprs nsvc 0 local udp port 23<%= bts["lac"] %>
|
||||||
|
gprs nsvc 0 remote udp port 23001
|
||||||
|
gprs nsvc 0 remote ip <%= @sgsn_ip_address %>
|
||||||
|
gprs nsvc 1 nsvci 0
|
||||||
|
gprs nsvc 1 local udp port 0
|
||||||
|
gprs nsvc 1 remote udp port 0
|
||||||
|
gprs nsvc 1 remote ip 0.0.0.0
|
||||||
|
no force-combined-si
|
||||||
|
<% if bts["model"] == "2050S" %> depends-on-bts <%= index-1 %>
|
||||||
|
<% end -%>
|
||||||
|
<% bts["trx"].each_with_index do |trx, index| -%>
|
||||||
|
trx <%= index %>
|
||||||
|
rf_locked 0
|
||||||
|
arfcn <%= trx["chan"] %>
|
||||||
|
nominal power <%= bts["nom"] %>
|
||||||
|
max_power_red <%= bts["red"] %>
|
||||||
|
rsl e1 tei 0
|
||||||
|
timeslot 0
|
||||||
|
phys_chan_config CCCH
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 1
|
||||||
|
phys_chan_config <%= @phys_chan %>
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 2
|
||||||
|
phys_chan_config <%= @phys_chan %>
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 3
|
||||||
|
phys_chan_config <%= @phys_chan %>
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 4
|
||||||
|
phys_chan_config <%= @phys_chan %>
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 5
|
||||||
|
phys_chan_config <%= @phys_chan %>
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 6
|
||||||
|
phys_chan_config TCH/F_TCH/H_PDCH
|
||||||
|
hopping enabled 0
|
||||||
|
timeslot 7
|
||||||
|
phys_chan_config PDCH
|
||||||
|
hopping enabled 0
|
||||||
|
<% end -%>
|
||||||
|
<% end -%>
|
92
modules/rhizo_base/templates/osmo-nitb-head.erb
Normal file
92
modules/rhizo_base/templates/osmo-nitb-head.erb
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
!
|
||||||
|
! OpenBSC (UNKNOWN) configuration by puppet
|
||||||
|
!!
|
||||||
|
password foo
|
||||||
|
!
|
||||||
|
log stderr
|
||||||
|
logging filter all 1
|
||||||
|
logging color 1
|
||||||
|
logging print category-hex 0
|
||||||
|
logging print category 1
|
||||||
|
logging timestamp 0
|
||||||
|
logging print file 1
|
||||||
|
logging level all everything
|
||||||
|
logging level rll notice
|
||||||
|
logging level cc info
|
||||||
|
logging level mm info
|
||||||
|
logging level rr notice
|
||||||
|
logging level rsl error
|
||||||
|
logging level nm notice
|
||||||
|
logging level mncc notice
|
||||||
|
logging level pag notice
|
||||||
|
logging level meas notice
|
||||||
|
logging level sccp notice
|
||||||
|
logging level msc notice
|
||||||
|
logging level mgcp notice
|
||||||
|
logging level ho notice
|
||||||
|
logging level db notice
|
||||||
|
logging level ref notice
|
||||||
|
logging level gprs notice
|
||||||
|
logging level ns notice
|
||||||
|
logging level bssgp notice
|
||||||
|
logging level llc notice
|
||||||
|
logging level sndcp notice
|
||||||
|
logging level nat notice
|
||||||
|
logging level ctrl notice
|
||||||
|
logging level smpp fatal
|
||||||
|
logging level filter notice
|
||||||
|
logging level ranap debug
|
||||||
|
logging level sua debug
|
||||||
|
logging level pcu debug
|
||||||
|
logging level lglobal error
|
||||||
|
logging level llapd notice
|
||||||
|
logging level linp notice
|
||||||
|
logging level lmux notice
|
||||||
|
logging level lmi notice
|
||||||
|
logging level lmib notice
|
||||||
|
logging level lsms debug
|
||||||
|
logging level lctrl notice
|
||||||
|
logging level lgtp notice
|
||||||
|
logging level lstats notice
|
||||||
|
logging level lgsup notice
|
||||||
|
logging level loap notice
|
||||||
|
logging level lss7 notice
|
||||||
|
logging level lsccp notice
|
||||||
|
logging level lsua notice
|
||||||
|
logging level lm3ua notice
|
||||||
|
logging level lmgcp notice
|
||||||
|
logging level ljibuf notice
|
||||||
|
logging level lrspro notice
|
||||||
|
!
|
||||||
|
stats interval 5
|
||||||
|
!
|
||||||
|
line vty
|
||||||
|
no login
|
||||||
|
!
|
||||||
|
e1_input
|
||||||
|
e1_line 0 driver ipa
|
||||||
|
e1_line 0 port 0
|
||||||
|
no e1_line 0 keepalive
|
||||||
|
network
|
||||||
|
network country code <%= @mcc %>
|
||||||
|
mobile network code <%= @mnc %>
|
||||||
|
short name <%= @network_name %>
|
||||||
|
long name <%= @network_name %>
|
||||||
|
auth policy <%= @auth_policy %>
|
||||||
|
authorized-regexp .*
|
||||||
|
location updating reject cause 13
|
||||||
|
encryption a5 0
|
||||||
|
neci 1
|
||||||
|
paging any use tch 1
|
||||||
|
rrlp mode none
|
||||||
|
mm info 1
|
||||||
|
handover 0
|
||||||
|
handover window rxlev averaging 10
|
||||||
|
handover window rxqual averaging 1
|
||||||
|
handover window rxlev neighbor averaging 10
|
||||||
|
handover power budget interval 6
|
||||||
|
handover power budget hysteresis 3
|
||||||
|
handover maximum distance 9999
|
||||||
|
timer t3109 4
|
||||||
|
dyn_ts_allow_tch_f 0
|
||||||
|
subscriber-keep-in-ram 0
|
21
modules/rhizo_base/templates/osmo-nitb-tail.erb
Normal file
21
modules/rhizo_base/templates/osmo-nitb-tail.erb
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
mncc-int
|
||||||
|
default-codec tch-f amr
|
||||||
|
default-codec tch-h amr
|
||||||
|
meas-feed destination 127.0.0.1 8888
|
||||||
|
nitb
|
||||||
|
subscriber-create-on-demand
|
||||||
|
no assign-tmsi
|
||||||
|
smpp
|
||||||
|
local-tcp-port 2775
|
||||||
|
policy closed
|
||||||
|
smpp-first
|
||||||
|
esme OSMPP
|
||||||
|
password <%= @smsc_password %>
|
||||||
|
default-route
|
||||||
|
no alert-notifications
|
||||||
|
esme ISMPP
|
||||||
|
password <%= @smsc_password %>
|
||||||
|
no alert-notifications
|
||||||
|
esme NOTIFY
|
||||||
|
password <%= @smpp_password %>
|
||||||
|
no deliver-src-imsi
|
Loading…
Add table
Add a link
Reference in a new issue