Commit Graph

163 Commits

Author SHA1 Message Date
Pau Espin 2146640769 Add osmo-hnodeb to ansible/jenkins/coverity setup
Change-Id: Ie4b03aefeda13d216706bd648145689cf2ef93bb
2021-10-25 11:06:48 +02:00
Harald Welte d793650519 some more git.sysmocom.de https (+path) changes due to gitea migration
Change-Id: Ie1599b356932ffa83d70e08b96179b7ca4909b14
2021-05-17 08:16:34 +02:00
Harald Welte e82f47ccfc ansible/hosts: new IPs for GTP0 slaves
the old ones were DHCP-allocated and after a power outage, they changed.

I've now moved to static allocated addresses.

Change-Id: I0d77cc8ae72d854312b742c6c64b10a731a9f5ba
2021-05-17 08:10:12 +02:00
Pau Espin 72e63562fd ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev
The official Build Guide lists it as a dependency, and meson fails
without it.

Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00
2021-03-15 19:23:53 +01:00
Pau Espin c427bd6cf4 ansible: ogt: uhubctl has new cmdline syntax to specify ports
Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309
2021-03-15 14:51:11 +01:00
Pau Espin 8b9f1a8d55 ansible: ogt: prod setup has 12 modems nowadays
Change-Id: I6e401b292b2587733396c4160c008b894fc066a5
2021-03-15 14:50:28 +01:00
Oliver Smith 9b493f64ce ansible: jenkins-slave: enable ntpd
Enable ntpd to prevent clock difference issues reported by jenkins. I
just saw them appearing with one of the new raspberry pis.

Related: https://jenkins.osmocom.org/jenkins/computer/ (shows clock diff)
Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444
2021-03-10 17:06:10 +01:00
Oliver Smith 796fd16b30 ansible: remove raspbian default user "pi"
Add a new subtask that deletes Raspbian's default user "pi" with
UID=1000, so we can use the UID for the jenkins user. When the ansible
playbook is running, root access via ssh is already configured, so we
don't need the user "pi" anymore.

Related: OS#5055
Change-Id: If0cee6d35016c487eca02752625732dd03fad350
2021-03-08 17:29:20 +01:00
Oliver Smith 13e705f1ff ansible: explicitly give jenkins user UID=1000
docker-playground.git assumes that its containers run as UID=1000,
otherwise some will fail with errors like:

  + osmo-clean-workspace.sh
  + chmod -R +w .
  chmod: changing permissions of '.': Operation not permitted

Make this assumption explicit with "uid: 1000" in "add user jenkins".
This causes ansible to verify that the UID is really 1000, and if it is
not, it changes the UID. A follow-up patch will remove Raspbian's
default user of the same UID.

Related: OS#5055
Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d
2021-03-08 17:28:57 +01:00
Oliver Smith aee8b3f14b ansible: fix apt deprecation warning about loops
Fix deprecation warnings like the following:
  [DEPRECATION WARNING]: Invoking "apt" only once while using a loop
  via squash_actions is deprecated. Instead of using a loop to supply
  multiple items  and specifying `name: "{{ item }}"`, please use
  `name: ['libjansson-dev', 'libulfius-dev']` and remove the loop.
  This feature will be removed in version 2.11.

Related: OS#5055
Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc
2021-03-08 15:47:17 +01:00
Oliver Smith 025c38d521 ansible/hosts: update rpi4-raspbian10build-*
Replace old rpi4-deb9build-ansible with the new entries:
* rpi4-raspbian10build-1
* rpi4-raspbian10build-2
* rpi4-raspbian10build-3

The new jenkins nodes do not use lxc anymore (see related issue).

Related: OS#5055
Change-Id: I5d6588320613711251abcb664a5614ad49215725
2021-03-08 15:40:05 +01:00
Oliver Smith 829f8b948d ansible: tasks/osmo-ci: clone osmo-gsm-manuals
Perform the initial clone of osmo-gsm-manuals.git, just like osmo-ci.git.

Related: OS#4912
Change-Id: I39a09a4297c7c78357b3d4db4ab89547fa08db59
2021-01-13 11:33:16 +01:00
Harald Welte 11f89dfc6a ansible: add new deb9build slave on gtplab0
Change-Id: Ide72397cff15c2caa785a117ff095d6f08cb411b
2020-11-28 22:52:11 +01:00
Harald Welte bf07865cb3 ansible: Fix OBS directory naming
It's really annoying that OBS uses Debian_8.0 and Debian_9.0 (for 8.x
and 9.x) and then Debian_10 for 10.x.  Let's work around this by some
conditional vars_file trickery, hopefully once and for all.

Change-Id: I45c4752774f44332b3f9aaf875f49043c03ec5ca
2020-11-28 22:33:02 +01:00
Harald Welte 8df41af010 osmocom-jenkins-slave: Re-order
Install TTCN3 before installing build-deps, as build-deps
requires libulfius, which is only provided by network:osmocom:latest
feed, which in turn is only activated as part of the TTCN3 / TITAN
installation.

