Commit Graph

857 Commits

Author SHA1 Message Date
Vadim Yanitskiy 9d7a3b2aac Check in GCC 4.8.2 based cross compiler for ARM EABI target
I used this one for building old OsmocomBB branches, which do not
compile with modern arm-none-eabi-{gcc,binutils,newlib} toolchain.

Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638
2021-04-07 16:42:46 +00:00
Harald Welte 6f47979bdd Add ttcn3-ns-test-fr container
... which requires some modifications to osmo-ns-master
regarding pipework / docker-entrypoint.sh

Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9
Related: SYS#5396
2021-03-31 10:17:14 +02:00
Harald Welte 90bf14ed06 Add ttcn3-ns-test-sns container
Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5
Related: OS#5396
2021-03-30 22:38:45 +02:00
Harald Welte 3862858434 Add ttcn3-ns-test container
Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b
Related: OS#5396
2021-03-30 20:32:52 +02:00
Harald Welte 3fc5b8af4e add osmo-ns-master container with osmo-ns-dummy binary
Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1
Related: OS#5396
2021-03-30 20:11:50 +02:00
Pau Espin 51493aa388 ogt: Update base image to debian buster
The OGT build setup and the physicial setup use now debian buster. Let's
update this container too to buster to avoid different versions of libs
during build and runtime (such as libasan).

Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34
2021-03-22 12:24:12 +01:00
Pau Espin c1f302c2e7 Add debian-buster-jenkins docker setup
It will be used by osmo-gsm-tester docker image right now, and at some
point in the future jenkins nodes will also migrate to it.

Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65
2021-03-19 07:16:12 +00:00
Vadim Yanitskiy b912c80cc2 ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging
Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f
2021-03-18 02:35:21 +01:00
Vadim Yanitskiy b3aaf7a3cf ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter
Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise.

Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291
2021-03-18 02:35:03 +01:00
Vadim Yanitskiy 76e2529e42 ttcn3-bts-test: use 'gsmtap-remote-host' parameter
Command line argument '-i' has been deprecated.

Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5
Related: I17676a21c4e0c9cbc88f2c5c53a39c6c6c473ca1
2021-03-18 02:34:11 +01:00
Harald Welte 43b1f4a901 fr: kill the frnet container before trying to 'rm' it
+ docker container rm jenkins-ttcn3-fr-test-109-frnet jenkins-ttcn3-fr-test-109-ttcn3-fr-test
jenkins-ttcn3-fr-test-109-ttcn3-fr-test
Error response from daemon: You cannot remove a running container 4f5ec7f412b2d37d00b2738b2bcddffada36efebfe7ce32ed196543ee436154e. Stop the container before attempting removal or force remove

Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c
2021-03-16 16:23:51 +00:00
Pau Espin d909f50176 ogt: Drop old arfcn leftovers from resources.conf
Those arfcn objects were never really used smartly and new versions of
OGT don't support it.

Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830
2021-03-16 15:52:59 +00:00
Vadim Yanitskiy a8d37628a0 ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs
Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6
2021-03-16 16:06:04 +01:00
Vadim Yanitskiy c91f6c4df5 ttcn3-fr-test: store execution logs for both containers
Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7
2021-03-16 15:45:42 +01:00
Vadim Yanitskiy 241547a6ba ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container
Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8
2021-03-16 11:10:08 +01:00
Vadim Yanitskiy c553d187c2 ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories
Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442
2021-03-14 21:08:06 +01:00
Harald Welte b7d6f7d019 debian-stretch-build: add missing respawn.sh
In I3ec86c8610b3b43d39ea8e3da444861d317ced4e the container-individual
respawn.sh has been replaced with a common one - but unfortuantely
missing to update the debian-stretch-build, which made (at least)
ttcn3-bts-test builds fail for two nights now.

Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3
2021-03-13 09:10:01 +00:00
Pau Espin f8d5d50029 ttcn3-pcu: Disable sending all DATA.ind on pcu -latest
Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1
Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78
Related: OS#5020
2021-03-12 11:51:35 +00:00
Vadim Yanitskiy ef0f49aa4b Share a single instance of Release.key between all images
This change employs the same approach as [1] for Release.key.

Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e
Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e
2021-03-10 18:47:03 +01:00
Vadim Yanitskiy 085656ac45 Make respawn.sh a common part of *-build/-obs images
Maintaining several versions of the same file in different folders
is a bad idea, because at some point their content gets out of sync.
This is exactly what happened to 'respawn.sh': sleep()ing was only
implemented in 'osmo-bts-master/respawn.sh', other versions of this
file would simply ignore '$SLEEP_BEFORE_RESPAWN'.

