Keep it using the older version in MNCC_Emulation for older versions of
osmo-sip-connector (last tagged released), since those doesn't support
MNCC7 yet.
Change-Id: I5dbacdd4bd8110b7f6cf6bdb561af420b65c035f
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.
Related: OS#4700
Change-Id: I8802208fddcce1ffa57e5626575d23d02b320d99
Don't list debian-stretch-build and debian-stretch-titan as dependencies
anymore, now that docker_images_require finds them automatically.
Related: OS#4564
Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f
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
containers:
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,
ttcn3/ttcn3.sh.
Change-Id: I8d1f78aee926f8f6ec0b704e16639bc83f525816
osmo-sip-connector master and the ttcn3 tests have moved to protocol version 6.
While the extension is gracefully handled by the ttcn templates to make do with
both protocol versions, the actual protocol version number sent to
osmo-sip-connector breaks the tests if it doesn't match. So that master can
still run v6 yet also pass 'latest', configure v5 when the version is not
'master'.
When 'latest' also moves to v6, we of course can revert this again.
Related: Iaca9ed6611fc5ca8ca749bbbefc31f54bea5e925 (osmo-sip-connector)
Related: I39d55432776926a385e1b85b21bcdea8180a8946 (osmo-ttcn3-hacks)
Change-Id: I2174e90bdea32f06cd3e8298696b93027e7906bc
Configure each osmo-* program to send GSMTAP log output to the IP of the
docker container, which runs the testsuite (and therefore runs tcpdump).
Related: https://lists.osmocom.org/pipermail/openbsc/2019-June/012946.html
Change-Id: I99e74f6ffb5b7d566cec35995bf067df414968d8
Replace 'git checkout -f -B $BRANCH origin/$BRANCH && \' in all
Dockerfiles that accept branch variables ($OSMO_TTCN3_BRANCH,
$OSMO_MGW_BRANCH, ...) with the following:
git checkout $BRANCH && \
(git symbolic-ref -q HEAD && git reset --hard origin/$BRANCH || exit 1); \
This allows using branch names and commit hashes in the $BRANCH
variables. Using commits is needed for the bisect script added in [1].
The second line ("(git symbolic...") checks if we are in detached HEAD
state after the checkout, and if we are not, pulls in all new commits
from origin/$BRANCH. Note that it ends in ';' instead of '&&', because
the command in the next line should be executed even if
"git symbolic-ref" does not exit with 0 (detached HEAD state).
Here is an example, to illustrate that the new command does the right
thing. Clone a repository and be 50 commits behind origin/master:
$ git clone "https://git.osmocom.org/osmo-mgw"
$ cd osmo-mgw
$ git reset --hard origin/master~50
With BRANCH="master":
$ git checkout master && \
(git symbolic-ref -q HEAD && git reset --hard origin/master || exit 1); \
echo "done"
Already on 'master'
...
done
$ git status
Your branch is up-to-date with 'origin/master'.
With BRANCH="85978d":
$ git checkout 85978d && \
(git symbolic-ref -q HEAD && git reset --hard origin/85978d || exit 1); \
echo "done"
Note: checking out '85978d'.
...
done
$ git status
HEAD detached at 85978dad
Related previous changes:
* [2] made it work for commit hashes, but broke using branch names other
than master, and pulling in new commits from master
* [3] made branches other than master work again, but did not fix
pulling in new commits from master
* [4] reverted [3] and the git checkout related part from [2]
[1] Change-Id: I11f7e61a9b30d58a0fdfcaf77dde447806bf661f
[2] Change-Id: If3bc5fae07cf63c4fef68306be4c4328660bc869
[3] Change-Id: I2ff745c8d19b777d876170d5717c082ceb68a1f3
[4] Change-Id: Ie6da0f9ea96f11407e38545a6b3cf22ef9cadc25
Related: OS#4015
Change-Id: I4004980baf0b7d6096702b6f3067ccbdb369a28c
Unfortuately this commit will check out *local* master (i.e. the
previous checkout) rather than the origin/master as it's supposed to
be. This means that ever since merging this patch, our ttcn3 tests
were running some "undefined" stale versions and not current master.
This reverts commit 26565bb729.
Change-Id: Ie6da0f9ea96f11407e38545a6b3cf22ef9cadc25
Replace the following statements:
a) "git checkout -f -B $BRANCH origin/$BRANCH"
b) "git checkout -f -B $BRANCH $BRANCH"
with:
c) "git checkout -f $BRANCH"
Regarding a), we don't need to specify 'origin/' for each branch, since
we are cloning the repositories in the same Dockerfile, and therefore we
know for sure that there is only one remote and branch names won't be
ambiguous. Removing the 'origin/' allows to put commit hashes into the
branch variables (like done in the new bisect script [1]).
Version b) does not work with branch names:
$ git checkout -f -B osmith/check-imei-before-lu osmith/check-imei-before-lu
fatal: Cannot update paths and switch to branch 'osmith/check-imei-before-lu' at the same time.
Did you intend to checkout 'osmith/check-imei-before-lu' which can not be resolved as commit?
New version c) works with both commits and branches, and it is shorter.
[1] Change-Id: I11f7e61a9b30d58a0fdfcaf77dde447806bf661f
Change-Id: I2ff745c8d19b777d876170d5717c082ceb68a1f3
This is quite useful when looking at jenkins logs to know which exact
version was built at the time.
Change-Id: Id52c382b454e2beecf46820752aeff15b2c1a0ae
osmo-sip-connector does not have a -M argument, it was probably
confused with osmo-msc's -M, --mncc-sock-path argument.
osmo-sip-connector printed out the following when started with -M, but
otherwise functioned normally. Because it was started with Docker in
background, the message did not get written to the build log.
osmo-sip-connector: invalid option -- 'M'
Change-Id: Iee983a8aafe8cade67b76927721fc26e5af966d7
Remove hardcoded /usr/local/bin/ paths from jenkins.sh. This caused the
*-latest tests to fail, as they have the Osmocom binaries in /usr/bin
instead of /usr/local/bin.
Related: OS#3767
Change-Id: I9d1427e66028ffd15fed211b2dab5adc37718666
Default value "master" of the IMAGE_SUFFIX environment variable can be
changed to "latest" to test the latest stable builds instead of the
nightly ones. Use docker_images_require() to make sure that the required
images are existing and up-to-date before running the tests.
Related: OS#3268
Change-Id: Idbb708ab16cb71bab5069127945b63388222369e
Instead of hardcoding laforge's username in all FROM statements in the
Dockerfiles, make use of the USER variable (as passed through by the
"make/Makefile" with "docker build --build-arg USER=..."). Thanks to
fixeria for proposing this fix!
This requires running docker-ce, old versions of docker (such as the
one in the official repositories of the latest Fedora) don't support
variables in the FROM line. But docker-ce can be installed after
adding docker's 3rd party repositories.
Closes: OS#3457
Change-Id: Ic5f11c8a4e247f632cb6aea6d147e94c53e0130f
Previous to this commit, log messages were not being merged if tests
were resolved as failed (test-suite.sh ending with exit code != 0),
which can happen if at least one test failed.
Change-Id: If293fc2d3182ef2a7b997faa8b41129a9dd89c45
To remove code dup and prepare a change to where logs are written, add
collect_logs() to jenkins_common.sh and call that from each jenkins.sh after
the tests are done.
The 'rm -rf' is already done before a test starts. No need to do that again
after each test.
Change-Id: I5d8472ec36b07c828685b1bd7718e31392d168a3
This is no longer needed as the fix for https://osmocom.org/issues/2718
has been merged to master of osmo-ttcn3-hacks
Change-Id: Ia0c1c134405fdbce1c65059d705827f1a643e774
Related: OS#2718