Change-Id: I66f1d5f7479a6d028abdac0cc6f4000faa78b135
2020-11-28 22:02:52 +01:00
Harald Welte cf9625379a ansible: add role for 'podman'
podman has one particularly interesting feature which docker
rejected years ago: The ability to run a container in a pre-existing
namespace.  This is quite useful for some of our test setups,
particularly those that involve hdlc net-devices

Change-Id: I4b14599f39c07ec83fa4222f9d040d443caae3e6
2020-11-18 22:57:07 +01:00
Pau Espin 8edbe0f134 ansible: ogt: Install new dependency python3-watchdog
As of osmo-gsm-tester.git Change-Id
I938602ee890712fda82fd3f812d8edb1bcd05e08, python3-watchdog is required.

Change-Id: I35026e82b255cd4e06b4211c4829cd12be59976e
2020-11-17 09:52:10 +00:00
Harald Welte 1f5faf85bd remove all debian8 slaves
we cannot even create new slaves as lxc-create doesn't support debian
jessie anymore.  Let's focus on Debian 9 + Debian 10

Change-Id: I2fddd460f7d1db755cc9b732b2be80494d26e091
2020-11-15 10:01:03 +01:00
Harald Welte e6c46260da ansible/docker: Use docker.io on architectures not supported by docker-ce
The docker company official builds are only present for amd64, but not
for other architectures.  Let's use the Debian docker.io package in such
situations.

Change-Id: Id85137fc0eb7fa5e2b31aa928c78bfdaadc281ac
2020-11-15 10:01:03 +01:00
Harald Welte 285c752569 ansible: ttcn3-slave: Use libfftranscode 0.3
0.3 is the first version for which we have i386 builds

Change-Id: I8bc20e43a82ff797a4f70db476cddaab39fdc2a2
2020-11-14 22:34:18 +01:00
Harald Welte a06cc0e3d1 ansible: ttcn3-slave: Fix for Debian 10 slaves
Change-Id: I943e4a8e49e4f95abf1e44dc297d30c950580680
2020-11-14 22:34:18 +01:00
Harald Welte f1fbfc95fe ansible: roles/docker: Add ca-certificates
If that package is not installed, adding the GPG key fails with SSL
certificate verification, at least on a debian10 i386 lxc:

TASK [add docker gpg key to apt keyring] *************************************************************
fatal: [gtp0-deb10build32-ansible]: FAILED! => {"changed": false, "msg": "Failed to download key at https://download.docker.com/linux/debian/gpg: Request failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>"}

Change-Id: I58259a99258c9c7471e1fcf03a3a7b62fa9c6a48
2020-11-14 22:34:18 +01:00
Harald Welte 7d83ceb25c README.md: Fixup ansible command line for docker login
We need to do a docker log in as 'osmocom-build' user, not as 'root'

Related: OS#4839
Change-Id: I8ea0338e49d332382c9d08b21ee247244f97d141
2020-11-02 17:54:05 +01:00
Harald Welte a01babb6e1 README.md: Add instructions on how to make jenkins slaves 'log in' private docker registry
Change-Id: Ibf7e8c6ef2b3efd5a0a193501de90797e2d6f080
2020-11-02 17:17:57 +01:00
Harald Welte 3d3a9c1651 ttcn3-slave.yml: don't hard-code amd64 as the dpkg architecture
We have no clue what the host architecture will be...

Change-Id: I32c0905c8e077faa02984ea67c452fcdb81440da
2020-11-02 17:08:48 +01:00
Alexander Couzens b12f989f86 ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9
Before debian 9 those packages aren't available. e.g. libczmq-dev or libsoapysdr-dev

Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b
2020-08-31 15:57:56 +00:00
Alexander Couzens 1a72d50548 ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3
The osmo-python-tests will be used to test vty commands.
The old python2 package are only required to test old images because
the current master is only supporting python3.
Installing both doesn't conflict because the python site-packages are
different for the two version.

Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a
2020-08-14 16:31:27 +02:00
Alexander Couzens 523aa0874e ansible/docker: set overlayfs2 and ipv6
overlayfs2 should be the default anyway. Enable it on all hosts,
since it was enabled on older hosts.

Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e
2020-08-03 01:12:43 +00:00
Pau Espin d276db78af ansible/gsm-tester: Install patchelf 0.11 on PATH
We used to install patchelf 0.10 in a specific path to only use it for
some binaries which had bugs with patchelf 0.9 (and other binaries had
bugs with 0.10, so we couldn't use 0.10 for all binaries and hence put
it in binary).

However, 0.11 is fixing both issues so we can use it in all cases, hence
we can put it in PATH (/usr/local/bin).