The easiest solution would be to have all common files in a single
directory, however Docker does not allow to ADD files from outside
of the build context.  In other words, all files must be in the
same directory as the Dockerfile itself.

Modify 'make/Makefile' in order to copy the contents of common
directory to the current build context ('pre-build' target) and
remove it after building ('post-build' target).

Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e
2021-03-10 18:46:29 +01:00
Vadim Yanitskiy 44fbe564bb make/Makefile: use git to get the project's root directory
Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d
2021-03-10 18:46:29 +01:00
Oliver Smith d5d20c7a9a debian-stretch-build-dist: use -obs-latest
Change debian-stretch-build-dist to be based on
debian-stretch-obs-latest instead of debian-stretch-build. The latter
installs the nightly OBS repository now (as that is what we need for the
TTCN-3 builds using debian-stretch-build), but debian-stretch-build-dist
needs to install packages from OBS latest.

Fixes jenkins failures:
  The following packages have unmet dependencies:
   libasn1c-dev : Depends: osmocom-latest but it is not going to be installed
   ...

Related: OS#5049
Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f
2021-03-10 13:25:51 +01:00
Oliver Smith 9a526e876f osmo-msc-latest: centos8: add libdbi-dbd-sqlite
The missing dependency is being added to osmo-msc master's
contrib/osmo-msc.spec.in file. Until the next release is done, which
contains the patch, install the library explicitly to fix:
  <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db';
                  Is the sqlite3 database driver for libdbi installed on this system?

Related: https://gerrit.osmocom.org/c/osmo-msc/+/23284
Change-Id: I27d4573de22a8e013623ec606e056d348102abd1
2021-03-10 10:54:33 +00:00
Vadim Yanitskiy 79b752fa32 */osmo-bsc.cfg: remove obsolete no-op parameters
Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96
2021-03-09 13:50:41 +01:00
Vadim Yanitskiy d02d4e036c fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy
In binary packages for Debian, osmo-bts-omldummy is (for some reason)
part of 'osmo-bts-virtual' package.  For CentOS this binary is
shipped properly in a separate package, so let's install it.

This change fixes ttcn3-bsc-test under CentOS failing with:

  /usr/local/bin/respawn.sh: line 9: osmo-bts-omldummy: command not found

Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124
2021-03-09 12:04:33 +01:00
Vadim Yanitskiy e1dcf9b7a2 */osmo-bts.cfg: remove obsolete 'uplink-power-target'
Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26
2021-03-09 11:42:38 +01:00
Vadim Yanitskiy 889d3619b3 osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency
Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d
2021-03-09 10:34:48 +00:00
Oliver Smith a9c315dad6 debian-stretch-jenkins: install osmo-trx depends
Add liblimesuite-dev and libuhd-dev, so we can successfully build
osmo-trx in docker in master-builds and gerrit-verifications.

Related: OS#5055
Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5
2021-03-09 11:16:49 +01:00
Pau Espin 2c846f60e6 Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest"
This reverts commit b70b3c1a80110329aa7c6a8be5a9e0ced511be13.t

The patch was merged too quickly before osmo-ttcn3-hacks.git one.
Revert temporarily to avoid all tests failing due to non-existant module
parameter.

Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf
2021-03-08 20:32:11 +01:00
Pau Espin b70b3c1a80 ttcn3-pcu: Disable sending all DATA.ind on pcu -latest
Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78
Related: OS#5020
Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92
2021-03-08 09:33:02 +00:00
Oliver Smith 31daedcd2b osmo-*-master: move common code to *-build
Move common code from osmo-*-master to debian-stretch-build and
centos8-build:
* add the OBS repository key (debian only)
* add the OBS repository with "nightly" feed (debian only, already done
  for centos8)
