Commit Graph

868 Commits

Author SHA1 Message Date
Pau Espin bf90917e9f contrib: Add script to build osmo-bts and osmo-pcu for oc2g
Change-Id: I7cc8937fb3e6c5d74b56cb049afb293b0b7ed25e
2019-02-21 19:26:13 +01:00
Holger Hans Peter Freyther d3d178fc41 jenkins: Fix the test for journalctl if it isn't present
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
2019-02-21 13:19:16 +00:00
Holger Hans Peter Freyther 16e39e877d jenkins: Only run journalctl if it is available on the machine
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
2019-02-21 10:13:49 +00:00
Holger Hans Peter Freyther ae0dae821c modem: Do not connect to the systembus until a modem is in use
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-20 20:38:46 +00:00
Holger Hans Peter Freyther c1d705f28e resources: Introduce a separate resource file for the virtual tests
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
2019-02-20 20:38:21 +00:00
Holger Hans Peter Freyther 3c2dd3e13b doc: Update list of dependencies and add pysispm one
Change-Id: I05cc63bfd627bfec83b50fe89fe8004d130384e6
2019-02-19 09:34:09 +00:00
Pau Espin 4d7f7709d5 modem: Log once dbus returns call was answered
Change-Id: Ia277b2eecdbf9969d77a688638837f9d9e1a44b6
2019-02-13 19:30:38 +01:00
Pau Espin 32e9d8c26e modem: print call ID during log of call state
Change-Id: I33d0153b3e89aa1924129b8068ef068c08059958
2019-02-13 17:40:31 +01:00
Holger Hans Peter Freyther 82feeff1c5 mobile: Switch from removed cli option to vty port
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
2018-12-30 12:31:29 +00:00
Holger Hans Peter Freyther 4db8bb68c1 osmo-bts: Package the osmo-bts-virtual binary for the ms_driver
Change-Id: Id6db5d0bea5262075c3e06fbb0ccfef86afa85e4
2018-12-15 14:37:40 +00:00
Holger Hans Peter Freyther d2db10d80e ms_driver: Add a virtual bts and make use of it
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
2018-12-13 10:17:02 +00:00
Oliver Smith 52e5797b3d contrib/jenkins*: build and publish manuals
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
2018-12-10 12:57:04 +01:00
Pau Espin ffe1b08c46 test: cs_paging_gprs_active: Make sure gprs data (TBF) is ongoing
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
2018-12-05 18:03:53 +01:00
Holger Hans Peter Freyther d51c2ea58d md_driver: Store the virtphy unix sockets in the temp directory
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
2018-12-04 09:29:14 +00:00
Holger Hans Peter Freyther 6bf882260a ms_driver: Do the existance check with the path
Change the existance test to use the full path and not just the
binary name.

Change-Id: Ibe28514df03efb7c302ac30411761a8d1a6dcf5d
2018-12-04 09:29:14 +00:00
Holger Hans Peter Freyther 51ae2b5f5c Fix and use the right member variable
Change-Id: Ib5d50322ecd30c7724eef8452d22845450e9c633
2018-12-02 16:09:37 +00:00
Pau Espin 8028463e57 Add and use compatible scenario when testing IPA dynts with nanoBTS
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
2018-11-30 11:30:33 +00:00
Pau Espin 14e3e50b6e nanobts: Use -G parameter of ipaccess-config to avoid need to restart nanoBTS
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
2018-11-29 17:14:44 +01:00
Oliver Smith 5ed6f6ce11 doc/manuals: integrate into this repository
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
2018-11-29 10:42:34 +01:00
Oliver Smith 41af859af6 build manuals moved here from osmo-gsm-manuals.git
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
2018-11-28 17:15:55 +01:00
Neels Hofmeyr 09b0b24093 Merge history from osmo-gsm-manuals.git 2018-11-28 17:15:42 +01:00
Pau Espin 4c47659fb5 OsmoGSMTester: Update import test->testenv
Latest changes in osmo-gsm-tester require this import change.

Depends on: osmo-gsm-tester I520bd046cb09042b5567d967f951f050e4e02e85

