NetNSProcess are run in the following process tree:
osmo-gsm-tester -> sudo -> bash (osmo-gsm-tester_netns_exec.sh) ->
tcpdump.
Lots of osmo-gsm-tester_netns_exec.sh 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
This allows to easily differentiate different calls to kill in order to
terminate the process when looking at the logs.
Change-Id: Ida88f2674b0ed1802f20c519aa4e3cbe81e0def8
This reverts commit b4ad8d7243.
Reason for revert: There was a true dependency on earlier changes (len(mobiles)). Rollback until the resource configuration is merged.
Change-Id: If0f5e24cec2f0d1d144b464180b341cacbdf0ebb
Introduce a strategy to terminate processes and begin with an
implementation for parallel (that has no degree of parallelism
right now).
Change-Id: I7dd4a7e26aca758198aa08a434eaf5f3f5af632d
Mention the attribute right away and remove a method that looks
to have been broken (more vs. more_rules).
Change-Id: Iba18a96ff804780e66c69b459e112f9d42b7b2ff
test -x for an empty string is still true. Check if the result of
command is empty or not. It seems to work for the negative case now.
Change-Id: I7e4326df155dae776481bf7824694b3fb47abcad
It's not common to run journald inside containers and the journalctl
command is not installed. Don't attempt to run it.
Change-Id: I9dee3cb0d0ca203da77dfa1a793a4e4e5f8593c6
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
Create a dedicated resources file for running "virtual" tests. If all
components run on the same machine we can avoid having to manage
separate network.
Change-Id: I0da1267a71dc06fd06f3cf4fc3dcfefda4bcf40b
Bind the mobile's to a random (chosen by the kernel) VTY port. The
CLI option was removed and I added a new VTY command to be able to
specify the port in addition to the address.
Change-Id: Ie40a2ba156ba5674d37a15eb30e5b2527e75fbe7
It's very close to the osmo-bts-trx but without osmo-trx. Modify
the suite to make use of this BTS.
Change-Id: I9f5a2501eb4473ccf2287c902ee207c6a45a1bc5
Add contrib/jenkins-build-manuals.sh, which clones or updates
osmo-gsm-manuals and builds the manuals. When the environment variable
PUBLISH=1 is set, it also uploads them.
Call jenkins-build-manuals.sh from jenkins-run.sh, without PUBLISH=1,
so the manuals get build-tested in the osmo-gsm-tester_gerrit job.
A new job master-osmo-gsm-tester will be added in the future, which
will run PUBLISH=1 jenkins-build-manuals.sh.
The jenkins-build-manuals.sh script does not use the osmo-ci.git
scripts for installing dependencies and cleaning up the workspace.
These scripts are not available on the node, which runs the
osmo-gsm-tester_gerrit job, and it is not trivial to add just them
(without building the osmo-ci Docker image etc.). The only dependency
is osmo-gsm-manuals, and it does not need to be compiled, so it seemed
to be the most maintainable solution to implement the clone/update and
clean up in a few lines of shell code instead.
Related: OS#3385
Change-Id: I4ebfe12a164f807b63bc897aff44db83fc0705bd
PACCH is used for paging only if the MS is actively using a PDCH, and
the only way to be sure that's happening is to place some data through
the GPRS path so MS has TBF in use when the call is placed.
Change-Id: Id29391d75101d94e2cd58f444b383f4c5217ab6a
Storing them inside the testrun directory will most likely violate
the file length limit of the AF_UNIX files. This has happened on
the jenkins test run and can not be mitigated by picking shorter
paths in the code. We are already storing the event server in a
tmp directory and can add subdirs+files there.
Change-Id: I9ba4cd5c3e220ec10fc7c3160d7211daa821358f
nanoBTS doesn't support SDCCH8 in TS!=1 according to osmo-bsc code.
Let's use in this case TCH/H to make sure they are not used for the test
(since we require osmo-bsc to use full rate codecs for the call).
Change-Id: I37f3fe813d4074fbfe64ff3176048e7d25d470e2
If OML IP doesn't need to be changed because it's the one already
configured, then there's no need to set + restart the nanoBTS, which
means we can speed up a test running a nanoBTS by aprox 2 minutes per
nanoBTS used.
Requires osmo-bsc.git 5c2485dcff35996fce328798351af79c0ff4474c, which
fixes json generation in ipaccess-config after -G -q was implemented.
Related: OS#3624
Change-Id: I2871dee3de11512250445127f0b807a8990fd4c6
Update .gitignore and make the manuals build without a toplevel
configure.ac file from autotools:
$ cd doc/manuals
$ make
Related: OS#3385
Change-Id: I5916bc7e656b508fc74917e79841ce7e1ee4981b
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in the build system.
Build with:
$ autoreconf -fi
$ ./configure --enable-manuals
$ make
Shared files from osmo-gsm-manuals.git are found automatically if
- the repository is checked out in ../osmo-gsm-manuals; or
- if it osmo-gsm-manuals was installed with "make install"; or
- OSMO_GSM_MANUALS_DIR is set.
Related: OS#3385
Change-Id: I8a34871948425ea40f40dbb11a59806905e4bed1
Latest changes in osmo-gsm-tester require this import change.
Depends on: osmo-gsm-tester I520bd046cb09042b5567d967f951f050e4e02e85
Change-Id: I0f7f7d0353014b7ef8a0c5a7707c91b2613be79a