fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/docker-playground/+/20622 )

Change subject: ttcn3-bts-test: use osmo-config-merge to generate config files
......................................................................

ttcn3-bts-test: use osmo-config-merge to generate config files

This uses the config files from osmo-ttcn3-hacks.git instead of keeping
local copies around here, which has shown many times will get out of
sync.  Extract the original files (*.src.cfg) from the testsuite image
(ttcn3-bts-test) and merge them with the local *.confmerge files using
osmo-config-merge.  Use the resulting files (*.gen.cfg).

Unfortunately, osmo-config-merge is not capable of removing text blocks
or substituting specific parts, so we fall-back to using sed where it's
needed.  A good example is 'log gsmtap 127.0.0.1', as there is no
command for removing a logging target of such type.

Co-Authored-By: Vadim Yanitskiy <[email protected]>
Co-Authored-By: Oliver Smith <[email protected]>
Change-Id: If15461240f3037c142c176fc7da745a1701ae3f8
---
M .gitignore
M ttcn3-bts-test/Makefile
D ttcn3-bts-test/fh/osmo-bsc.cfg
A ttcn3-bts-test/fh/osmo-bsc.confmerge
D ttcn3-bts-test/generic/osmo-bsc.cfg
A ttcn3-bts-test/generic/osmo-bsc.confmerge
D ttcn3-bts-test/generic/osmo-bts.cfg
A ttcn3-bts-test/generic/osmo-bts.confmerge
M ttcn3-bts-test/jenkins.sh
D ttcn3-bts-test/oml/osmo-bts.cfg
A ttcn3-bts-test/oml/osmo-bts.confmerge
D ttcn3-bts-test/virtphy/osmo-bts.cfg
A ttcn3-bts-test/virtphy/osmo-bts.confmerge
13 files changed, 322 insertions(+), 853 deletions(-)

Approvals:
  fixeria: Looks good to me, approved; Verified



diff --git a/.gitignore b/.gitignore
index 386d3f8..9eb94ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,7 @@
 .release
 .common

+*.src.cfg
+*.gen.cfg
+
 /_cache
diff --git a/ttcn3-bts-test/Makefile b/ttcn3-bts-test/Makefile
index 0895788..9e2eada 100644
--- a/ttcn3-bts-test/Makefile
+++ b/ttcn3-bts-test/Makefile
@@ -1,2 +1,45 @@

 include ../make/Makefile