Change-Id: I0f7f7d0353014b7ef8a0c5a7707c91b2613be79a
2018-11-28 17:15:34 +01:00
Pau Espin e617d2a844 OsmoGsmTester: Put several permission categories under cat User Permission
Change-Id: Ie9f846af0311d768c5dd6f9da572c8f6482f4d39
2018-11-28 17:15:34 +01:00
Pau Espin 21f2b8f129 OsmoGSMTester: Add state_dir section
Change-Id: Ie12e3933747a4e698de59ff9ac57281e9f261d3d
2018-11-28 17:15:34 +01:00
Pau Espin dfdb7033c3 OsmoGSMTester: Add suites_dir section
Change-Id: Ie25fd742f484981f5e5b25397c2637eda38f0424
2018-11-28 17:15:34 +01:00
Pau Espin 6131f35c80 OsmoGSMTester: Add scenarios_dir section
It explains how scenario combination works

Change-Id: I3f89bd3d71400da14cda7ea8bb9c190fe80a539f
2018-11-28 17:15:34 +01:00
Pau Espin 0b512ba1b9 OsmoGSMTester: Improve Trial section content
Change-Id: I8d74b02166ea33ad9ab7f987894f4f02064fbebc
2018-11-28 17:15:34 +01:00
Pau Espin 6fa6199237 OsmoGSMTester: Update defaults.conf example
Change-Id: If12df88b4088ecec6d6cb20c83a693c019b8af4a
2018-11-28 17:15:34 +01:00
Pau Espin 122306cf57 OsmoGSMTester: Remove resolved TODO
Change-Id: Ie0f18293e566a690d2434d08cbaaf2fdf71d88e4
2018-11-28 17:15:34 +01:00
Pau Espin 264829e136 OsmoGSMTester: Update resources cfg documentation
Change-Id: I6ec9fc5468ce6ead52d9c8b35d8991cac4bfa97e
2018-11-28 17:15:34 +01:00
Pau Espin 8ad5e6abbc OsmoGSMTester: Document how to setup main unit to set CAP_NET_RAW as
non-root

Change-Id: I011beaa929efcabe9a9dc4f9c7222ba36fa2aae4
2018-11-28 17:15:34 +01:00
Pau Espin 68ac2401d4 OsmoGSMTester: Move TODO comment to a redmine task
Following task has been created: OS#2612

Change-Id: I79837e49f3e6af4254e9f0c7f53037eae66cda6d
2018-11-28 17:15:34 +01:00
Pau Espin f5c83dae62 OsmoGSMTester: Installation: change some confusing terminology
It's difficult to understand when it referrs to jenkins job in general
and when it talks about specific jenkins jobs that builds binaries required for
osmo-gsm-tester and the ones which run osmo-gsm-tester.

As a result, it's difficult to understand which sections apply to each
host in case more than one host is used.

Change-Id: I5c882e77b469629028b8d773053783e18f3d1737
2018-11-28 17:15:34 +01:00
Pau Espin 1ba1f5aa7b OsmoGSMTester: Add deps required for osmo-bts-octphy support
Change-Id: I384ec8cd55cfaa68ee1f461de99ceac78c5d8414
2018-11-28 17:15:34 +01:00
Pau Espin accd74fb0a OSmoGsmTester: Specify group in Main unit intro
Change-Id: I132bf7681a1a435c161c4048e41c28dc75c1fa28
2018-11-28 17:15:34 +01:00
Pau Espin 627aea5142 OsmoGSMTester: Explain patchelf is used sometimes to modify RPATH
Change-Id: I7bb811bc984c8d576984b038b391cf8130cc465e
2018-11-28 17:15:34 +01:00
Pau Espin 3ed0391ab3 OsmoGSMTester: Update suite.conf example
This is the one we are usig nowadays in suite.conf, which explicitly
asks to be run with modems supporting sms features.

Change-Id: If5dbc3b4689b282db6fae4668e2838be59e88da8
2018-11-28 17:15:34 +01:00
Pau Espin c9cbbc6f38 OsmoGSMTester: Use a more up-to-date resources.conf example
It showcases new features such as osmo-trx support, cipher support,
modem features support, etc.

