junit: Replace invalid xml characters Otherwise junit parser in jenkins fails: org.dom4j.DocumentException: Error on line 20231 of document : An invalid XML character (Unicode: 0x1b) was found in the element content of the document. Fixes: 5bbdab8d95dc739112a6d6999d438b5e142392b8 Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713
utils: Add limits.d dir with sample config files Same as the ones described in osmo-gsm-tester User Manual and same as ones deployed by ansible scripts. Let's rather keep them here. Change-Id: I8b124a8a1637666536772439b920e7b91e61533c
remote: Set debug logfile of ssh_sigkiller.sh to /dev/null Otherwise processes run eventually as root (due to being run on another netns) may change its permissions and other processes later will fail to write to it (Permission Denied). Change-Id: Ide092db082937be7c2fb16d60e099c85dc1941b7
srsenb: Update config files Latest ENB config file grammar changed and needs to be updated to work with next versions of srsENB. Change-Id: I84db30dc57ea9e0b05208fa86d88d42d492b237f
srsepc: Update log file output matching New version of srsEPC improved the information logged during S1 setup request, which we use to wait for the ENB to be connected. Change-Id: Ia2338e3161c66ef7c1ab50b024a70de661edc780
srsenb_sib.conf: Fix warning about wrong prach_freq_offset value WARNING: Invalid PRACH configuration - prach=(2, 8) does not fit into the eNB PRBs=(0, 6). Consider changing the "prach_freq_offset" value to 0 in the sib.conf file when using 6 PRBs. Change-Id: Ie4374faca62a4d0289f78674eadec7eb5d045dfd
srsue: Use logfile instead of stdout newer srsLTE has fixes to exit properly after 3 seconds and then flush the log file. Change-Id: I9801ce932ad08b7fbb6d14a66e1dba64d4af38f7
config.py: use var to hold defaults.conf string This way we have all config file names together in same place. Change-Id: If35739f21f1414efdaba71acbb60661213ac58df
Move RESOURCES_CONF from resource.py to config.py This way we have all known config file names in one place, in the module containing the implementation to retrieve them (config.read_config_file()). Change-Id: I8304dda70268b16dbc316af882fecdbf20ac25ec
Drop wrong vty cfg line ms-power-control Those two BTS backends never had their own MS Power Control Loop, so they should be using the "osmo" common one. This wrong value "dsp" used to be accepted for no good reason, but it's no longer the case. Let's remove the line to let the backend take the default one (osmo). Change-Id: I842fce2b8185c53d1684747afcfc3ae8fba1afee
osmo_ms_driver: Store cfg files and logs in correct test rundir This way all the content is available as an artifact when we run it inside osmo-gsm-tester. Change-Id: I3ab493e6aafef90bb0c5d98e552840fd11c43079
doc/manual: Refactor, rewrite, improve and update most of the User Manual * Some TODOs are added as comments which actually require code changes. These are details which showed up as incongruences or missing bits while writing the documentation for them. * Some sections are introduced but still waiting to be writen soon: ** Debugging section ** Docker Setup section ** Ansible Setup section ** Troubleshooting (add jenkins red cross button sending kill -9) ** resources.conf attribute list needs to be converted to a table * Device related setup needs to be updated and extended * Parametrized scenarios need to be documented * 4G resources documentation needs to be added. Change-Id: Ifc2a3c74d45336cc988b76c0ff68a85311e4dd40
doc/manuals: Fix title out of sequence asciidoc: WARNING: install.adoc: line 450: section title out of sequence: expected level 3, got level 4 Change-Id: I0c881405e66cc6815533bb884016db20cfdff3dc
srs{ue,enb,epc}: Disable pcap by default, allow enabling by param Take the change to fix several small things and support recording pcap in srsENB. pcap generation can be enabled with scenario cfg-srs-enable-pcap. Change-Id: Ia096a9be7efb2123f95115c751e2402fb4fec935
doc/manuals: Introduce Troubleshooting section about SIGKILL fix Add a section describing how to clean up and recover osmo-gsm-tester state after a sigkill is used. Change-Id: I4841ab6d44a122140e6352df1fb6543418adc033
scenarios: Drop unnecessary srsue-rftype-soapy.conf There's already a parametrized scenario handling it. We don't use any soapy backend for srsue anyway yet. Change-Id: Ie680178d2b16139473b5899803fb69a715a79216
doc/manuals: Introduce chapter explaining config data mangling Explains how configurations bits are arranged and mangled to provide a last config set. Change-Id: I5c8f136e743b6beb02956b3436aa3d1010205141
srs_ue: send t+Enter to stdin after launching app this enables the console trace which is printed to stdout and provides human readable radio statistics Change-Id: If1c998aff1c5c11d3fa636fb60cb4991e0def768
srs_ue: run srsUE as normal RemoteProcess running with RemoteProcessFixIgnoreSIGHUP was needed bc srsUE used to ignore SIGHUP that is delivered to the process when the SSH session is terminated causing the UE to not quit properly. This isn't the case anymore so we can use RemoteProcess for spawning the UE. Furthermore, the wrapper script didn't pass along stdin to it's child process, i.e., srsUE. Therefore the console trace can't be seen if the run through the wrapper. Change-Id: Iab4dafc58167620362a36ec9e904b8d49a7d5fc1
ms: add optional param to specify fixed APN IP address assigned to a MS this allows to specify a fixed APN address for each subscriber in the HLR. If the param is not provided in the resources config, the default allocation type is used, which is to dynamically allocate an IP in the supported range. Change-Id: Ie6fcd7987dc7bc62a686bee3a10c67e3dd813419
srs_enb: add num_cells param to srsENB this is needed to support the upcoming multi-cell feature in srsENB. It's required for carrier aggregation (CA) but can also be used for (currently) two independent 4G cells. This commit adds baseline support for the parameter. Upcoming commits will add hooks to configure the cell's EARFCN, etc. Change-Id: I6d1658bf820163aee03b64b0f4ac68046c243f37
srs_ue: adding num_carriers paramter and corresponding modifier this allows to configure a UE to support multiple carriers Change-Id: I4fa0a0c6e52efb17aa0b07e55abb5470d8028e8b
srs_enb: enable console trace, use RemoteProcess class In order for the console trace to work over SSH this commit switches to use the default RemoteProcess class. Note that srsENB now correctly handles the SIGHUP signal. Change-Id: I26391eb8409e14b34987e0b338e10613fa157e06
Introduce initial Amarisoft ENB support * object class expects the amarisoft software to be placed in directory provided by env var AMARISOFT_PATH_ENB. On local runs, it will run the software from there. On remote runs it will copy over that directory to the slave. * Configuration provided works with 6 PRBs, but probably won't work for other values (yet). * ZMQ support not yet available, only UHD. One can select the Amarisoft ENB by declaring it in resources.conf: """ - label: AmarisoftENB-B200 type: amarisoftenb rf_dev_type: uhd rf_dev_args: "type=b200,serial=317B9FE,recv_frame_size=9232,send_frame_size=9232" remote_user: jenkins addr: 10.12.1.206 """ And running: """ $ export AMARISOFT_PATH_ENB=/path/to/binaries $ osmo-gsm-tester.py ... -s 4g:amarisoftenb-rftype@uhd+srsue-rftype@UHD+mod-enb-nprb@6 -t ping """ Change-Id: I1ddf4962ea6438ad977382ab201b724028ca46b3
srsenb: No need to generates values dict for every template file Let's only do all the dictionary processing once and not for each template file. Change-Id: I4684d26375fce1e2ae28d3eccdc4f607fa5411a9
Introduce support for AmarisoftEPC * A new abstract generic base class EPC is created * srsEPC and AmarisoftEPC inherit from that class * options are loaded from defaults.conf in cascade. First generic "epc", afterwards the specific enb type. * A new scenario is added to select the EPC type to use. srsEPC is the default unless stated by an scenario. * AmarisoftEPC delegates setup of the tun IP address to an "ifup" script. As a result, since we run without root permissions (ony with CAP_NET_ADMIN), the ifup script itself is unablet o set the IP address. To solve this, we introduce a new osmo-gsm-tester helper script which must be installed in the slave node which can be called through sudo to increase privileges to do so. With this commit, I can already get srsUE<->amarisoftENB<->amarisoftEPC to pass ping and iperf3 4g tests. Change-Id: Ia50ea6a74b63b2d688c8d683aea11416ad40a6d3
Make amarisoft license server optional * Since license_server_addr logic is generic among all amarisoft software, let's move it to its own config category "amarisoft", which all amarisoft classes (amarisoft_{enb,epc}.py as of now) will import during configure(). * The license server is disabled by default (value 0.0.0.0) since the usual case is to have a license in the local system. * the license server can be enabled using scenario cfg-amarisoft-license@A.B.C.D where A.B.C.D is the address to use. Change-Id: Id5456ad9497e91370857b80ff9a389111d3611ff
iperf3: add config to adjust the duration of the iperf run the time is passed as a string param and is then converted into seconds when literals "h" or "m" are found. So it would accept 2m and would convert it to 120s, for example. Example: +cfg-iperf3-time@15+ Change-Id: Iff28816f83670751e9e91de31ec59b1b0ad8fc0d
srs{enb,ue}: Use lowcase UHD as rf_type string Older versions of srsLTe.git required passing UHD in caps to the conf file, but that's not the case anymore. Let's use lowcase then. Change-Id: If8a289ba110229d31b62b0d3adc1ae97324e6d27
config.py: Allow escaping commas in parametrized scenario names comma character ',' is used in the command line to split between parameters, which means a parameter value itself couldn't contain it. This commit allows passing a comma inside a character value by escaping it with '\,'. Change-Id: Ic0bd9a029137a59e8c4a32b807eba7a64fcfa51f
Introduce contrib/jenkins-build-amarisoft.sh Prepares inst tgz archives to be consumed by osmo-gsm-tester from Amarisoft prebuilt binaries. Change-Id: I372606fc5ff9f6bb3ef848f2fe229b83382ddc09
contrib/jenkins-build-amarisoft.sh: Make build of amarisoft trx_zmq.so optional That module is only available so far in a private repository, so allow still other amarisof tusers to build the bundles with UHD support. Change-Id: I361f179c8e7f379173fa9109028e139fc4c8c251
Add modem resource features attributes: 2g, 3g, 4g This allows selecting modem by supported network type. It will allow using 4G modems with type different than srsue in 4g suite in the future. Change-Id: I38bcf6abf789f52c3ed0bee7911567fa872e2491