Commit Graph

67 Commits

Author SHA1 Message Date
Oliver Smith 1a3ee20141 ansible/jenkins: add gerrit ssh key to known_hosts
Add the key to known hosts to prevent host key verification failed
errors when attempting to use the gerrit API from jenkins (to post
review comments) or when attempting to clone over ssh from gerrit (as
we do for some reason apparently).

Change-Id: I50981f201c5ca1425e30677b2578491f5111fc0c
2022-11-28 14:13:34 +01:00
Oliver Smith f9c9069151 ansible/ttcn3-slave: fix adding apt key
Downloading the apt key from obs.osmocom.org returns a 404 error unless
an Accept HTTP header is sent. (Yes, really.) Also using apt-key is
deprecated, so change it to download the key with get_url as shown in
the ansible docs example.

Fix for:
  Failed to download key at https://obs.osmocom.org/projects/osmocom/public_key: HTTP Error 404: Not Found

Related: https://github.com/ansible/ansible/issues/50436#issuecomment-451205256
Related: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/apt_key_module.html#examples
Change-Id: Idb23231d629ba8a75510deace0d1f130e889d535
2022-10-13 10:51:55 +02:00
Oliver Smith 7fc58133d6 Replace most remaining git.osmocom.org urls
Replace the legacy git.osmocom.org clone URLs with either gerrit or
gitea in most places. Besides not using legacy urls anymore, the
advantage of using gerrit directly is that we don't have a delay of 10
min to several hours on the repository.

Not replaced:
* ansible/roles/osmocom-workstation: not sure if still used, would need
  a bit of a rewrite to use logic similar to osmo_git_clone_url().

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git_infrastructure
Change-Id: I90409c9e7f4db4e1765647021625f9acfccaa78b
2022-09-26 15:07:59 +02:00
Harald Welte d5b6cba4e9 ansible: Use downloads.osmocom.org instead of opensuse.org
Change-Id: Ib60eb87c7b0c17d20bbbfa8b94d8262f0c165b1c
Related: OS#5557
2022-07-13 07:41:55 +00:00
Oliver Smith cd9c983b61 ansible: get OBS pub key from proper URL
Same reasoning as in previous patch
Idd0fb6e07cba959a36269244b0c7b5c62aaffeee.

Change-Id: I630654ade0edddd23f9fe7c578d1f329f5f49603
2022-06-10 15:35:46 +02:00
Oliver Smith 9ecd2280d8 ansible/jenkins/osmocom_build_deps: drop py2 pkgs
Drop python2 packages. It's deprecated, packages don't exist in
debian 11 and our jenkins nodes don't need it anymore.

Related: OS#5453
Change-Id: Id2da7adab83f240e7e0b45c018f91c9e639fc80d
2022-05-18 15:15:03 +02:00
Oliver Smith f511264bdd ansible/jenkins/osmocom_build_deps: drop dh-systemd
This package is no longer available in debian 11. Even in debian 9 the
description says:
  "This package is for transitional purposes and can be removed safely."

Related: OS#5453
Change-Id: I6f72de4d7fb0aab4b153dfc0affbc6f11d20ee4c
2022-05-18 15:05:31 +02:00
Oliver Smith f225c1da76 ansible/ttcn3: don't install titan/libfftranscode
With the last patch, the jenkins infrastructure will always run
eclipse-titan in docker. Therefore do not install eclipse-titan and
libfftranscode on jenkins nodes anymore.

This avoids the problem that we couldn't upgrade libfftranscode with the
existing ansible rules.

libosmocore-utils is still being installed, as osmo-config-merge must be
installed on the jenkins nodes.

Closes: OS#5452
Change-Id: Ie46fe3dcb286a6258021fad9c35be10442544761
2022-02-21 08:08:00 +00:00
Vadim Yanitskiy f6f49d23a1 tasks/ttcn3-slave.yml: also install libosmocore-utils
This package provides osmo-config-merge, which is going to be used
by docker-playground for generating configuration files.

Change-Id: I87e54440a6b399aa0f0461ebf668991b5cdd0b07
Related: https://gerrit.osmocom.org/c/docker-playground/+/20622
2022-02-11 13:59:06 +00: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
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 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 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 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 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
Harald Welte 1eee4475c0 jenkins: Add libnl-3 for osmo-uecups
Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0
2020-04-17 15:18:40 +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
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 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 a63c19c786 ansible: slave: Skip ttcn3 install on ARM targets
eclipse-titan is not currently built for ARM targets (or it fails) on
osmocom OBS repos. Let's disable it since anyway we don't need to run
ttcn3 stuff on ARM slaves.

Change-Id: I83f95766fc601bfced6404db56af3bf8b871982f
2020-02-20 10:54:44 +00:00
Pau Espin c13af9ac58 ansible: Install libsoapysdr-dev as dependency for srsLTE
srsLTE supports using LimeSDR devices through SoapySDR.