* install telnet
* invalidate the cache once the repository is updated

While at it, remove deprecated MAINTAINER lines.

This fixes the need to read both the repository index of debian-stretch
and centos8 and having to invalidate the cache if either of them changes
(instead of reading just the relevant index and invalidating the cache
only if the relevant one changes).

A similar change was done with osmo-*-latest in
I443d52eba416ea298cc5421e280ad2f4ca59283b.

Related: OS#5049
Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb
2021-03-04 14:45:51 +01:00
Oliver Smith 69b3ecb912 osmo-*-latest: support centos8
Add a new centos8-obs-latest container with shared code (just like
debian-stretch-obs-latest) and adjust the package install blocks in
osmo-*-latest.

Related: OS#5049
Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923
2021-03-04 14:42:32 +01:00
Oliver Smith effdb1a452 debian-stretch-obs-latest: new container
Move common code from osmo-*-latest to debian-stretch-obs-latest:
* add the OBS repository key
* add the OBS repository with "latest" feed
* install telnet
* invalidate the cache once the repository is updated

This is in preparation to make osmo-*-latest work with centos8,
preventing the following issues we would have without this refactoring:
* avoid need to read the repository index of both debian-stretch and
  centos8, and to invalidate the cache if either of them changes
  (instead of just the relevant one). This is currently a problem in
  osmo-*-master/Dockerfile, Id69f3eaf37f823bac0947366f27a25edd277a4cb
  will fix it there.
* no need to add boilerplate code to install the centos8 repository to
  each osmo-*-latest/Dockerfile

While at it, also remove deprecated MAINTAINER lines.

Related: OS#5049
Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated
Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b
2021-03-04 14:39:46 +01:00
Oliver Smith 46797c80ad osmo-msc-latest: implicit libdbd-sqlite3 install
Remove the explicit mention of libdbd-sqlite3, as it is in the depends
of osmo-msc now.

Related: OS#3771
Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348
2021-03-04 11:19:02 +01:00
Oliver Smith b2a0f11a49 osmo-ggsn-latest: add more kernel build depends
Add everything needed to run ttcn3-ggsn-test-kernel-* jobs.
osmo-ggsn-master needs less dependencies, as more get installed in the
base image debian-stretch-build.

Related: OS#3208
Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9
2021-03-04 10:55:40 +01:00
Harald Welte 2d831f1b50 Add osmo-gbproxy-latest container
Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992
2021-03-02 13:17:01 +01:00
Harald Welte 71156da68f add osmo-smlc-latest container
Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff
2021-03-02 11:17:04 +00:00
Oliver Smith 58c1c19946 README.md: describe OSMO_*_BRANCH
Copy description from wiki, so the README.md describes all environment
variables, and the wiki page can link to the README.md.

Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19
2021-03-01 09:39:34 +01:00
Oliver Smith 292e35c1d9 kernel-test: verify REMOTE_NAME and URL
If the checked out git repository already has a remote with the name
KERNEL_REMOTE_NAME, make sure that the KERNEL_URL matches the remote
URL.

Motivation for this change is osmo-ci
I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1, which will expose the
parameters in the jenkins job.

Related: OS#3208
Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399
2021-03-01 08:50:57 +01:00
Harald Welte c877821758 ttcn3-cbc-test: fix copy+paste error regarding osmo-stp.cfg
Change-Id: I1517238e997605cbcf265b97526694d17137f00e
2021-02-28 11:15:18 +01:00
Oliver Smith cb2a8326c1 kernel-test: don't try to use KVM if not available
Disable KVM if /dev/kvm is missing, as it is apparently the case on our
jenkins nodes. This makes the tests run a bit slower, but not much. Add
kernel_test_wait_for_vm to sleep until the VM is booted up (~5s instead
of ~1s without KVM), so the first test in the testsuite does not fail
when using KVM.

The variable is useful to test the non-KVM code path even if KVM is
available on the host.

