Commit Graph

868 Commits

Author SHA1 Message Date
Andre Puschmann bf960ec0cc srs{enb,ue}.conf.tmpl: make sure to only use a single PHY thread when running with ZMQ
Change-Id: Icc1e67705c0354ece77c037f224a9c756a16daaa
2020-03-23 21:00:36 +01:00
Andre Puschmann cfdcf89515 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
2020-03-23 18:54:15 +01:00
Andre Puschmann 2e8626f9be 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
2020-03-23 18:54:15 +01:00
Andre Puschmann 66272f8ac8 process: add stdin_write method to communicate with child on stdin
Change-Id: I3e5d843911998bb50726d93e3dfd3de584dc81a5
2020-03-23 18:54:15 +01:00
Andre Puschmann f00d9bc259 relax max_rate for iperf UL/DL tests
Change-Id: Ia243156931918d5ab013c64c37823bc2e400798e
2020-03-21 21:45:29 +01:00
Andre Puschmann e227fa3b13 fix lookup table for maximum DL/UL rate for srsENB
Change-Id: Ieb027eaf5d8f4d774d0e29207f7a3b75dec6ee5b
2020-03-21 21:45:29 +01:00
Andre Puschmann b778707767 srsenb.conf.tmpl: update to new version
Change-Id: I204d03307aaaddcb15fed6f7310b64d09c43f64c
2020-03-21 21:45:29 +01:00
Pau Espin b99b0f308c 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
2020-03-17 20:20:34 +01:00
Pau Espin 7788e3952d 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
2020-03-17 20:12:46 +01:00
Pau Espin c1220e1418 doc/manuals: Several format and styles fixes for config.adoc
Change-Id: I6371e09d6d88f137e7611bd60ac97b86414d8c47
2020-03-16 19:50:40 +01:00
Pau Espin 8ccd99a3a9 doc/manuals: Add proper content for Debugging section
Change-Id: Iaed2544d59f7c5dd69eef3ddfade544b35c837cd
2020-03-16 19:48:02 +01:00
Pau Espin cc0ad7dc78 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
2020-03-16 19:03:46 +01:00
Pau Espin 1e81b5af9a 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
2020-03-16 13:47:30 +01:00
Pau Espin 71a54fbf81 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
2020-03-14 19:20:05 +01:00
Pau Espin 7dc2216071 doc/manuals: Write section explaining parametrized scenarios
Change-Id: I04b7fa46c2a282095bbb8f6d69ade87ff86f910c
2020-03-12 17:50:06 +00:00
Pau Espin 94622f12d9 doc/manuals: Write proper content for Ansible Setup section
Change-Id: Iffd3beefa50dd5f18908b4c3f7e4deb169feca62
2020-03-12 17:50:06 +00:00
Pau Espin bff90dce73 doc/manuals: Write proper content for Docker Setup section
Change-Id: Ie883adbf03a3b5c9a852182c01d15a212749ce04
2020-03-12 17:50:06 +00:00
Pau Espin 7e0b2ddfb8 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
2020-03-12 17:50:06 +00:00
Pau Espin 990b520b1f 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
2020-03-12 18:04:15 +01:00
Pau Espin e10970d626 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
2020-03-12 16:13:23 +01:00
Pau Espin 66a38917f4 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
2020-03-11 20:15:13 +01:00
Pau Espin a2e81f5e19 config.py: use var to hold defaults.conf string
This way we have all config file names together in same place.

Change-Id: If35739f21f1414efdaba71acbb60661213ac58df
2020-03-11 20:15:07 +01:00
Pau Espin 5b31cc358c 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
2020-03-09 18:48:47 +01:00
Pau Espin 7f37deb020 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
2020-03-09 18:36:44 +01:00
Pau Espin f796ad0061 srsue,srsenb: Configure num_ports for tmode > 1
Change-Id: I35d8ee907738845e729f58c23f377a42bb665672
2020-03-09 18:36:44 +01:00
Pau Espin b9aeb156fe 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
2020-03-09 15:06:48 +01:00
Pau Espin d2e5aa58fb 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
2020-03-09 11:40:53 +01:00
Pau Espin 2bcd346203 suites/4g/ping.py: Overwrite test stdout with ping output
Change-Id: I83403a21c46758132b4fbb930000df67d8650016
2020-03-09 10:15:39 +01:00
Pau Espin 02e8a8d4e1 Improve junit xml generated fields
* trial ('testsuites' node): Add fields 'tests', 'errors', 'failures',
  'time'.
* testsuite: Add fields 'errors', 'failures', 'skipped',
  'disabled'
* test: Add field 'classname' (empty).

Fix and improve suite.py and test.py to count errors, skipped, failures
properly.

