Try multiple subnet numbers until successfully creating a network. This
way we can run the same ttcn3 testsuite multiple times in parallel
without conflicts (e.g. once against latest, once against nightly). Also
we don't need to make sure each new testsuite has a unique subnet
I've considered also adjusting network_bridge_create, but that gets used
exclusively by osmo-ran/jenkins.sh, a script which we don't actually run
in jenkins. It seems that in this script it makes more sense to not get
a random subnet number.
Use the SUBNET variable instead of hardcoding it in some places. Split
commands across multiple lines while at it to improve readability.
Other remotes are mirrors of gerrit one, which means there's some delay
between pushing some ref to the gerrit remote and having them available
in the mirrors.
Hence, it becomes annoying while developing and new stuff to test is
pushed. Let's simply use gerrit since it's the master remote.
Allocating a pseudo-TTY (-t, --tty) fails when 'run' is executed
inside of a Jenkins or cron script. This change fixes
ttcn3-bts-test, which invokes 'run' to fetch the config files.
So far we were executing all our TTCN-3 tests from a container
image with Debian stretch (9) plus a custom more recent eclipse-titan
package from the osmocom feed.
Let's update the container base OS from stretch (9) to bullseye (11)
while using the same packaged eclipse-titan version (8.0.0) for running
the tests. So this should be a low-risk change, as titan runtime
I've executed all test suites locally and couldn't see any regressions.
Write a line like 'Misc_Helpers.mp_osmo_repo := "nightly"' into the
TTCN-3 config file (e.g. BSC_Tests.cfg), before starting the testsuite.
This allows executing different code paths in the tests based on the
Since current master, osmo-pcu and osmo-bsc support Address Neighbor
Resolution using new PCUIF over IPA multiplex, deprecating the old CTRL
interface used until now.
Since the old CTRL interface is not yet removed in order to avoid
breakage of old deployments (only marked as
deprecated and not used by default), let's keep support to run the
existing tests with the old interface to keep them being tested in
latest release, while instruction both osmo-pcu and TTCN3 PCU_Tests to
use the new interface in master.
Once we do a new osmo-pcu release, we can drop support for the old
interface in tests, and drop it completely from osmo-pcu over the
following next release.
Depends: osmo-ttcn3-hacks.git Change-Id I05f1aabc64fc5bc4740b0d8afd8990b485eacd50
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
This param is currently set to true by default and will be removed soon.
Depends: osmo-ttcn3-hacks.git Change-Id I4e2049c109986906d3c985ca2282174b1abff581
Abort the script and trigger the clean up script, whenever any of the
commands below to prepare the testsuite are failing. This saves time
with figuring out why suddenly all or most tests are failing, and avoids
running the entire testsuite on jenkins if it's obviously not going to
Add set_clean_up_trap() in jenkins-common.sh and run it at the beginning
of the jenkins.sh files. Move the common clean up code from the end of
every jenkins.sh file into clean_up_common(), which gets called by the
trap. Add a custom clean_up() function to those jenkins.sh files that
need additional clean up.
Replace explicit container stop commands (for containers attached to the
docker network) with one call to network_clean() in clean_up_common(). It
kills all containers attached to the docker network.
The motivation for this change is the upcoming optional build of initrd
and kernel during ttcn3-ggsn-test/jenkins.sh. After building these, a
short smoke test will be performed to make sure we can boot the kernel
and initrd, before continuing to run the entire testsuite against it. If
building or the smoke test fails, we must do a proper clean up of the
network and fix permissions.
Allow jenkins to fetch the image from our private docker registry.
Outside of jenkins, the image is built locally just like before.
Move the git fetch/checkout code and make call to build the testsuite,
to debian-stretch-titan/ttcn3-docker-prepare.sh. In the next patch, I
will extend the script to update deps right before building too (e.g.
because OSMO_TTCN3_BRANCH changed).
Clone the osmo-ttcn3-hacks and all dependency repositories less often by
moving related commands to the shared debian-stretch-titan image.
Remove the 'git checkout -f -B master origin/master' line, because the
master branch is checked out by default.
While at it, move the shared "git config" commands too, and move them
before cloning the repositories, so they don't run again whenever the
deps change (logic to invalidate the cache if deps change will be added
in the next patch).
Remove leftover from old TTCN-3 build scripts, before refactoring ttcn3
Dockerfiles. This line has already been removed in 357ec806 from 2017 for
In osmo-ttcn3-hacks.git, this is only referenced in the obsolete
bin/install.script (looks like we could remove that, together with the
rest of the bin dir?).
Starting from build #245  all test cases fail due to DTE:
RAW_NS.ttcnpp:62 Dynamic test case error:
Text encoder: Encoding an unbound integer value.
This happens because fields 'data_weight' and 'signalling_weight'
are both unbound for two additional NS providers. Fix this.
In upstream I9798e639b4bc8658482945970775b012b5840779 we introduce
two additional fields per NSVC (data_weight, signalling_weight). Make
sure those are specified everywhere.
Requires: osmo-ttcn3-hacks.git I9798e639b4bc8658482945970775b012b5840779
With the change to NS_Provider the configruation has to be extended to also include
the other nsvcs.
osmo-ttcn3-hacks: c316572db111 ("RAW_NS: rework NS connection to use NS_Provider")
In osmo-ttcn3-hacks.git Change-Id If1220852785853f8a5d8de183d5053ddd6ccb958
we introduce support for multiple NS-VC inside a NS-VCG. This modifies
the configuration structures, and we need to adjust all config files
For more details, see Ie87820537d6d616da4fd4bbf73eab06e28fda5e1.
In Change-Id I6904520d8c2f546327029777d68b1907611a8cf5 of
osmo-ttcn3-hacks, we change the structure of NSConfiguration. Let's
adjust the configs accordingly.
Depends: osmo-ttcn3-hacks I6904520d8c2f546327029777d68b1907611a8cf5
In osmo-ttcn3-hacks Change-Id I0b4fda96accef401ffc009010f9f5621583fd6dd
we introduce the address_family member; let's make sure all configs use
it as expected.
We previously only allocated IPv4 sub-nets to the network segments
created with 'docker network'. Let's fix that by assigning both
IPv4 and IPv6 address ranges to each docker network.
Don't list debian-stretch-build and debian-stretch-titan as dependencies
anymore, now that docker_images_require finds them automatically.
Allow to pass options to each "docker run" line in the various
jenkins.sh scripts. I'm using this to run the testsuites and Osmocom
components in docker with the same configurations as jenkins, but with
Osmocom and testsuite binaries built outside and mounted into the
DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro"
This allows very short test cycles without a second set of configs. The
full script that makes use of this feature is in osmo-dev.git,
NS tests have been splitted recently into their own module. Make sure we
call tests from the new module.
Depends: osmo-ttcn3-hacks.git If680d1bd7dbfe98829f330c33705e0f13bedf3c7