path: root/src/osmo_gsm_tester
AgeCommit message (Collapse)AuthorFilesLines
2019-11-26bts_osmotrx: Add support to run osmo-trx on LimeNet-microPau Espin Pedrol1-23/+43
bts_osmotrx will check if target host can run the inst, and otherwise run osmo-trx-lms already present in the system (installed by other means). This way same class can be used both ways, since the only real difference between the 2 scenarios is: * copying inst vs not copying it. * Running binary from inst vs running it from PATH. This commit does not provide a mechanism to make sure the osmo-trx or its dependencies are up-to-date in the target system. A solution for that will be provided separately. Related: SYS#4663 Change-Id: I6bd76f6d7e0cb2b6f7bdde971b6515846048a341
2019-11-26process: Allow passing no local inst to copy_inst_sshPau Espin Pedrol1-2/+6
This will be useful in the event a user wants to run a binary already available in the target which needs no copying, but still requires the non-binary related items to be copied and set up, such as config files, directory structure, etc. This option will be used to run osmo-trx-lms in LimeNetMicro already installed from an OBS repo, since cross-compiling all related dependencies would require a lot of work to do now. Change-Id: I6b0f2a19e493c7ac911c5db0ea08f5c0ab936d74
2019-11-26process: Return proc in function helpersPau Espin Pedrol1-0/+3
Caller may want to access the proc object after running the process, for instance to check return code or inspect its stdout/stderr logs. Change-Id: I60a18dcf699ebeaced951f7d5ff188f573772282
2019-11-26bts_osmotrx: Allow Setting Rx/TX paths through resources.confPau Espin Pedrol2-1/+2
Change-Id: Iddb0f20366c3242098bdf869f39fc3e2244c13e7
2019-09-18Add a per-test log filepespin/masterPau Espin Pedrol1-0/+6
This way there's no need to go over hours of logging in the main log to find information of a failing test. Change-Id: I8cb79c7855e0bc14282d6728841e92ba22699eed
2019-09-10Revert " Use different ARFCN for sysmocell-5k"Pau Espin Pedrol1-1/+0
This reverts commit 91199a31377fe94a79376eca9232151a3f637bce. Since we now support powercycling the SC5, we don't longer need to use a different ARFCN for it. Change-Id: Ie8b49c556c90b4a97a73695a93ac4108660a217f
2019-09-10Support SC5 power cycling through powersupplyPau Espin Pedrol1-13/+95
* Add powersupply related code to to power cycle the board. * Each time the board is started, we need to unlock the RF (start TRX implementation). Change-Id: I8a1428c1ff90c9f5b42d7ffe86a6fc763819cba2
2019-09-10process: Introduce respawn_sync() methodPau Espin Pedrol1-0/+7
Change-Id: Ifd1f553d9bead78bf1659f6c778c1b70888ba433
2019-09-10process: respawn(): return process resultPau Espin Pedrol1-1/+1
Change-Id: Ic6b57b8d0c2993a40ba39b87f45c7a524a8ca440
2019-08-14bts-trx: Improve logging and trap SIGTERM in ssh_sigkiller.shPau Espin Pedrol1-0/+2
Trapping SIGTERM is done in order to get extra logging about that event. Related: OS#4151 Change-Id: I2c7649dee8f5ecdaa08274806ccd8948d197ffdb
2019-08-05bts-trx: Drop deprecated -t parameterPau Espin Pedrol1-2/+1
Parameter was dropped a while ago in osmo-bts, since it's calculated dynamically from VTY config. So let's drop it to avoid a deprecation warning message in osmo-bts log file. Change-Id: Ia17a2528e091d4691c511732ed251e472d1270eb Use different ARFCN for sysmocell-5kPau Espin Pedrol1-0/+1
Due to a bug in sysmocell-5K's TRX implementation, it may keep polluting the air transmitting after the BTS is disconnected. This could cause interferences with other tests. Correct fix would be to RF lock it after test finishes (through ccli), but let's simply use a different ARFCN for now. Related: OS#4129 Change-Id: I6d5555aa8740b262ee92110987189c076db44f76
2019-07-24Introduce and use osmo-bts-trx VTY cmd max_trxd_version on sysmocell-5KPau Espin Pedrol2-0/+4
Force TRXDv0 when using sysmocell-5k as a TRX, since its implementation (different than osmo-trx) doesn't support higher versions. Furthermore, it will crash upon receival of SETFORMAT string. By forcing maximum TRXD version to 0, osmo-bts-trx won't sent any SETFORMAT message since 0 is the initial version to use. Depends: osmo-bts.git I5eb1fdc002f9d7f4acf475356d8fc998dc8f6326 Related: OS#4006 Change-Id: Ic95c38d91dba354ae64c5edbfcea3fbbf34a7de3
2019-06-19tests: voice: Add voice call test with Osmux enabledPau Espin Pedrol1-0/+1
Change-Id: Ie4f360a77f6fcbc74f140a7fcb5feef2d94ac734
2019-06-19Introduce osmux support for msc,bsc,mgwPau Espin Pedrol6-1/+41
Change-Id: Ief3518e77650f2cddb48357b07fe95346e46ee1b
2019-05-08virtual: Make mass tests be able to activate themselvesHolger Hans Peter Freyther1-1/+2
We will need to enable/disable generation of lua script code depending on the subscriber and mass test. Change-Id: Ide4d788543d910356efe9f61e789b3975f7bc558
2019-05-08virtual: Make it possible to add tests to the ms driverHolger Hans Peter Freyther1-31/+32
Introduce an Executor that forwards all testcase related methods to a list of testcases. Allow to instantiate them by name and use the result to access the statistics. Change-Id: Ia65ee53987e92b24e6b8c40e1376bc74dc260180
2019-05-04virtual: Introduce a base class for test casesHolger Hans Peter Freyther1-0/+2
Introduce a base class with the intended life cycle and use it. Change-Id: I97968fb02436d5ac8248fc8020539e1af547b030
2019-05-04virtual: Move the starter code into the starter moduleHolger Hans Peter Freyther1-2/+2
There is nothing location update specific in the file. Let's move it into the starter file. Change-Id: I0cd5705eaf53a14523feacece9446331a53b3e59
2019-04-30virtual: Separate starting virtphy/mobile from the testHolger Hans Peter Freyther1-7/+12
Move the starting code out of the Update Location "test". In the mid term we can have a SMS test run in addition to waiting the Update Location tests. A mass-test testcase will have a life-cycle of: * Creation * Configure (number of subscribers, probably all subs) * Pre-Start trigger (same as configure so it can be omitted) * Post-Start (all processes run) * Query if the test has completed The next step is an actual implementation to send SMS. Change-Id: Ie15f5123775d11dd44243b2741d047ed93f318f9
2019-04-28virtual: Have a single result class that can store dataHolger Hans Peter Freyther1-0/+6
We want to have LU, SMS and other tests run at the same time. Begin by creating a single result where testcases can store additional data. Move the stats code into the UL test case handling and out of the suite. Change-Id: Ie99351bee1515de8cf6870467f08256a53701907
2019-04-28virtual: Unify the lua script into a single oneHolger Hans Peter Freyther1-1/+8
In the quest to support multiple testcases we will use a single script. Parts can be enabled/disabled depending on which tests we want/need to run. Change-Id: I8a093671173976eba9215c00a7aea0f6cab467c6
2019-04-12powersupply: Add support for Intellinet PDUPau Espin Pedrol2-2/+101
Based on original pdutool code from Joachim Steiger. Change-Id: Iab4f7aec1c50f47da4cd734441bb36fa09d171a3
2019-04-08Revert "modem: workaround ofono crash"Pau Espin Pedrol1-1/+0
We already updated our ofono branch to current master (after 1.28), and this fix is not longer required, as stated in ticket OS#3064. Related: OS#3064 This reverts commit f8d12196f05b20aa28b3103db26ea37ba6849362. Change-Id: I884f6d4f3df4f3b4e2ac05e4dba2ad8704697521
2019-04-05processes: Fix kill of processes run under sudoPau Espin Pedrol1-0/+11
sudo drops forwarding of signals sent by processes of the same process group, which means by default will drop signals from parent and children processes. By moving it to another group, we will later be able to kill it. Note: sudo documentation is wrong, since it states it only drops signals from children. See following link for more information: Change-Id: I25990234aaa496c501ff45ad7f7fd549d6f188da
2019-04-04process: Early return during process termination if no proc runningPau Espin Pedrol2-1/+8
This avoids extra unneeded logging about killing with signal when actually no signal is being sent. Change-Id: I5b5dd78fe3301d8eef2ab93da3b37029268ae198
2019-04-04suite: Make _processes an empty list during init timePau Espin Pedrol1-13/+10
It simplifies the code because we don't need to check if it is a list or not. Change-Id: I634901a1f4ba3a6b7294666012ea679ae148ff08
2019-04-04modem: Move modem iface to its netns before using itPau Espin Pedrol2-0/+12
We used to do that once after ofono startup for all iface (, but then if a modem crashes the interface is re-created on the default netns, and tests fail until manual re-run of This way now we always make sure the iface is moved to the expected netns before it is used. Related: OS#3881 Change-Id: I506309c424aa46684c4516a1a0217343ecbf32c6
2019-04-04util: use launch_sync API instead of manual waitPau Espin Pedrol1-12/+3
The API is available so no need to manually craft all steps in there. Change-Id: I4afedb185f6e864929155981e8a2ec2df90110c3
2019-04-03process: Prevent NetNSProcess alive forever after SIGKILLPau Espin Pedrol1-0/+5
NetNSProcess are run in the following process tree: osmo-gsm-tester -> sudo -> bash ( -> tcpdump. Lots of scripts with tcpdump child process were spotted in prod setup of osmo-gsm-tester. Apparently that happens because sometimes tcpdump doesn't get killed in time with SIGTERM and SIGINT, and as a result SIGKILL is sent by osmo-gsm-tester as usual termination procedure. When SIGKILL is sent, the parent sudo process is instantly killed without possibility to forward the signal to its children, leaving the bash script and tcpdump alive. In order to fix it, catch SIGKILL for this process class and send instead SIGUSR1. Then, modify the script under sudo to handle SIGUSR1 as if it was a SIGKILL towards its children to make sure child process in the netns terminates. Change-Id: I2bf389c47bbbd75f46af413e7ba897be5be386e1
2019-04-03process: add signal to NetNSProcess kill pathPau Espin Pedrol1-1/+1
This allows to easily differentiate different calls to kill in order to terminate the process when looking at the logs. Change-Id: Ida88f2674b0ed1802f20c519aa4e3cbe81e0def8
2019-03-27Integrate osmo-{bts,pcu}-oc2gPau Espin Pedrol5-1/+318
Change-Id: I446e27039f75e63c2870d751c190a4fd76947000
2019-03-07nitb_netreg_mass: Add code to declare a run successful/failureHolger Hans Peter Freyther1-0/+12
Change-Id: If26047f0635db8c7209af143fbd1da4c9b2312d1
2019-03-07nitb_netreg_mass: Allow a suite to configure num subscriberHolger Hans Peter Freyther3-39/+26
Remove hardcoded configuration and replace it with a reservation in the suite. Change-Id: Ic9fd560c2924731e4fd6eea5aaf3ad565cb4ef52
2019-03-07resource: Add a mobile resource for the virtual testHolger Hans Peter Freyther3-1/+31
Add a new resource and make a reservation in the suite. Change-Id: Ic26aa63cad62323bb85f952640672eb28af0eadc
2019-03-05Log signals from VoiceCall dbus objectsPau Espin Pedrol1-8/+54
Change-Id: I0def02b9063f75ec32c8b9382bdb12d65e1fb9eb
2019-03-05resource: Introduce a base class for the modemHolger Hans Peter Freyther2-16/+56
Extract IMSI, KI and authentication algorithm into a base class. Change-Id: Id547cdcc241a307a2ea59b5fbac6b8d7a9d95639
2019-03-05resource: Use a factory to initiate a modemHolger Hans Peter Freyther2-2/+15
Change-Id: I4baa791c92196cda477b2d969d4f67dfbe1152af
2019-03-05Revert "nitb_netreg_mass: Add code to declare a run successful/failure"Holger Freyther1-12/+0
This reverts commit b4ad8d72431df2336b9c7fbc6eb9597daa80a35c. Reason for revert: There was a true dependency on earlier changes (len(mobiles)). Rollback until the resource configuration is merged. Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb
2019-03-05process: Make killing processes non-sequentialHolger Hans Peter Freyther1-3/+73
Change-Id: Icf1ac6774ea11880542012fd6c6ac73302bb74f5
2019-03-05nitb_netreg_mass: Add code to declare a run successful/failureHolger Hans Peter Freyther1-0/+12
Change-Id: I49a821e8e4656466259e519ef901726cbb76ef86
2019-03-05resource: Introduce a type attribute to the resource definitionHolger Hans Peter Freyther1-0/+1
Change-Id: Ie1fd10ec878311b7347118badb1b9dce5b49e976
2019-03-04process: Make sending signals (kill) externally visibleHolger Hans Peter Freyther1-9/+9
Change-Id: I87bba8a8c467ba5936e0b6604d8abb9432e5e7a8
2019-03-04process: Speed-up terminating lots of processes by batching itHolger Hans Peter Freyther2-10/+38
Introduce a strategy to terminate processes and begin with an implementation for parallel (that has no degree of parallelism right now). Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d
2019-02-27pyflakes: Rename local variable to not shadow importHolger Hans Peter Freyther1-2/+2
Change-Id: Ib70130dbbeeeb9813eaea707bf66f1db91088b92
2019-02-27pyflakes: Remove occurrences of using undefined variablesHolger Hans Peter Freyther2-6/+1
Mention the attribute right away and remove a method that looks to have been broken (more vs. more_rules). Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff
2019-02-27pyflakes: Remove assigned but unread variablesHolger Hans Peter Freyther4-11/+8
Change-Id: Ie257ac051739ea6f846d1aac2c8f778638b5f8a6
2019-02-27pyflakes: Remove imports of unused modulesHolger Hans Peter Freyther9-18/+7
Change-Id: I7496030e5857078cd66a36a5e46c9a50217ce6e3
2019-02-20modem: Do not connect to the systembus until a modem is in useHolger Hans Peter Freyther1-1/+3
In case of the "virtual" tests we: * Don't use ofono based modems (they are physical for now). * Run in an environment that doesn't naturally run a dbus-daemon Modify the code to memoize the bus by hand. Change-Id: Ieae4bf819903402f7f715eb489e0a96ed59dc3f8
2019-02-13modem: Log once dbus returns call was answeredPau Espin Pedrol1-0/+1
Change-Id: Ia277b2eecdbf9969d77a688638837f9d9e1a44b6