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')
|
||||
$ggsn_ip_address = hiera('rhizo::ggsn_ip_address')
|
||||
$repo = hiera('rhizo::osmo_repo', 'latest')
|
||||
$bts = hiera('rhizo::bts')
|
||||
|
||||
$nitb_version = $repo ? {
|
||||
'latest' => '1.3.2',
|
||||
|
@ -112,7 +113,10 @@ class rhizo_base::openbsc {
|
|||
|
||||
unless hiera('rhizo::local_bsc_cfg') == "1" {
|
||||
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'],
|
||||
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