Related: OS#4389
Change-Id: Ica30807ecab7b60daee31fe7824b7c848d20c904
2020-06-25 19:30:11 +02:00
Pau Espin e10e627f9d ansible: gsm-tester: Add dependency python3-websocket
osmo-gsm-tester needs it in rfemu_amarisoftctrl.py to connect to
Amarisoft CTRL interface (which is implemented through a websocket).

Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b
2020-04-17 20:04:20 +02:00
Harald Welte 1eee4475c0 jenkins: Add libnl-3 for osmo-uecups
Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0
2020-04-17 15:18:40 +02:00
Harald Welte 370ea3f1e7 ansible: The network:osmocom:nightly key has changed *again* :(
Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782
2020-04-14 17:14:38 +00:00
Pau Espin f55a3c67be ansible: gsm-tester: Intall dbus policy file from git repo
Since osmo-gsm-tester.git I17ee94b175deb88faff71e7788c482093693f8a8, the
file is available in the repository, so let's simply install it from
there.

Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322
2020-04-10 17:35:20 +02:00
Pau Espin 39a66cc7f9 ansible: ogt: Create target amarisoft dirs in slaves
Change-Id: Idd013ac01db545771217808e458e916900fe89a1
2020-04-06 13:22:08 +02:00
Harald Welte 10bc752474 update OBS Release.key; the old one expired today.
Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9
2020-03-30 18:22:59 +02:00
Harald Welte 23150e1d15 ansible: ensure rsync is installed on all build slaves
Avoid the following error by the Osmocom-OBS_MinGW_weekly_publish job:

rsync -avz -e 'ssh -o '\''UserKnownHostsFile=/home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/known_hosts'\'' -p 48' /home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/out/ binaries@ftp.osmocom.org:web-files/windows
/tmp/jenkins1809827296988933592.sh: line 164: rsync: command not found

Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6
2020-03-11 10:00:11 +01:00
Pau Espin f9e0070e2d poky-sdk: Use first letter in caps (as in python bool)
Same as done in install-coverity/tasks/main.yml.

Change-Id: Ifbfe678e89bef3acd33e562888ad81093fa1230d
2020-03-03 16:26:52 +00:00
Pau Espin 54f9316fcf ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy
Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89
2020-03-02 14:22:47 +01:00
Harald Welte 4ddf61697a ansible: fix java for debian 10
Change-Id: I8b81edf420534726cd987f3f90efe79ca921f41a
2020-02-26 13:47:20 +00:00
Harald Welte 32f08347f7 ansible: Install open5gs dependencies on debian10
Change-Id: Ib58a9a91d34c4ebf10171bed8f0b26d9b34892b1
2020-02-26 13:47:20 +00:00
Harald Welte bee8f383e1 add build2-deb10build-ansible build slave
This is our first Debian 10 build slave

Change-Id: Iae80c5f73781d14ffbf124a476894d4631c83dc7
2020-02-26 13:47:20 +00:00
Harald Welte a17fa43f1a Make "ansible_distribution_version >= 9" work
The distribution version must not be quoted in this case (string) but
given as an integer.  Otherwise it will match only on 9, but not on 10.

Change-Id: I6ff3d16d2eac891e6663e8860eec2058478f4b79
2020-02-26 13:47:20 +00:00
Pau Espin 59be228b87 hosts: Add rpi4-deb9build-ansible
Change-Id: I3bea29c3a9fa9b4b6dc4df3cdde4bb9dbf7de47d
2020-02-26 08:39:27 +00:00
Vadim Yanitskiy 6755bc3092 ansible/setup-simtest.yml: Python2 is deprecated, switch to Python3
PySIM is about to switch to Python3, so Jenkins must be ready.

Change-Id: I555af88b0e6a5c082e1e0cbd6915649a8a942052
2020-02-26 07:56:23 +00:00
Harald Welte 21d464f836 README: Update version number of poky toolchain
Change-Id: Ic360a909c4615a3d6bfcea8f2e1c70a70b935ab4
2020-02-24 09:11:29 +00:00
Pau Espin bae9358550 ansible: gsm-tester: add jenkins user to osmo-gsm-tester group on slaves
Change-Id: Id5a06c19a4341311a86b87e3e9ac23d3656909b9
2020-02-21 21:54:47 +00:00
Pau Espin 584acbb7ab ansible: gsm-tester: Create remote rundir directories
These directories are needed by osmo-gsm-tester to copy in some binaries
and helper files required in the remote run node.

Change-Id: I802bdcc79e7787052364f6518e868d741cb040ac
2020-02-21 20:09:11 +00:00
Pau Espin 90987935bc ansible: gsm-tester: Use file module instead of manual mkdir
From ansible: [WARNING]: Consider using the file module with state=directory rather than running 'mkdir'.

Change-Id: I2c541878033360a9d427d13b62c1cc075d5f92b7
2020-02-21 20:09:11 +00:00
Pau Espin 53e8b0575f ansible: gsm-tester: Install patchelf's build dep autoconf
Change-Id: Ibe0e9b10d87c3630e2f12c9c32196e26213530ca
2020-02-21 20:09:11 +00:00
Pau Espin 5eb888e53e ansible: gsm-tester: Allow install srs related packages in Ubuntu
Change-Id: I3fdf2f4f390d27c53f073b38c1716da07f933b6d
2020-02-21 20:09:11 +00:00