Change-Id: Idd8baf934cb9245e0f897e84754905172b659e40
2020-02-13 20:17:34 +01:00
Pau Espin f57eb28d13 Install srsLTE build dependencies in jenkins buildhosts
Change-Id: Ib42987416ee90868ab088bfa2f92d92c764088b0
2020-01-29 19:54:51 +01:00
Harald Welte 84cbb6fa13 Fix ansible playbooks after docker directory was removed here
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
2020-01-26 14:03:51 +01:00
Oliver Smith 853f1ba318 osmocom_build_deps.yml: add inkscape
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
2019-12-09 09:59:40 +01:00
Harald Welte 15e2204a9f osmocom_build_deps.yml: Move from python-nwdiag to python3-nwdiag
Change-Id: I9e3c65342d1bb62d7baa9d589930aa042fb5f7a9
Closes: OS#4279
Related: OS#4246
Depends: osmo-gsm-manuals Ia2c0c833329f8ecab1c427e0d2c002f17ab49a94
2019-11-23 09:20:22 +01:00
Harald Welte bee13a5f53 osmocom_build_deps.yml: Add dahdi-source for libosmo-abis
Change-Id: Ic314c992f83d9fe1ea6035d67070d7c6004cc9e3
2019-11-11 17:13:00 +01:00
Harald Welte 5d627e65ea osmocom_build_deps: Add libaio-dev for osmo-ccid-client
Change-Id: I6c3b536bee3d1bbd6f526bc3765fc4ad9aa4a0dd
2019-11-11 17:13:00 +01:00
Alexander Couzens d745bee443 osmocom-jenkins-slave: fix jessie-backports as it got deprecated
Change-Id: Idae47a6529f6a870e29ab688c3479b7ef4ba200a
2019-04-26 15:38:02 +02:00
Harald Welte bea2c9c70d ttcn3-slave: Add libfftranscode0 + libffstranscode-dev packages
Those proprietary libraries are required for testing APER based
protocols such as those spoken on IuCS, IuPS and Iuh.

Change-Id: I07489575d0b71c36b35096ecf1e2aab9577cb43e
2019-04-21 12:31:04 +02:00
Harald Welte 255724fb4a jenkins-slave: Use "jessie-backports" only on jessie systems
Change-Id: Id62c03b9759367bd5bbe20144e9ad7048d12e61b
2019-04-03 12:24:05 +02:00
Harald Welte 915a2f76aa build_deps: add libulfius-dev and libjansson-dev for osmo-remsim
Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18
2019-03-15 08:21:00 +01:00
Harald Welte 225dbeefe1 osmocom-jenkins-slave: Deploy osmo-ci and build docker images
This is periodically performed by https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves
but in order to get to the point of updating it, we must at least
have done one initial deployment of the repository before.  This is
done by the takss in the new osmo-ci.yml

Closes: OS#3773
Change-Id: I581b8713cfdb3ca2ef7f0925730974056981e448
2019-01-31 20:27:50 +01:00
Max 844f25dfbf Add liboping dependency for osmo-sysmon
Related: SYS#2655
Change-Id: I6198cd14ff86c5d8203d57674a17aa388f21c19d
2019-01-29 12:35:26 +00:00
Harald Welte 326221b87c ansible: Install 'sdcc' compiler for libusrp firmware on build slaves
Change-Id: I2fa8fa1a195079a0d8beda6a0aa4fc090ca37970
2019-01-11 18:54:12 +01:00
Holger Hans Peter Freyther 8f33ecf33b ansible: Wrap distro version number as string for ansible
Change-Id: I58591ee37c6ec1479778c3f90ed8004a7e2adf1e
2018-11-09 02:00:47 +00:00
Holger Hans Peter Freyther 7e5e3ece47 misc: Install patchelf to add/set an rpath if wanted
Change-Id: I6e4ad2e3855af7bcefc22d4190cc4e6f58581857
2018-11-06 13:14:05 +00:00
Holger Hans Peter Freyther f091b3e9e3 ansible: Skip liblimesuite-dev for debian 8.0
There is no installable liblimesuite-dev for Debian 8.0 and the
playbook execution fails. Install it for Debian 9.0 or later.

Change-Id: I0cee652b9d9703dc10b6105711a26f33cc2a3fda
2018-11-02 13:03:40 +00:00
Holger Hans Peter Freyther bcd7207c40 ansible: Future proof for debian releases after debian9.0
buster has a liblua5.3-dev, openjdk-8-jre-headless and the ttcn3
packages should work as well.

Change-Id: I76f516bbe503d15d9210ab14e7d9dd024e0ce72f
2018-11-02 13:03:29 +00:00
Harald Welte 24f2ef00b2 Add osmo-remsim to gerrit + master build verification
... which introduces a requirement for libcsv-dev in ansible.

Change-Id: I2ac65947ce9ecc071f774dc4df0f08c99c16c632
2018-10-15 02:06:22 +02:00
Pau Espin 52fb2808d6 ansible: Install liblimesuite-dev and setup limesdr rights in gsm-tester
Change-Id: I7fafae340221cac63e33bccabcce6fd8f4385514
2018-10-09 14:03:26 +02:00
Holger Hans Peter Freyther c52d3505f8 OsmocomBB: Add lua5.3 for the scriping interface
Change-Id: Ia3bd58b98d1e248a92ddd171fb16a23ca8e0b29d
2018-08-30 15:09:54 +00:00
Pau Espin fa24bc77ef ansible: osmocom_build_deps: Add cmake
cmake is required to build LimeSuite, and its not currently installed in
the build slave.

Change-Id: I1808a2394798cd11a0bee8f664c7d18fa71cd5b8
2018-08-27 19:33:12 +02:00
Alexander Couzens d2cacbd784 ansible: osmocom-jenkins-slave: add var install_jenkins_utilities
To select if some utilities including qemu/debootstrap/fakeroot will be installed.
Usefull for small setups e.g. simtester

Change-Id: I72f4460b8550da191e74a44be0ee3eeb3b2d7769
2018-07-19 23:04:24 +02:00