+
+CFG_SRC_FILES = \
+       osmo-bts.src.cfg \
+       osmo-bsc.src.cfg
+
+CFG_GEN_FILES = \
+       generic/osmo-bts.gen.cfg \
+       generic/osmo-bsc.gen.cfg \
+       virtphy/osmo-bts.gen.cfg \
+       oml/osmo-bts.gen.cfg \
+       fh/osmo-bsc.gen.cfg
+
+.PHONY: cfg
+cfg: $(CFG_SRC_FILES) $(CFG_GEN_FILES)
+
+# Ensure that we always fetch up-to-date configuration files.
+# See https://www.gnu.org/software/make/manual/make.html#Force-Targets
+%src.cfg: FORCE_FETCH
+       $(MAKE) run \
+               RUN_ARGS="-v $(CURDIR):/data --user $(UID) --rm" \
+               RUN_CMD="cp /osmo-ttcn3-hacks/bts/$(@:%.src.cfg=%.cfg) /data/$@"
+FORCE_FETCH:
+
+generic/osmo-bts.gen.cfg: osmo-bts.src.cfg generic/osmo-bts.confmerge
+       osmo-config-merge $^ > $@
+       sed -i "s/log gsmtap 127.0.0.1/log gsmtap 172.18.9.10/" $@
+
+generic/osmo-bsc.gen.cfg: osmo-bsc.src.cfg generic/osmo-bsc.confmerge
+       osmo-config-merge $^ > $@
+       sed -i "s/log gsmtap 127.0.0.1/log gsmtap 172.18.9.10/" $@
+
+virtphy/osmo-bts.gen.cfg: generic/osmo-bts.gen.cfg virtphy/osmo-bts.confmerge
+       osmo-config-merge $^ > $@
+       sed -i "/osmotrx/d" $@
+
+oml/osmo-bts.gen.cfg: generic/osmo-bts.gen.cfg oml/osmo-bts.confmerge
+       osmo-config-merge $^ > $@
+
+fh/osmo-bsc.gen.cfg: generic/osmo-bsc.gen.cfg fh/osmo-bsc.confmerge
+       osmo-config-merge $^ > $@
+
+clean:
+       @rm -f $(CFG_SRC_FILES) $(CFG_GEN_FILES)
diff --git a/ttcn3-bts-test/fh/osmo-bsc.cfg b/ttcn3-bts-test/fh/osmo-bsc.cfg
deleted file mode 100644
index cbb3080..0000000
--- a/ttcn3-bts-test/fh/osmo-bsc.cfg
+++ /dev/null
@@ -1,398 +0,0 @@
-!
-! OsmoBSC (1.1.2.236-5f22) configuration saved from vty
-!!
-password foo
-!
-log gsmtap 172.18.9.10
- logging level set-all debug
- logging filter all 1
-!
-log stderr
- logging filter all 1
- logging color 1
- logging print category 1
- logging timestamp 1
- logging print extended-timestamp 1
- logging print file 1
- logging level set-all notice
- logging level rll info
- logging level rsl debug
- logging level msc debug
- logging level filter debug
- logging level pcu debug
- logging level lctrl info
- logging level lsccp info
-!
-stats interval 5
-!
-line vty
- no login
- bind 0.0.0.0
-!
-e1_input
- e1_line 0 driver ipa
- e1_line 0 port 0
- no e1_line 0 keepalive
- ipa bind 0.0.0.0
-cs7 instance 0
- point-code 0.23.3
- asp asp-clnt-msc-0 2905 0 m3ua
- as as-clnt-msc-0 m3ua
-  asp asp-clnt-msc-0
-  routing-key 2 0.23.3
-network
- network country code 1
- mobile network code 1
- encryption a5 0
- neci 1
- paging any use tch 0
- handover 0
- handover1 window rxlev averaging 10
- handover1 window rxqual averaging 1
- handover1 window rxlev neighbor averaging 10
- handover1 power budget interval 6
- handover1 power budget hysteresis 3
- handover1 maximum distance 9999
- timer t3212 30
- bts 0
-  type sysmobts
-  band DCS1800
-  cell_identity 0
-  location_area_code 1
-  dtx uplink force
-  dtx downlink
-  base_station_id_code 63
-  ms max power 15
-  cell reselection hysteresis 4
-  rxlev access min 0
-  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
-  early-classmark-sending forbidden
-  early-classmark-sending-3g allowed
-  ip.access unit_id 1234 0
-  ip.access rsl-ip 172.18.9.10
-  oml ip.access stream_id 255 line 0
-  neighbor-list mode manual-si5
-  neighbor-list add arfcn 100
-  neighbor-list add arfcn 200
-  si5 neighbor-list add arfcn 10
-  si5 neighbor-list add arfcn 20
-  codec-support fr
-  gprs mode gprs
-  gprs routing area 0
-  gprs network-control-order nc0
-  gprs cell bvci 1234
-  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 1234
-  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 1234
-  gprs nsvc 0 local udp port 23000
-  gprs nsvc 0 remote udp port 23000
-  gprs nsvc 0 remote ip 0.0.0.0
-  no force-combined-si
-  trx 0
-   rf_locked 0
-   arfcn 871
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 0
-   timeslot 0
-    phys_chan_config CCCH+SDCCH4
-    ! Shall not be hopping
-    hopping enabled 0
-   timeslot 1
-    phys_chan_config TCH/F
-    ! Intentionally non-hopping
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config TCH/F
-    ! (c) HSN=2, MAIO=0,1
-    hopping enabled 1
-    hopping sequence-number 2
-    hopping maio 0
-    hopping arfcn add 871
-    hopping arfcn add 873
-   timeslot 3
-    phys_chan_config TCH/F_PDCH
-    ! (e) HSN=3, MAIO=3,2,1,0
-    hopping enabled 1
-    hopping sequence-number 3
-    hopping maio 3
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 4
-    ! Intentionally non-hopping
-    phys_chan_config TCH/F_TCH/H_PDCH
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/H
-    ! (f) HSN=5, MAIO=0,1,2,3
-    hopping enabled 1
-    hopping sequence-number 5
-    hopping maio 0
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 6
-    phys_chan_config SDCCH8
-    ! (g) HSN=6, MAIO=1,0
-    hopping enabled 1
-    hopping sequence-number 6
-    hopping maio 1
-    hopping arfcn add 871
-    hopping arfcn add 877
-   timeslot 7
-    phys_chan_config PDCH
-    ! (i) HSN=0, MAIO=1,3
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 1
-    hopping arfcn add 871
-    hopping arfcn add 875
-  trx 1
-   rf_locked 0
-   arfcn 873
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 1
-   timeslot 0
-    phys_chan_config TCH/F
-    ! (a) HSN=0, MAIO=0,1,2
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 0
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 1
-    phys_chan_config SDCCH8
-    ! Intentionally non-hopping
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config TCH/H
-    ! (c) HSN=2, MAIO=0,1
-    hopping enabled 1
-    hopping sequence-number 2
-    hopping maio 1
-    hopping arfcn add 871
-    hopping arfcn add 873
-   timeslot 3
-    phys_chan_config TCH/F_PDCH
-    ! (e) HSN=3, MAIO=3,2,1,0
-    hopping enabled 1
-    hopping sequence-number 3
-    hopping maio 2
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 4
-    phys_chan_config TCH/F_TCH/H_PDCH
-    ! Intentionally non-hopping
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/H
-    ! (f) HSN=5, MAIO=0,1,2,3
-    hopping enabled 1
-    hopping sequence-number 5
-    hopping maio 1
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 6
-    phys_chan_config PDCH
-    ! (h) HSN=6, MAIO=1,0
-    hopping enabled 1
-    hopping sequence-number 6
-    hopping maio 1
-    hopping arfcn add 873
-    hopping arfcn add 875
-   timeslot 7
-    phys_chan_config PDCH
-    ! (j) HSN=0, MAIO=0,2
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 0
-    hopping arfcn add 873
-    hopping arfcn add 877
-  trx 2
-   rf_locked 0
-   arfcn 875
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 2
-   timeslot 0
-    phys_chan_config TCH/F
-    ! (a) HSN=0, MAIO=0,1,2
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 1
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 1
-    phys_chan_config SDCCH8
-    ! (b) HSN=1, MAIO=3,5
-    hopping enabled 1
-    hopping sequence-number 1
-    hopping maio 3
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 2
-    phys_chan_config TCH/F
-    ! (d) HSN=2, MAIO=2,3
-    hopping enabled 1
-    hopping sequence-number 2
-    hopping maio 2
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 3
-    phys_chan_config TCH/F_PDCH
-    ! (e) HSN=3, MAIO=3,2,1,0
-    hopping enabled 1
-    hopping sequence-number 3
-    hopping maio 1
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 4
-    phys_chan_config TCH/F_TCH/H_PDCH
-    ! Intentionally non-hopping
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/H
-    ! (f) HSN=5, MAIO=0,1,2,3
-    hopping enabled 1
-    hopping sequence-number 5
-    hopping maio 2
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 6
-    phys_chan_config PDCH
-    ! (h) HSN=6, MAIO=1,0
-    hopping enabled 1
-    hopping sequence-number 6
-    hopping maio 0
-    hopping arfcn add 873
-    hopping arfcn add 875
-   timeslot 7
-    phys_chan_config PDCH
-    ! (i) HSN=0, MAIO=1,3
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 3
-    hopping arfcn add 871
-    hopping arfcn add 875
-  trx 3
-   rf_locked 0
-   arfcn 877
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 3
-   timeslot 0
-    phys_chan_config TCH/F
-    ! (a) HSN=0, MAIO=0,1,2
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 2
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 1
-    phys_chan_config SDCCH8
-    ! (b) HSN=1, MAIO=3,5
-    hopping enabled 1
-    hopping sequence-number 1
-    hopping maio 5
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 2
-    phys_chan_config TCH/H
-    ! (d) HSN=2, MAIO=2,3
-    hopping enabled 1
-    hopping sequence-number 2
-    hopping maio 3
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 3
-    phys_chan_config TCH/F_PDCH
-    ! (e) HSN=3, MAIO=3,2,1,0
-    hopping enabled 1
-    hopping sequence-number 3
-    hopping maio 0
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 4
-    phys_chan_config TCH/F_TCH/H_PDCH
-    ! Intentionally non-hopping
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/H
-    ! (f) HSN=5, MAIO=0,1,2,3
-    hopping enabled 1
-    hopping sequence-number 5
-    hopping maio 3
-    hopping arfcn add 871
-    hopping arfcn add 873
-    hopping arfcn add 875
-    hopping arfcn add 877
-   timeslot 6
-    phys_chan_config SDCCH8
-    ! (g) HSN=6, MAIO=1,0
-    hopping enabled 1
-    hopping sequence-number 6
-    hopping maio 0
-    hopping arfcn add 871
-    hopping arfcn add 877
-   timeslot 7
-    phys_chan_config PDCH
-    ! (j) HSN=0, MAIO=0,2
-    hopping enabled 1
-    hopping sequence-number 0
-    hopping maio 2
-    hopping arfcn add 873
-    hopping arfcn add 877
-msc 0
- codec-list fr1 fr2 fr3
- allow-emergency allow
- amr-config 12_2k forbidden
- amr-config 10_2k forbidden
- amr-config 7_95k forbidden
- amr-config 7_40k forbidden
- amr-config 6_70k forbidden
- amr-config 5_90k allowed
- amr-config 5_15k forbidden
- amr-config 4_75k forbidden
-bsc
- mid-call-timeout 0
- no missing-msc-text
diff --git a/ttcn3-bts-test/fh/osmo-bsc.confmerge 
b/ttcn3-bts-test/fh/osmo-bsc.confmerge
new file mode 100644
index 0000000..91a4710
--- /dev/null
+++ b/ttcn3-bts-test/fh/osmo-bsc.confmerge
@@ -0,0 +1,231 @@
+network
+ bts 0
+  trx 0
+   timeslot 0
+    ! Shall not be hopping
+   timeslot 1
+    ! Intentionally non-hopping
+   timeslot 2
+    ! (c) HSN=2, MAIO=0,1
+    hopping enabled 1
+    hopping sequence-number 2
+    hopping maio 0
+    hopping arfcn add 871
+    hopping arfcn add 873
+   timeslot 3
+    ! (e) HSN=3, MAIO=3,2,1,0
+    hopping enabled 1
+    hopping sequence-number 3
+    hopping maio 3
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 4
+    ! Intentionally non-hopping
+   timeslot 5
+    ! (f) HSN=5, MAIO=0,1,2,3
+    hopping enabled 1
+    hopping sequence-number 5
+    hopping maio 0
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 6
+    ! (g) HSN=6, MAIO=1,0
+    hopping enabled 1
+    hopping sequence-number 6
+    hopping maio 1
+    hopping arfcn add 871
+    hopping arfcn add 877
+   timeslot 7
+    ! (i) HSN=0, MAIO=1,3
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 1
+    hopping arfcn add 871
+    hopping arfcn add 875
+  trx 1
+   timeslot 0
+    ! (a) HSN=0, MAIO=0,1,2
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 0
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 1
+    ! Intentionally non-hopping
+   timeslot 2
+    phys_chan_config TCH/H
+    ! (c) HSN=2, MAIO=0,1
+    hopping enabled 1
+    hopping sequence-number 2
+    hopping maio 1
+    hopping arfcn add 871
+    hopping arfcn add 873
+   timeslot 3
+    phys_chan_config TCH/F_PDCH
+    ! (e) HSN=3, MAIO=3,2,1,0
+    hopping enabled 1
+    hopping sequence-number 3
+    hopping maio 2
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 4
+    phys_chan_config TCH/F_TCH/H_PDCH
+    ! Intentionally non-hopping
+   timeslot 5
+    phys_chan_config TCH/H
+    ! (f) HSN=5, MAIO=0,1,2,3
+    hopping enabled 1
+    hopping sequence-number 5
+    hopping maio 1
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 6
+    ! (h) HSN=6, MAIO=1,0
+    hopping enabled 1
+    hopping sequence-number 6
+    hopping maio 1
+    hopping arfcn add 873
+    hopping arfcn add 875
+   timeslot 7
+    ! (j) HSN=0, MAIO=0,2
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 0
+    hopping arfcn add 873
+    hopping arfcn add 877
+  trx 2
+   timeslot 0
+    phys_chan_config TCH/F
+    ! (a) HSN=0, MAIO=0,1,2
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 1
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 1
+    phys_chan_config SDCCH8
+    ! (b) HSN=1, MAIO=3,5
+    hopping enabled 1
+    hopping sequence-number 1
+    hopping maio 3
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 2
+    phys_chan_config TCH/F
+    ! (d) HSN=2, MAIO=2,3
+    hopping enabled 1
+    hopping sequence-number 2
+    hopping maio 2
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 3
+    phys_chan_config TCH/F_PDCH
+    ! (e) HSN=3, MAIO=3,2,1,0
+    hopping enabled 1
+    hopping sequence-number 3
+    hopping maio 1
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 4
+    phys_chan_config TCH/F_TCH/H_PDCH
+    ! Intentionally non-hopping
+   timeslot 5
+    phys_chan_config TCH/H
+    ! (f) HSN=5, MAIO=0,1,2,3
+    hopping enabled 1
+    hopping sequence-number 5
+    hopping maio 2
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 6
+    ! (h) HSN=6, MAIO=1,0
+    hopping enabled 1
+    hopping sequence-number 6
+    hopping maio 0
+    hopping arfcn add 873
+    hopping arfcn add 875
+   timeslot 7
+    ! (i) HSN=0, MAIO=1,3
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 3
+    hopping arfcn add 871
+    hopping arfcn add 875
+  trx 3
+   timeslot 0
+    phys_chan_config TCH/F
+    ! (a) HSN=0, MAIO=0,1,2
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 2
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 1
+    phys_chan_config SDCCH8
+    ! (b) HSN=1, MAIO=3,5
+    hopping enabled 1
+    hopping sequence-number 1
+    hopping maio 5
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 2
+    ! (d) HSN=2, MAIO=2,3
+    hopping enabled 1
+    hopping sequence-number 2
+    hopping maio 3
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 3
+    phys_chan_config TCH/F_PDCH
+    ! (e) HSN=3, MAIO=3,2,1,0
+    hopping enabled 1
+    hopping sequence-number 3
+    hopping maio 0
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 4
+    phys_chan_config TCH/F_TCH/H_PDCH
+    ! Intentionally non-hopping
+   timeslot 5
+    phys_chan_config TCH/H
+    ! (f) HSN=5, MAIO=0,1,2,3
+    hopping enabled 1
+    hopping sequence-number 5
+    hopping maio 3
+    hopping arfcn add 871
+    hopping arfcn add 873
+    hopping arfcn add 875
+    hopping arfcn add 877
+   timeslot 6
+    phys_chan_config SDCCH8
+    ! (g) HSN=6, MAIO=1,0
+    hopping enabled 1
+    hopping sequence-number 6
+    hopping maio 0
+    hopping arfcn add 871
+    hopping arfcn add 877
+   timeslot 7
+    phys_chan_config PDCH
+    ! (j) HSN=0, MAIO=0,2
+    hopping enabled 1
+    hopping sequence-number 0
+    hopping maio 2
+    hopping arfcn add 873
+    hopping arfcn add 877
diff --git a/ttcn3-bts-test/generic/osmo-bsc.cfg 
b/ttcn3-bts-test/generic/osmo-bsc.cfg
deleted file mode 100644
index 49ca9d6..0000000
--- a/ttcn3-bts-test/generic/osmo-bsc.cfg
+++ /dev/null
@@ -1,247 +0,0 @@
-!
-! OsmoBSC (1.1.2.236-5f22) configuration saved from vty
-!!
-password foo
-!
-log gsmtap 172.18.9.10
- logging level set-all debug
- logging filter all 1
-!
-log stderr
- logging filter all 1
- logging color 1
- logging print category 1
- logging timestamp 1
- logging print extended-timestamp 1
- logging print file 1
- logging level set-all notice
- logging level rll info
- logging level rsl debug
- logging level msc debug
- logging level filter debug
- logging level pcu debug
- logging level lctrl info
- logging level lsccp info
-!
-stats interval 5
-!
-line vty
- no login
- bind 0.0.0.0
-!
-e1_input
- e1_line 0 driver ipa
- e1_line 0 port 0
- no e1_line 0 keepalive
- ipa bind 0.0.0.0
-cs7 instance 0
- point-code 0.23.3
- asp asp-clnt-msc-0 2905 0 m3ua
- as as-clnt-msc-0 m3ua
-  asp asp-clnt-msc-0
-  routing-key 2 0.23.3
-network
- network country code 1
- mobile network code 1
- encryption a5 0
- neci 1
- paging any use tch 0
- handover 0
- handover1 window rxlev averaging 10
- handover1 window rxqual averaging 1
- handover1 window rxlev neighbor averaging 10
- handover1 power budget interval 6
- handover1 power budget hysteresis 3
- handover1 maximum distance 9999
- timer t3212 30
- bts 0
-  type sysmobts
-  band DCS1800
-  cell_identity 0
-  location_area_code 1
-  dtx uplink force
-  dtx downlink
-  base_station_id_code 63
-  ms max power 15
-  cell reselection hysteresis 4
-  rxlev access min 0
-  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
-  early-classmark-sending forbidden
-  early-classmark-sending-3g allowed
-  ip.access unit_id 1234 0
-  ip.access rsl-ip 172.18.9.10
-  oml ip.access stream_id 255 line 0
-  neighbor-list mode manual-si5
-  neighbor-list add arfcn 100
-  neighbor-list add arfcn 200
-  si5 neighbor-list add arfcn 10
-  si5 neighbor-list add arfcn 20
-  codec-support fr
-  gprs mode gprs
-  gprs routing area 0
-  gprs network-control-order nc0
-  gprs cell bvci 1234
-  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 1234
-  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 1234
-  gprs nsvc 0 local udp port 23000
-  gprs nsvc 0 remote udp port 23000
-  gprs nsvc 0 remote ip 0.0.0.0
-  no force-combined-si
-  trx 0
-   rf_locked 0
-   arfcn 871
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 0
-   timeslot 0
-    phys_chan_config CCCH+SDCCH4
-    hopping enabled 0
-   timeslot 1
-    phys_chan_config TCH/F
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config TCH/F
-    hopping enabled 0
-   timeslot 3
-    phys_chan_config TCH/F_PDCH
-    hopping enabled 0
-   timeslot 4
-    phys_chan_config TCH/F_TCH/H_PDCH
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/H
-    hopping enabled 0
-   timeslot 6
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 7
-    phys_chan_config PDCH
-    hopping enabled 0
-  trx 1
-   rf_locked 0
-   arfcn 873
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 1
-   timeslot 0
-    phys_chan_config TCH/F
-    hopping enabled 0
-   timeslot 1
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 3
-    phys_chan_config TCH/F_TCH/H_PDCH
-    hopping enabled 0
-   timeslot 4
-    phys_chan_config TCH/F_PDCH
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 6
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 7
-    phys_chan_config PDCH
-    hopping enabled 0
-  trx 2
-   rf_locked 0
-   arfcn 875
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 2
-   timeslot 0
-    phys_chan_config TCH/H
-    hopping enabled 0
-   timeslot 1
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 3
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 4
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/F
-    hopping enabled 0
-   timeslot 6
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 7
-    phys_chan_config PDCH
-    hopping enabled 0
-  trx 3
-   rf_locked 0
-   arfcn 877
-   nominal power 50
-   max_power_red 20
-   rsl e1 tei 3
-   timeslot 0
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 1
-    phys_chan_config TCH/H
-    hopping enabled 0
-   timeslot 2
-    phys_chan_config TCH/H
-    hopping enabled 0
-   timeslot 3
-    phys_chan_config SDCCH8
-    hopping enabled 0
-   timeslot 4
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 5
-    phys_chan_config TCH/F
-    hopping enabled 0
-   timeslot 6
-    phys_chan_config PDCH
-    hopping enabled 0
-   timeslot 7
-    phys_chan_config SDCCH8
-    hopping enabled 0
-msc 0
- codec-list fr1 fr2 fr3
- allow-emergency allow
- amr-config 12_2k forbidden
- amr-config 10_2k forbidden
- amr-config 7_95k forbidden
- amr-config 7_40k forbidden
- amr-config 6_70k forbidden
- amr-config 5_90k allowed
- amr-config 5_15k forbidden
- amr-config 4_75k forbidden
-bsc
- mid-call-timeout 0
- no missing-msc-text
diff --git a/ttcn3-bts-test/generic/osmo-bsc.confmerge 
b/ttcn3-bts-test/generic/osmo-bsc.confmerge
new file mode 100644
index 0000000..eb1324d
--- /dev/null
+++ b/ttcn3-bts-test/generic/osmo-bsc.confmerge
@@ -0,0 +1,7 @@
+line vty
+ bind 0.0.0.0
+e1_input
+ ipa bind 0.0.0.0
+network
+ bts 0
+  ip.access rsl-ip 172.18.9.10
diff --git a/ttcn3-bts-test/generic/osmo-bts.cfg 
b/ttcn3-bts-test/generic/osmo-bts.cfg
deleted file mode 100644
index bbe8a1d..0000000
--- a/ttcn3-bts-test/generic/osmo-bts.cfg
+++ /dev/null
@@ -1,81 +0,0 @@
-!
-! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty
-!!
-!
-log gsmtap 172.18.9.10
- logging level set-all debug
- logging filter all 1
-!
-log stderr
- logging filter all 1
- logging color 1
- logging print category 1
- logging timestamp 1
- logging print extended-timestamp 1
- logging level set-all notice
- logging level rsl info
- logging level oml info
- logging level meas info
- logging level pag info
- logging level l1c info
- logging level dsp info
- logging level pcu debug
- logging level trx info
- logging level lmib debug
-!
-line vty
- no login
- bind 0.0.0.0
-!
-e1_input
- e1_line 0 driver ipa
- e1_line 0 port 0
- no e1_line 0 keepalive
-phy 0
- osmotrx ip local 172.18.9.20
- osmotrx ip remote 172.18.9.21
- instance 0
-  osmotrx rx-gain 10
- instance 1
-  osmotrx rx-gain 10
- instance 2
-  osmotrx rx-gain 10
- instance 3
-  osmotrx rx-gain 10
-bts 0
- band DCS1800
- ipa unit-id 1234 0
- oml remote-ip 172.18.9.11
- rtp jitter-buffer 100
- paging queue-size 200
- paging lifetime 0
- gsmtap-remote-host 172.18.9.10
- gsmtap-sapi enable-all
- no gsmtap-sapi pdtch
- no gsmtap-sapi ptcch
- min-qual-rach 50
- min-qual-norm -5
- !settsc
- pcu-socket /data/unix/pcu_sock
- trx 0
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 8000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 0
- trx 1
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 8000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 1
- trx 2
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 8000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 2
- trx 3
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 8000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 3
-ctrl
- bind 0.0.0.0
diff --git a/ttcn3-bts-test/generic/osmo-bts.confmerge 
b/ttcn3-bts-test/generic/osmo-bts.confmerge
new file mode 100644
index 0000000..7837748
--- /dev/null
+++ b/ttcn3-bts-test/generic/osmo-bts.confmerge
@@ -0,0 +1,11 @@
+line vty
+ bind 0.0.0.0
+phy 0
+ osmotrx ip local 172.18.9.20
+ osmotrx ip remote 172.18.9.21
+bts 0
+ oml remote-ip 172.18.9.11
+ gsmtap-remote-host 172.18.9.10
+ pcu-socket /data/unix/pcu_sock
+ctrl
+ bind 0.0.0.0
diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh
index 35ce0d5..c16be80 100755
--- a/ttcn3-bts-test/jenkins.sh
+++ b/ttcn3-bts-test/jenkins.sh
@@ -30,7 +30,7 @@
                        --name ${BUILD_TAG}-bsc -d \
                        $DOCKER_ARGS \
                        $REPO_USER/osmo-bsc-$IMAGE_SUFFIX \
