Commit Graph

86 Commits

Author SHA1 Message Date
Andre Puschmann 6e081aa1dc amarisoft_enb: add NR support
this patch adds the ability to configure NR cells with
Amarisoft eNB. It adds the new DRB-NR template and updates
the normal enb.cfg template to allow using it as LTE only
or with NR cells (5G NSA).

Change-Id: Ia27bbc6db5920ce14bacabe8043601aa2adaa5fe
2021-05-05 14:26:56 +02:00
Pau Espin 0696c60812 Initial Open5GS support
Change-Id: Iff8b88dc22d8f156572839abb48b0c1377c55e33
2021-03-30 14:17:47 +02:00
Pau Espin 600c799ee0 resource: Support waiting for reserved resources until available
Before this patch, almost everything was in place to support concurrent
osmo-gsm-tester instances sharing a common state dir. However, during
resource reservation, if the reservation couldn't be done due to too
many resources being in use, osmo-gsm-tester would fail and skip the
test suite.
With this patch, OGT will wait until some reserved resources are
released and then try requesting the reservation again.

Change-Id: I938602ee890712fda82fd3f812d8edb1bcd05e08
2020-11-11 11:38:35 +00:00
Pau Espin cedee0a00b doc/manuals: Fix callout definition in code block
Currently osmo-gsm-tester master jenkins build fails while building
manual due to errors like:
"asciidoc: WARNING: test_api.adoc: line 42: no callouts refer to list
item 1"

According to asciidoc documentation in [1], code examples can be
annotated with callouts, but callouts need to be put inside source code
comments.

[1] http://www.methods.co.nz/asciidoc/chunked/ch20.html

Change-Id: I2213874592342b12adf7440b25edc706abfc78ba
2020-06-16 10:04:15 +00:00
Pau Espin c3cf682afd Implement per-test timeout guard
Timeout value can be specified by test in suite.conf:

config:
  suite:
    <suite_name>:
      <test_name>:
        timeout: 2 # 2 seconds timeout

Change-Id: I522f51f77f8be64ebfdb5d5e07ba92baf82d7706
2020-06-15 10:53:46 +02:00
Pau Espin 8cfb5d020f Remove all references to defaults: timeout: from suite.conf
This feature is not really implemented and maybe never was. In any case,
it makes sense to have that working per-test so we can specify different
values per test in case it's needed.

Change-Id: I3c1b95c10e974da87ec9abd25578d8bcc0bc55a3
2020-06-12 16:12:43 +02:00
Pau Espin 3a81a7e4dc tests: Replace is_connected() with is_registered()
API was renamed and old name deprecated, let's use it everywhere.

Change-Id: Ic91dddcfd1a5a17c35d15a8a14628b3923229523
2020-06-10 17:57:37 +02:00
Pau Espin ffa325ede0 doc/manual: Fix links to nonexistent sections
Change-Id: I8742fa9c41d3ab95d41e299179df19c3d1e0a65b
2020-06-10 17:51:03 +02:00
Pau Espin ab78df2902 doc: manual: Write initial Test API section
Change-Id: I86bc9a8a0b5ff50e72c21a4bd8a857830bd84c4c
2020-06-04 20:03:07 +02:00
Pau Espin 5f826be20a ms_{srs,amarisoft}: Reuse run_node to hold run info
Change-Id: Ifdea48fed0bfc152131c53b87c34b4514c632917
2020-05-28 13:13:05 +00:00
Pau Espin 1abff4e260 enb: Reuse run_node to hold run info
Change-Id: If396940f154813d42ff3d3364c44b8979179127f
2020-05-28 13:13:05 +00:00
Pau Espin 6e0b6fb074 Support identifying different tgz files based on run_label attribute
tgz files in trials can be categorized in subdirectories, allowing to
select different bianry files at runtime based on the target run node
which is going to run them. This way for instance one can have a binary
linked against libs for eg. CentOS under run_label "centos/" or an ARM
target under "arm", and then use "run_label: arm" on the resource using
it.

Change-Id: Iaf2e97da3aff693395f44f0e93b184d4846cf6da
2020-05-28 13:13:05 +00:00
Pau Espin d84a8387be 4g: Pass max bitrate to iperf3
Otherwise bitrate 0 (unlimited) does weird stuff, like iperf3 hanging
forever in DL.

Change-Id: I631243cce132923d9024f8161cf96161c51cdae5
2020-05-25 14:23:39 +02:00
Pau Espin f4ab97fb4a iperf3: Support runing test with bidirectional data
Change-Id: Ia6f12c65fd3ea26d412997741cb8685a9646af43
2020-05-25 14:11:07 +02:00
Pau Espin 66ef9457cb config: suites_dir and scenarios_dir are now a list of paths
This allows inheriting suites or scenarios from eg. sysmocom/ dir, while
still allowing to apply new suites and scenarios on top.