Change-Id: I66bbcd028f03290797c2c467271d0f0982698b47
2018-11-28 17:15:34 +01:00
Pau Espin dc53c9c466 OsmoGSMTester: Improve Resource Resolution section content
Change-Id: Ice37093dc9f8e03a2a9f5e3f7df79d1b589b6991
2018-11-28 17:15:34 +01:00
Pau Espin c8cd1fa7c5 OsmoGSMTester: Update sample test script with an AoIP example
Change-Id: I7978c7e96c8f1d43837271c94dd64893649974e0
2018-11-28 17:15:34 +01:00
Pau Espin cb474072ca OsmoGSMTester: Update trial graph with current data
The osmo-bts-trx tgz doesn't exist anymore and it does not contain
osmo-trx, which comes in its own tgz.

Change-Id: Id803eca3791137b04bc24d195119d5c511fcfc49
2018-11-28 17:15:34 +01:00
Pau Espin 48d2564f2c OsmoGSMTester: Improve setup graph
* Add sysmocell5000
* Remove 1 modem, showing 2 of them is enough
* Split osmo-bts-trx from osmo-trx node as sysmocell500 doesn't use the
later.
* Update OsmoNITB node to show we also support split openbsc.git
components.

Change-Id: I893beb114d47edd3f67183dd9ea5acc19462496c
2018-11-28 17:15:33 +01:00
Neels Hofmeyr 607229a775 refactor Makefile build rules, don't use the FORCE
The initial goal was to make sure we don't have overall FORCE rules causing
unnecessary rebuilds -- annoying while writing documentation. As I looked
through possible dependencies, I finally understood what's going on here.

Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In
each, describe in a top comment how to use it, and also unify how they are
used:

- Rename Makefile.inc to Makefile.docbook.inc and refactor
- Add Makefile.vty-reference.inc
- Add Makefile.common.inc

Make sure that we accurately pick up all dependencies.

Drop use of the macro called 'command', that silenced the actual command lines
invoked and replaced them with short strings: it obscures what is actually
going on and makes the Makefiles hard to read and understand.

Each manual's makefile is greatly reduced to few definitions and a Makefile
include, e.g. one for asciidoc, one for VTY reference.

Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link
from OsmoNITB. It applies only to OsmoBSC and OsmoNITB.

Add a script that combines a VTY reference file with *all* additions files
found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc.

Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
2018-11-28 17:15:33 +01:00
Neels Hofmeyr 7468953045 OsmoGSMTester: document logrotate maxsize
Change-Id: Ib3e7143eb5d90eea4860a0a334da25efe926a231
2018-11-28 17:15:33 +01:00
Pau Espin 018e1048b4 OsmoGsmTester: Move coredump section and add reference to kernel.core_pattern sysctl
This section is moved further below in order to have it after section
which explains how to create user jenkins and osmo-gsm-tester group, as
we need this group already created anyway for the config to work
correctly.

Change-Id: I5bdde0a9960f9806f081e9a876b8b66db9e7f37c
2018-11-28 17:15:33 +01:00
Max be69b6b183 OsmoGSMTester: use proper systemd service names
* use osmo-bts-sysmo for sysmoBTS systemd service name which is available
  since 114293a414bd5b7c86622ec8c293c4034c80d243
* use osmo-pcu for OsmoPCU systemd service name which is available since
  241f5bcb00f9c6fee4200a3aea9aa497bf0d3eee

Change-Id: Ie017946b9099460ac6758ff84ec7a10df13390a1
2018-11-28 17:15:33 +01:00
Neels Hofmeyr 3f596ed018 osmo-gsm-tester: jenkins fixes: install JDK, SSH instructions
Add instructions to install Java JDK for jenkins build slave.
Minor fixes to SSH key instructions.

Change-Id: Ib2c1adc2ddee3be016e4d253451593b19dbe133a
2018-11-28 17:15:33 +01:00
Neels Hofmeyr 8d8a136aec OsmoGSMTester: update run-job post-build artifact archiving rule
Change-Id: I73c1a6793369604cbe494c83b595a4130a44adc9
2018-11-28 17:15:33 +01:00
Pau Espin b825f790d7 OsmoGsmTester: install.adoc: Remove trailing whitespace
My editor is removing it automatically.

Change-Id: I25c8d179a21c66ab3424204e12215f8e1ddd8e54
2018-11-28 17:15:33 +01:00
Pau Espin 8d72cd68c1 OsmoGsmTester: Add missing dependency python-smpplib
Change-Id: I9a6ad33d41c8a90317d079ff0d1f9640c48a2353
2018-11-28 17:15:33 +01:00