-                       /bin/sh -c "osmo-bsc -c /data/osmo-bsc.cfg 
>>/data/osmo-bsc.log 2>&1"
+                       /bin/sh -c "osmo-bsc -c /data/osmo-bsc.gen.cfg 
>>/data/osmo-bsc.log 2>&1"
 }

 start_bts() {
@@ -51,7 +51,7 @@
                        --name ${BUILD_TAG}-bts -d \
                        $DOCKER_ARGS \
                        $REPO_USER/osmo-bts-$IMAGE_SUFFIX \
-                       /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant 
-c /data/osmo-bts.cfg >>/data/osmo-bts.log 2>&1"
+                       /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant 
-c /data/osmo-bts.gen.cfg >>/data/osmo-bts.log 2>&1"
 }

 start_fake_trx() {
@@ -135,12 +135,15 @@
 cp $VOL_BASE_DIR/bts-tester-generic/BTS_Tests.cfg \
    $VOL_BASE_DIR/bts-tester-hopping/BTS_Tests.cfg.inc

+# (re)generate the configuration files
+make cfg
+
 mkdir $VOL_BASE_DIR/bsc
-cp generic/osmo-bsc.cfg $VOL_BASE_DIR/bsc/
+cp generic/osmo-bsc.gen.cfg $VOL_BASE_DIR/bsc/

 mkdir $VOL_BASE_DIR/bts
 mkdir $VOL_BASE_DIR/bts/unix
-cp generic/osmo-bts.cfg $VOL_BASE_DIR/bts/
+cp generic/osmo-bts.gen.cfg $VOL_BASE_DIR/bts/

 mkdir $VOL_BASE_DIR/unix

@@ -161,7 +164,7 @@
 docker container kill ${BUILD_TAG}-trxcon
 docker container kill ${BUILD_TAG}-fake_trx
 docker container kill ${BUILD_TAG}-bts
-cp virtphy/osmo-bts.cfg $VOL_BASE_DIR/bts/
+cp virtphy/osmo-bts.gen.cfg $VOL_BASE_DIR/bts/
 start_bts virtual 0
 start_virtphy
 # ... and execute the testsuite again with different cfg
@@ -173,7 +176,7 @@
 docker container kill ${BUILD_TAG}-virtphy
 docker container kill ${BUILD_TAG}-bts

-cp oml/osmo-bts.cfg $VOL_BASE_DIR/bts/
+cp oml/osmo-bts.gen.cfg $VOL_BASE_DIR/bts/
 start_bts trx 1
 start_fake_trx
 start_trxcon
@@ -181,8 +184,8 @@
 start_testsuite oml

 # 4) Frequency hopping tests require different configuration files
-cp fh/osmo-bsc.cfg $VOL_BASE_DIR/bsc/
-cp generic/osmo-bts.cfg $VOL_BASE_DIR/bts/
+cp fh/osmo-bsc.gen.cfg $VOL_BASE_DIR/bsc/
+cp generic/osmo-bts.gen.cfg $VOL_BASE_DIR/bts/
 # restart the BSC/BTS and run the testsuite again
 docker container kill ${BUILD_TAG}-bts
 start_bsc
diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg
deleted file mode 100644
index 52a2ace..0000000
--- a/ttcn3-bts-test/oml/osmo-bts.cfg
+++ /dev/null
@@ -1,59 +0,0 @@
-!
-! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty
-!!
-!
-log gsmtap 172.18.9.10
- logging level set-all debug
- logging filter all 1
-!
-log stderr
- logging filter all 1
- logging color 1
- logging print category 1
- logging timestamp 1
- logging print extended-timestamp 1
- logging level set-all notice
- logging level rsl info
- logging level oml info
- logging level meas info
- logging level pag info
- logging level l1c info
- logging level dsp info
- logging level pcu debug
- logging level trx info
- logging level lmib debug
-!
-line vty
- no login
- bind 0.0.0.0
-!
-e1_input
- e1_line 0 driver ipa
- e1_line 0 port 0
- no e1_line 0 keepalive
-phy 0
- osmotrx ip local 172.18.9.20
- osmotrx ip remote 172.18.9.21
- osmotrx fn-advance 20
- osmotrx rts-advance 5
- instance 0
-  osmotrx rx-gain 10
-  osmotrx tx-attenuation 0
-bts 0
- band DCS1800
- ipa unit-id 1234 0
- oml remote-ip 172.18.9.10
- rtp jitter-buffer 100
- paging queue-size 200
- paging lifetime 0
- min-qual-rach 50
- min-qual-norm -5
- !settsc
- pcu-socket /data/unix/pcu_sock
- trx 0
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 2000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 0
-ctrl
- bind 0.0.0.0
diff --git a/ttcn3-bts-test/oml/osmo-bts.confmerge 
b/ttcn3-bts-test/oml/osmo-bts.confmerge
new file mode 100644
index 0000000..a9293b9
--- /dev/null
+++ b/ttcn3-bts-test/oml/osmo-bts.confmerge
@@ -0,0 +1,10 @@
+bts 0
+ oml remote-ip 172.18.9.10
+ trx 0
+  power-ramp step-size 2000 mdB
+ trx 1
+  power-ramp step-size 2000 mdB
+ trx 2
+  power-ramp step-size 2000 mdB
+ trx 3
+  power-ramp step-size 2000 mdB
diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg 
b/ttcn3-bts-test/virtphy/osmo-bts.cfg
deleted file mode 100644
index 2dab646..0000000
--- a/ttcn3-bts-test/virtphy/osmo-bts.cfg
+++ /dev/null
@@ -1,60 +0,0 @@
-!
-! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty
-!!
-!
-log gsmtap 172.18.9.10
- logging level set-all debug
- logging filter all 1
-!
-log stderr
- logging filter all 1
- logging color 1
- logging print category 1
- logging timestamp 1
- logging print extended-timestamp 1
- logging level set-all notice
- logging level rsl info
- logging level oml info
- logging level meas info
- logging level pag info
- logging level l1c info
- logging level dsp info
- logging level pcu debug
- logging level trx info
- logging level lmib debug
-!
-line vty
- no login
- bind 0.0.0.0
-!
-e1_input
- e1_line 0 driver ipa
- e1_line 0 port 0
- no e1_line 0 keepalive
-phy 0
- !virtual-um ms-multicast-group 239.193.23.1
- !virtual-um bts-multicast-group 239.193.23.2
- instance 0
-bts 0
- band DCS1800
- ipa unit-id 1234 0
- oml remote-ip 172.18.9.11
- rtp jitter-buffer 100
- paging queue-size 200
- paging lifetime 0
- gsmtap-sapi rach
- gsmtap-sapi agch
- gsmtap-sapi bcch
- gsmtap-sapi pch
- gsmtap-sapi sdcch
- gsmtap-sapi sacch
- min-qual-rach 50
- min-qual-norm -5
- pcu-socket /data/unix/pcu_sock
- trx 0
-  power-ramp max-initial 0 mdBm
-  power-ramp step-size 2000 mdB
-  power-ramp step-interval 1
-  phy 0 instance 0
-ctrl
- bind 0.0.0.0
diff --git a/ttcn3-bts-test/virtphy/osmo-bts.confmerge 
b/ttcn3-bts-test/virtphy/osmo-bts.confmerge
new file mode 100644
index 0000000..d4f95d1
--- /dev/null
+++ b/ttcn3-bts-test/virtphy/osmo-bts.confmerge
@@ -0,0 +1,6 @@
+phy 0
+ !virtual-um ms-multicast-group 239.193.23.1
+ !virtual-um bts-multicast-group 239.193.23.2
+bts 0
+ trx 0
+  power-ramp step-size 2000 mdB

--
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/20622
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: If15461240f3037c142c176fc7da745a1701ae3f8
Gerrit-Change-Number: 20622
Gerrit-PatchSet: 13
Gerrit-Owner: laforge <[email protected]>
Gerrit-Assignee: fixeria <[email protected]>
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to