aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/osmocom-jenkins-slave
AgeCommit message (Collapse)AuthorFilesLines
2023-11-18ansible/jenkins-slave/osmo-ci: Install 'make' required for osmo-ciHarald Welte1-0/+8
TASK [osmocom-jenkins-slave : rebuild osmocom docker images for jenkins build tests] ****************** fatal: [lx2-raspbian11build-ansible]: FAILED! => { "changed": true, "cmd": "./scripts/osmo-ci-docker-rebuild.sh", "delta": "0:00:04.129667", "end": "2023-11-18 14:09:52.142684", "rc": 1, "start": "2023-11-18 14:09:48.013017" } STDERR: + make -C ../debian-bookworm-build-arm BUILD_ARGS=--pull UPSTREAM_DISTRO=debian:bookworm DISTRO=debian-bookworm IMAGE=osmocom-build/debian-bookworm-build-arm OSMO_TTCN3_BRANCH=master ./scripts/osmo-ci-docker-rebuild.sh: 203: make: not found Change-Id: I785e4224e729accec15beaa3aef8e01f12624d9d
2023-11-18ttcn3-slave: Install sudoHarald Welte1-0/+1
The sudo tool is required by the ansible 'become_user' used later in ttcn3-slave.yml TASK [osmocom-jenkins-slave : ensure jenkins folder exists] ******************************************* fatal: [lx2-raspbian11build-ansible]: FAILED! => { "changed": false, "rc": 127 } MODULE_STDOUT: /bin/sh: 1: sudo: not found Related: OS#5873 Change-Id: I2d50ef2dee8e060ff4f84810f2bba62d4801d638
2023-10-19ansible: jenkins: debian: add more packagesOliver Smith1-0/+2
Add python3-setuptools, as it is needed to run the update-osmo-python-on-slaves jenkins job. Add bc, as it is needed in docker-playground.git's network_create() in jenkins-common.sh. Related: OS#6186 Change-Id: I1ff0711b7b29ba4dc78f51f257b986d7a0994a96
2023-10-19ansible: jenkins: debian: sort packagesOliver Smith1-5/+5
Related: OS#6186 Change-Id: If4ce784821cc40a2e795afafa452c99bf0588253
2023-10-19ansible: jenkins: use default-jre-headlessOliver Smith1-1/+1
Use default-jre-headless instead of giving the openjdk version, so we don't need to adjust it to whatever the current version in debian is. The default-jre-headless package is at least available since debian 10: https://packages.debian.org/search?suite=buster&arch=any&searchon=names&keywords=default-jre-headless Related: OS#6186 Change-Id: I6c5c74ff3d75dca2f89765d95c4b4c6d67ace703
2023-10-19ansible: jenkins: debian: remove qemu packageOliver Smith1-1/+0
This is a dummy package that isn't available anymore in debian 12. https://packages.debian.org/buster/qemu says: > This package can safely be removed. We install qemu-user-static and qemu-system-arm, which contain qemu binaries. Related: OS#6186 Change-Id: I4d5bd376b1e370d9636b9a2e9e710f5f20b9ae98
2023-10-16ansible: ttcn3: install netcat-openbsdOliver Smith1-0/+7
Make nc available on jenkins nodes running ttcn3 tests, as it is now used by ttcn3-hss-test-ogs. Related: docker-playground Iebeefd9689ae2efa54678b99ff929ca255ec64d1 Change-Id: I397d4fe33813b083b61cdabb1d00ab4ea63a456b
2023-08-17ansible: osmocom_build_deps: removeOliver Smith4-196/+0
The builds for almost all jenkins jobs are done in docker now, we definitely don't need to install all of these dependencies on all jenkins nodes anymore. Remove the file for now, so it doesn't look like they still get used and so we don't need to keep it up-to-date (e.g. inkscape was just replaced with rsvg-convert). When we deploy a new jenkins node and notice that we still do need a few of these dependencies, we can bring them back later. Change-Id: I7c87bd516d1bcdbcc21f65909dabbd3ccc38eede
2023-02-01ansible/osmocom-jenkins-slave: add libnftables-devOliver Smith1-0/+1
Install libnftables-dev, so osmo-upf can build successfully in the coverity jenkins job. Change-Id: Id72ce8ed5b662085a16f56756f8f93627834d2e2
2022-11-28ansible/jenkins: add gerrit ssh key to known_hostsOliver Smith1-1/+8
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-10-13ansible/ttcn3-slave: fix adding apt keyOliver Smith1-2/+7
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-09-26Replace most remaining git.osmocom.org urlsOliver Smith2-3/+3
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-07-13ansible: Use downloads.osmocom.org instead of opensuse.orgHarald Welte1-2/+2
Change-Id: Ib60eb87c7b0c17d20bbbfa8b94d8262f0c165b1c Related: OS#5557
2022-06-10ansible: get OBS pub key from proper URLOliver Smith1-1/+1
Same reasoning as in previous patch Idd0fb6e07cba959a36269244b0c7b5c62aaffeee. Change-Id: I630654ade0edddd23f9fe7c578d1f329f5f49603
2022-05-18ansible/jenkins/osmocom_build_deps: drop py2 pkgsOliver Smith1-2/+0
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-18ansible/jenkins/osmocom_build_deps: drop dh-systemdOliver Smith1-1/+0
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-02-21ansible/ttcn3: don't install titan/libfftranscodeOliver Smith1-14/+1
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-11tasks/ttcn3-slave.yml: also install libosmocore-utilsVadim Yanitskiy1-2/+4
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
2021-03-15ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-devPau Espin Pedrol1-0/+1
The official Build Guide lists it as a dependency, and meson fails without it. Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00
2021-03-08ansible: remove raspbian default user "pi"Oliver Smith1-0/+9
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-08ansible: explicitly give jenkins user UID=1000Oliver Smith1-0/+1
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-08ansible: fix apt deprecation warning about loopsOliver Smith2-136/+126
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-01-13ansible: tasks/osmo-ci: clone osmo-gsm-manualsOliver Smith1-0/+7
Perform the initial clone of osmo-gsm-manuals.git, just like osmo-ci.git. Related: OS#4912 Change-Id: I39a09a4297c7c78357b3d4db4ab89547fa08db59
2020-11-28ansible: Fix OBS directory namingHarald Welte1-2/+2
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-28osmocom-jenkins-slave: Re-orderHarald Welte1-4/+4
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-14ansible: ttcn3-slave: Use libfftranscode 0.3Harald Welte1-2/+2
0.3 is the first version for which we have i386 builds Change-Id: I8bc20e43a82ff797a4f70db476cddaab39fdc2a2
2020-11-14ansible: ttcn3-slave: Fix for Debian 10 slavesHarald Welte1-2/+2
Change-Id: I943e4a8e49e4f95abf1e44dc297d30c950580680
2020-11-02ttcn3-slave.yml: don't hard-code amd64 as the dpkg architectureHarald Welte1-2/+6
We have no clue what the host architecture will be... Change-Id: I32c0905c8e077faa02984ea67c452fcdb81440da
2020-08-31ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9Alexander Couzens1-0/+1
Before debian 9 those packages aren't available. e.g. libczmq-dev or libsoapysdr-dev Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b
2020-08-14ansible: osmocom-jenkins-slave: osmocom_build_deps: install ↵Alexander Couzens1-0/+24
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-04-17jenkins: Add libnl-3 for osmo-uecupsHarald Welte1-0/+2
Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0
2020-03-11ansible: ensure rsync is installed on all build slavesHarald Welte1-0/+2
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-02-26ansible: fix java for debian 10Harald Welte1-2/+12
Change-Id: I8b81edf420534726cd987f3f90efe79ca921f41a
2020-02-26ansible: Install open5gs dependencies on debian10Harald Welte1-0/+15
Change-Id: Ib58a9a91d34c4ebf10171bed8f0b26d9b34892b1
2020-02-26Make "ansible_distribution_version >= 9" workHarald Welte3-5/+5
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-20ansible: slave: Skip ttcn3 install on ARM targetsPau Espin Pedrol1-1/+1
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-13ansible: Install libsoapysdr-dev as dependency for srsLTEPau Espin Pedrol1-0/+1
srsLTE supports using LimeSDR devices through SoapySDR. Change-Id: Idd8baf934cb9245e0f897e84754905172b659e40
2020-01-29Install srsLTE build dependencies in jenkins buildhostsPau Espin Pedrol1-0/+16
Change-Id: Ib42987416ee90868ab088bfa2f92d92c764088b0
2020-01-26Fix ansible playbooks after docker directory was removed hereHarald Welte1-2/+2
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
2019-12-09osmocom_build_deps.yml: add inkscapeOliver Smith1-0/+1
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-11-23osmocom_build_deps.yml: Move from python-nwdiag to python3-nwdiagHarald Welte1-1/+1
Change-Id: I9e3c65342d1bb62d7baa9d589930aa042fb5f7a9 Closes: OS#4279 Related: OS#4246 Depends: osmo-gsm-manuals Ia2c0c833329f8ecab1c427e0d2c002f17ab49a94
2019-11-11osmocom_build_deps.yml: Add dahdi-source for libosmo-abisHarald Welte1-0/+1
Change-Id: Ic314c992f83d9fe1ea6035d67070d7c6004cc9e3
2019-11-11osmocom_build_deps: Add libaio-dev for osmo-ccid-clientHarald Welte1-0/+1
Change-Id: I6c3b536bee3d1bbd6f526bc3765fc4ad9aa4a0dd
2019-04-26osmocom-jenkins-slave: fix jessie-backports as it got deprecatedAlexander Couzens1-1/+7
Change-Id: Idae47a6529f6a870e29ab688c3479b7ef4ba200a
2019-04-21ttcn3-slave: Add libfftranscode0 + libffstranscode-dev packagesHarald Welte1-0/+7
Those proprietary libraries are required for testing APER based protocols such as those spoken on IuCS, IuPS and Iuh. Change-Id: I07489575d0b71c36b35096ecf1e2aab9577cb43e
2019-04-03jenkins-slave: Use "jessie-backports" only on jessie systemsHarald Welte1-0/+1
Change-Id: Id62c03b9759367bd5bbe20144e9ad7048d12e61b
2019-03-15build_deps: add libulfius-dev and libjansson-dev for osmo-remsimHarald Welte1-0/+10
Change-Id: I8d490babb4f1f47e94d15c74a8fba439522e1e18
2019-01-31osmocom-jenkins-slave: Deploy osmo-ci and build docker imagesHarald Welte2-0/+23
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-29Add liboping dependency for osmo-sysmonMax1-0/+2
Related: SYS#2655 Change-Id: I6198cd14ff86c5d8203d57674a17aa388f21c19d
2019-01-11ansible: Install 'sdcc' compiler for libusrp firmware on build slavesHarald Welte1-0/+2
Change-Id: I2fa8fa1a195079a0d8beda6a0aa4fc090ca37970