Due to [1], we require both debian9 patchelf v0.9 and v0.10 to be
available and used by osmo-gsm-teser depending on the binary to be
patched.
[1] https://github.com/NixOS/patchelf/issues/192
Related: OS#4389
Change-Id: I28825d723b85900fb51cc5b8a9d14c6ef346e667
In I30a61aebcadef5536e74edd35e1c75ef77a2da9f, we moved the Dockerfiles
from here to docker-playground.git, but failed to adjust the ansible
playbook that wants to rebuild those containers during setting up of
a build slave.
Change-Id: Ife64fdaf24107b0b31b8a6d4c78a1df420662ca0
Related: OS#4345
Closes: OS#4377
Both are required by docker, but seem to be missing from explicit
dpkg 'Requires' :/
TASK [docker : add docker gpg key to apt keyring] ********************************************************
fatal: [rpi4-deb9build-ansible]: FAILED! => {"changed": false, "msg": "Failed to find required executable gpg in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}
TASK [docker : cleanup old docker images] ****************************************************************
[WARNING]: The value 0 (type int) in a string field was converted to '0' (type string). If this does not
look like what you expect, quote the entire value to ensure it does not change.
fatal: [rpi4-deb9build-ansible]: FAILED! => {"changed": false, "msg": "Failed to find required executable crontab in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}
Change-Id: I2d342f85f6bc1b80eaafc7075552019fea147894
Only for nightly, not latest, since example/sccp_demo_user is not
installed by autotools and debian packages, so only in nightly where we
build from source we are able to copy it to docker image manually.
Related: OS#4343
Change-Id: Ia0a68d74215bdc1bc6319241d60f858312fa14e9
Jenkins job builder only does one pass of variable substitution. Replace
the cmd_erlang variable with its contents, so the jobs don't fail with:
[osmocom-gerrit-debian9] $ /bin/sh -xe /tmp/jenkins7189809471369692535.sh
+ {docker_run} {docker_img_erlang} /build/contrib/jenkins.sh
/tmp/jenkins7189809471369692535.sh: 2: /tmp/jenkins7189809471369692535.sh: {docker_run}: not found
Fixes: aadc60f403 ("jobs/gerrit-verifications.yml: add erlang repos")
Related: OS#4345
Change-Id: I6e121c79ecf872a7058de3a6dc0a940fa8091f68
Work around "garbage at end of loose object" errors that occasionally
cause these jenkins jobs to fail.
A few repositories are not hosted on gerrit, so they still get cloned
from git.osmocom.org. However, having almost all repositories cloned from
gerrit should improve the situation a lot.
Related: OS#4083
Change-Id: Id8f08a1bc10d6c81be9ad44c60646e2ea9f6cf4e
Run contrib/jenkins.sh in erlang repositories, that were recently
updated (osmo_gsup, osmo_dia2gsup, osmo_ss7).
Depends: docker-playground Ia3eaec6090c9652549b2850de74ee21730374bbd
Related: OS#4345
Change-Id: I05d152de6b7a04dee935d79b9987c511351eca95
Instead of building "osmocom:deb9_amd64" from this repository, build
"$USER/debian-stretch-jenkins" from docker-playground.git (same
Dockerfile). Adjust all jobs to use the new image name.
Add a new "update-osmo-ci-on-slaves-dp" jenkins job, which triggers
the existing "update-osmo-ci-on-slaves" job whenever
docker-playground.git changes.
Replace docker/rebuild_osmocom_jenkins_image.sh with
scripts/osmo-ci-docker-rebuild.sh, so we can get rid of the docker dir.
I thought about dropping the script completely, and directly writing the
two lines into contrib/jenkins.sh. But I kept the extra script for
convenience, when testing locally.
Related: OS#4345
Depends: docker-playground I125ae8a6bcabbd1f485028c79b0abacda0622c3a
Change-Id: I30a61aebcadef5536e74edd35e1c75ef77a2da9f
Make development easier by skipping fetch, checkout and reset --hard if
_docker_playground is a symlink. Document _docker_playground in
README.adoc and explain how to set up the symlink.
Change-Id: If6209ff71488d39e590f5f8506b9d73ad0314846
Re-apply patch Iacace670bdb949e67227e0faa1765e36bba42018, after
providing additional patches to make all Osmocom repositories, that use
external tests, work with python3 (after learning the hard way, that
they were not really python3 compatible yet, although they looked like
it):
https://gerrit.osmocom.org/q/topic:drop-py2
This patch should not be merged, before all other patches from that
topic are merged.
Depends: osmo-python-tests I3ffc3519bf6c22536a49dad7a966188ddad351a7
Related: OS#2819
Change-Id: I7b5385416d5c48a2f4e07449192b3f74223cb094
This is a problem e.g. with current osmo-hlr containing
"\t# FIXME: PKG_CHECK_MODULES() may return cached result here!"
Change-Id: I30d539a895bf39aaabe907be9eb52d7e4b3977a7
Some of our source files are inherited from other sources, particularly
for microcontroller firmware projects. We cannot assume they're all
clean UTF-8. Let's ignore any decoder errors when verifying log
statements and value_string arrays.
Closes: OS#4334
Change-Id: I1e19f4bc6bee46481c6ea743e8334bd4485909be
osmo-gsm-manuals needs inkscape to handle svgs. Not all osmo-* projects
are building in docker, so make sure it is also installed on the build
slaves directly.
Related: OS#4314
Change-Id: I63460336d2c4a7594ec9c5c9b60a3d43f0d157aa
This reverts commit 9097082be5.
I was under the impression, that all previous scripts in
osmo-python-tests were already working with python 3. But as it turns
out, this isn't true. Reverting, so I can properly post follow-up
patches, that fix the issues before we apply this "drop python2" patch
again.
Related: OS#2819
Change-Id: Iab7768a77a55fd0465244460bd7488858dd69b60
This reverts commit 9097082be5.
I was under the impression, that all previous scripts in
osmo-python-tests were already working with python 3. But as it turns
out, this isn't true. Reverting, so I can properly post follow-up
patches, that fix the issues before we apply this "drop python2" patch
again.
Related: OS#2819
Change-Id: I68e99ed3fb2eba86eaccec7a3cab75658e9543b1
Place a link to the wiki page, that now documents all available
environment variables.
Related: OS#4243
Change-Id: I770360b671c64369cf6cdb4fb4222921cc6af58e
Some nodes in the internal network, such as LimeNetMicro, will need
Internet access to upgrade osmo-trx-lms from OBS repos.
It also makes it easier to update manually other nodes inside the
internal network.
Change-Id: I2c89cf9cfcb55b3153e7be212c68ffa8db0f6927
Don't use the old "osmocom:amd64" image. Remove the entire cmd line, so
it uses the default docker command with the default docker image
"osmocom:deb9_amd64". Also remove concurrent: true, because that default
nowadays too.
Related: OS#3203
Change-Id: I93db12d3652f26db059e0ede52d2b2fdd3e89d34
From ansible documentation [1]:
"""
For those used to /usr/bin/chmod remember that modes are actually octal
numbers. You must either add a leading zero so that Ansible's YAML
parser knows it is an octal number (like 0644 or 01777) or quote it
(like '644' or '1777') so Ansible receives a string and can do its own
conversion from string into number.
Giving Ansible a number without following one of these rules will end up
with a decimal number which will have unexpected results.
"""
[1] https://docs.ansible.com/ansible/latest/modules/template_module.html?highlight=template
Change-Id: I91008927c50016a837420c4249b5f69b9153572e
10.42.42.2 is simply one of the IP addresses assigned to osmo-gsm-tester
main unit on its own internal network (the one used between itself and
the connected BTS or helper hosts). There's no DNS server running there.
The main unit already runs lots of services, and there's really no need
for a DNS server running there, so simply point it to a working DNS
server.
Change-Id: I443cc560553c07635763a13bc73ead4835e6a009
Make the retry logic in rebuild_osmocom_jenkins_image.sh obsolete by
merging all apt commands for installing dependencies into one. This
makes development easier, because the docker image will not get rebuilt
again when any error happens (whether that error was related to the apt
cache or not, during development it is mostly not related to the apt
cache).
This also makes it easier to read through the list of dependencies, and
removes duplicate (or even conflicting, pkg-config vs pkgconf) entries.
While at it, also merge the pip commands into one.
Change-Id: I190e62dd39533b284c93107607dac24ece6d7be6
Now that almost everything runs in docker, we don't need to worry about
problems with running VTY/CTRL tests in parallel for these projects.
Related: OS#3726
Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add