Change-Id: Icecdae32d400a6b6da2ebf167c1c795f7a74ae96
2020-05-25 13:33:50 +02:00
Pau Espin 3a0dea682e iperf3: Support using configuring UDP protocol
Change-Id: I0b3545847b01ae3d029881f243fea276f0fa39de
2020-05-22 15:20:27 +02:00
Pau Espin e972c9c524 config: Allow setting trial directory in main.conf
Change-Id: Ia4141001d084f690897dbdff5eae6c69ff2e521c
2020-05-12 16:27:33 +02:00
Pau Espin fceb8e14de doc/manuals: Swap order of schemas and config files
First explain the different config files and directories, later describe
the schemas used in each of them.

Change-Id: Iaf31808a655a5c77a1dfaa155e86d42585130820
2020-05-12 14:07:36 +02:00
Pau Espin 6c6c0e8599 Cmdline arg -c sets main configuration file (old paths.conf) instead of dir containing it
It has been notified that current configuration system is difficult to
understand and to use, so it has been envisioned to refactor it a bit.
The idea is that the user passes a -c path/to/main.conf file, which in
turn contains whatever osmo-gsm-tester main settings supports (basically
what old paths.conf used to be, plus some files harcoded to the same -c
directory are now configurable through the main configuration file).

Change-Id: Ieca65b71b543c44cfcec8e83efd0fe053c432e55
2020-05-12 14:07:29 +02:00
Pau Espin 06c82aee5c Deprecate envvar OSMO_GSM_TESTER_CONF and remove other ones
Environment variable OSMO_GSM_TESTER_CONF is marked as deprecated and an
error is logged each time it's used. Same feature is available through
"-c" command line parameters, so having the envvar only makes things
more complex for no good reason. It cannot yet be completely dropped
since some environemnt still make use of it. Give some time to users to
adapt their setups.
Other environment variables setting some config apths can be dropped
since they are not being really used in any setup.

Change-Id: I7eb69f870d0dcb5906d45ae067d6bed1aabf5862
2020-05-07 19:09:23 +02:00
Pau Espin 306373027a Allow suites to dynamically register schemas so tests can receive parameters
Change-Id: Idbe99a35993d193cd97059feb980e61ff14c67ad
2020-05-07 15:06:01 +00:00
Pau Espin 17dd270cf4 Rework README file
Drop old one in doc/ which contains lots of outadated stuff already
placed in the User Manual.
Write a new markdown README in the root directory with pointers to
places in the repo and the issue tracket, ansible setup, etc.

Change-Id: I9febe56223eaeadc9d31291dd0110a11470e3ab1
2020-05-05 19:25:33 +02:00
Pau Espin 0baa5c7269 doc: install.adoc: Correctly split optional dependencies
Change-Id: Id8b5dcd15fd86c670915b928112699d831e6e7b0
2020-05-05 19:08:13 +02:00
Pau Espin 06376b779a doc: Drop redundant app-name in install section
Change-Id: I6ec3c42efd3eb958f832ff9a797ddaa3dae4a99a
2020-05-05 18:39:44 +02:00
Pau Espin 40c7bc7765 tests: Replace 'suite' with 'tenv'
Change-Id: I777ec59ffd83b861ddc09e85e52d7a8896264b8c
2020-05-05 13:56:01 +02:00
Pau Espin f9d92f78e6 Introduce doc/examples/ directory
It contains simple usual setups to get started with osmo-gsm-tester,
such as creating a 4G network using srsLTE or a 2G network using the
osmocom stack (+ ofono modems).

Change-Id: I55d5b1152da201799af21a77ef6c562f97bd94fc
2020-04-10 19:00:14 +02:00
Pau Espin 6b8f5ae3d2 srs/amarisoft{ue,enb}: Fix b200 specific rf_dev_args
Commit 12ae6d79a5 switched the rf_dev_type
to be in lowercase but forgot to change these conditions.

Change-Id: I91d3877381b4e6343dc4aa0465e699341ed6648d
2020-04-07 18:51:59 +02:00
Pau Espin 69488f6d8a Move suites/ dir inside example/
example/paths.conf and documentation are updated accordingly.

Test suites should have been moved a long time ago, since the they are
user or setup-specific based on what needs to be tested.

Change-Id: I154b19979b545deba8b232b60172903f63fd9e28
2020-04-07 16:12:47 +00: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 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 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
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
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