Change-Id: Ie2d10cee88a9c0d829e4620553164cf3150e8e5c
2020-03-09 10:15:39 +01:00
Pau Espin a5f7bef0a2 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
2020-03-05 17:26:22 +01:00
Pau Espin 644cb41b05 Allow overwriting test's report stdout text from inside test code
Change-Id: Ie1c0ecf7464209a4241665025fda33ae624fc049
2020-03-04 16:14:31 +01:00
Pau Espin 03a2fc504b suites/4g: Introduce iperf4 downlink test
Change-Id: Ifc4bb7394120d57ca6d26459be1cf8365a16249c
2020-03-04 13:56:25 +01:00
Pau Espin 151b08a410 srsue: Introduce metrics verification procedures
Change-Id: Ib1da58615cdc4f53ac1a27080e94e5b47760c508
2020-03-04 13:56:25 +01:00
Pau Espin dff272884d scenarios: Use parametrized scenario for rftype
Change-Id: Ib3d7db13d7de492eee5ad25cf5c88239be9e9fbf
2020-03-04 13:33:21 +01:00
Pau Espin 63685d719a 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
2020-03-03 09:22:17 +00:00
Pau Espin 085a17e8e0 iperf3: Support setting run time
Change-Id: I93e857bd682c733c3ba36234b9bf1e1cc85eddef
2020-03-02 18:14:31 +01:00
Pau Espin 143365dc54 tests: Improve logging of iperf3 results
Change-Id: I6563c11f4ad6e9519400268e63944cdf8973dad0
2020-03-02 16:32:42 +01:00
Pau Espin 905e503cb9 iperf3: Support configuring data direction (dl vs ul)
Change-Id: I6b5b740beac22015c952ce826c034031ad4c4465
2020-03-02 15:45:08 +01:00
Pau Espin 2aeadeb58d srsue,srsenb: Fix zmq base_rate calculation and share value
Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442
2020-03-02 11:56:51 +01:00
Pau Espin dcf99edf53 srsue: Enable pcap through config file
Change-Id: I15219d707aea778fefa8911362278442fa09550c
2020-03-02 11:10:50 +01:00
Pau Espin a031995762 srsue: Enable metrics csv file generation
Change-Id: I393afc49f553d9ebda29717c27d5eb907b3c5b60
2020-03-02 11:06:51 +01:00
Pau Espin a337695cd0 srsue: Remove old comment not longer applying
Change-Id: I1718dbb701c5dcd5a4081d3d91ae9f192418e7df
2020-03-02 11:04:03 +01:00
Pau Espin 3f088da9b2 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: 5bbdab8d95
Change-Id: Ia629e43bba01e50fd718c16404a7796d4f4e3713
2020-03-02 10:51:40 +01:00
Pau Espin b69377112c Introduce LTE Transmission Mode and RLC DRB mode params
Change-Id: I38f247f266ba736cdbb6f36ba5673b8fd46a8d67
2020-02-27 18:14:24 +01:00
Pau Espin 9b8823efd7 Use parametrized scenario to set ENB num_prb
Change-Id: Iec7d7e6312aee6f4e4ce6710bc78a144beff2f39
2020-02-27 17:16:47 +01:00
Pau Espin 6ed301259a Introduce parametrized scenario files support
The idea is to have something similar to systemd template unit files:
https://fedoramagazine.org/systemd-template-unit-files/

Specially for modifiers, one finds the situation where same scenario structure
has to be created with lots of different values.
For instance, let's say we want to test with different eNodeB num_prb values:
[6, 15, 25, 50, 75,100]
Right now we'd need to create one scenario file for each of them, for instance:
mod-enb-nprb6.conf
mod-enb-nprb15.conf
mod-enb-nprb25.conf
mod-enb-nprb50.conf
mod-enb-nprb75.conf
mod-enb-nprb100.conf

And each of them containing something like (changing the num_prb value):
"""
modifiers:
  enb:
  - num_prb: 75
"""

Instead, we can now have one unique file mod-enb-nprb@.conf:
"""
modifiers:
  enb:
  - num_prb: ${param1}
"""
The general syntax is: "scenario-name@param1,param2,param3".
So "@" splits between scenario name and parameter list, and "," splits
between parameters.

For instance, one can now run following suite with scenario:
"4g:srsenb-rftype-uhd+srsue-rftype-uhd+mod-enb-nprb@75"

Related: OS#4424
Change-Id: Icfcba15b937225aa4b1f322a8005fcd57db1d1ca
2020-02-27 17:16:47 +01:00
Pau Espin 1deb1ae0bc enb: Add modifiers for num_prb
Change-Id: I0b8c834f1c67cc4bf4d07d03358ba2012331cbde
2020-02-27 15:37:08 +01:00
Pau Espin 6c42bb584b srs_enb: Make num_prb a config parameter
Change-Id: I336e71f53556596050cf3eb55a7810a009dbf7a8
2020-02-27 15:05:11 +01:00
Pau Espin 5bbdab8d95 Add test log to junit output
Change-Id: Ieb5566a41ecf3a9512db579eb37e8d8ed5325057
2020-02-24 18:30:58 +01:00
Pau Espin 69b2cf3ce2 srsue: Create netns on demand
Already existing script osmo-gsm-tester_netns_setup.sh is modified to
support only creating the entns without moving an iface to it.

Change-Id: I1b7e186b0146f932fe37fbea68e4dfa3120b7a74
2020-02-24 10:59:05 +01:00