Related: OS#3208
Change-Id: I1f337af1e2de6db05b22636bc31a535404235559
2021-02-26 16:18:26 +00:00
Pau Espin 5a31e0adc8 ttcn3-sip: Drop uneeded module param MNCC_Emulation.mp_mncc_version
Since -latest was updated to newer releases, this param is never set to
changed anymore, so there's no need to set it here explicitly.

Change-Id: Ia9d6b7f383d6532f8f2da381e80f98af82a98e74
Related: OS#5042
2021-02-26 13:36:06 +01:00
Pau Espin 06b256e337 ttcn3-msc: Drop uneeded module params
Since -latest was updated to newer releases, there's no need to change
the values of these params. Furthermore, they will be completely dropped soon.

Change-Id: I6121b435c5b984eab64d953e9d3f26eecc0e7bc5
Related: OS#5042
2021-02-26 13:35:03 +01:00
Pau Espin 6c696b2294 ttcn3-hlr: Drop uneeded module param HLR_Tests.mp_hlr_supports_dgsm
Since -latest was updated to newer releases, this param is never set to
false anymore, and it already defaults to true, so there's no need to
set it here explicitly. Furthermore, it will be completely dropped soon.

Change-Id: Icab36eba29ad4fadd07ec804ef713910b80ce706
2021-02-26 13:04:07 +01:00
Pau Espin 6ef96e4980 bts-test: Drop uneeded module param RSL_Emulation.mp_rslem_patch_ipa_cid
Since we updated -latest to new releases, this param is never set to
true anymore. Furtermore, it will be dropped soon completely.

Related: OS#5042
Depends: osmo-ttcn3-hacks.git Change-Id I39e9c1986ea682d54dcb22b31798ca91f1677949
Change-Id: I4bda577f1ed6964a2114df1aba366177998f0854
2021-02-26 13:02:02 +01:00
Pau Espin a0026cd724 ttcn3-bsc: Get rid of uneeded param BSC_Tests.mp_media_mgw_offer_ipv6
This param is true by default and there's no one setting it to false
anymore (and soon will be removed).

Related: OS#5042
Change-Id: I1780320c69ec4a9f086677fd4884dec674f8332e
2021-02-26 12:53:21 +01:00
Pau Espin bd79c36e29 Get rid of uneeded param StatsD_Checker.mp_enable_stats
This param is currently set to true by default and will be removed soon.

Related: OS#5042
Depends: osmo-ttcn3-hacks.git Change-Id I4e2049c109986906d3c985ca2282174b1abff581
Change-Id: I3c7e7dc985a339d884dc388b33bf8a6ec986c5b7
2021-02-26 12:45:20 +01:00
Oliver Smith 79e48fd3ae ttcn3-ggsn-test: add kernel test
Make it possible to run ttcn3-ggsn-test against osmo-ggsn with the GTP
kernel module. This feature is enabled by environment variables
explained in ttcn3-ggsn-test/jenkins.sh, and can either use the
pre-built kernel from Debian, or build a kernel from source.

The kernel runs inside QEMU inside the usual osmo-ggsn-master docker
image.

Thanks to Pau for providing the kernel config and kernel-test scripts
that this patch is based on! I ended up modifying them quite a bit to
fit the docker use case, and to build the initrd (so we can use the
stock debian kernel).

Related: OS#3208
Change-Id: I54e752048eed2a170a1cf4e0fd410de255b9de5d
2021-02-26 09:32:39 +01:00
Oliver Smith fd6f09e0c2 osmo-ggsn-master: add configure --enable-gtp-linux
Related: OS#3208
Change-Id: I8cf3de4775aa82bfdad1bf2c40aab3b50e910db3
2021-02-26 09:32:39 +01:00
Oliver Smith cf43f686ac jenkins-common: put fix_perms() in clean_up_common
Don't call fix_perms from collect_logs anymore, it looks like it was
only added there to avoid adding it at the end of each jenkins.sh. Now
that we have clean_up_common, put it there.

Related: OS#3208
Change-Id: I6e7e5b35198f420e130b1282eb948b96ccd6c8e0
2021-02-26 09:32:39 +01:00