Project

General

Profile

Jenkins Node Setup (manual)

DISCLAIMER: Most of the build slave setup is now performed via Ansible

This page describes the manual steps required beyond what the Ansible playbook is doing.

Manual setup steps that are not covered by ansible roles

coverity tokens.txt

These tokens are part of the authentication, and we hence don't want to have the tokens.txt file as part of our git repository.

The file must be manually copied to ~osmocom-build/osmo-ci/coverity/tokens.txt

docker

There appears to be some dockerfile + scripts that are not maintained in git. This is located in ~/docker of the osmocom-build user. Copy it from another node and execute ./update.sh

docker cleanup

commands to remove unused docker images:

Delete all stopped containers (including data-only containers):

docker rm $(docker ps -a -q)

Delete all 'untagged/dangling' (<none>) images

docker rmi $(docker images -q -f dangling=true)

(from https://www.calazan.com/docker-cleanup-commands/ )

docker and overlay

  • if the physical host hosting the lxc container doesn't have 'overlay.ko'
    loaded, overlay/overlay2 storage drivers are not available to docker
  • docker "silently" falls back to using "vfs" which is basically not copy-on-write
    but copy-everything-all-the-time, and which consumes massive amounts of storage
    in /var/lib/docker/vfs

How to test:

$ docker info | grep Storage

should render

Storage Driver: overlay2

If it shows vfs, something is wrong. You will need to add overlay to /etc/modules, and possibly delete all of the docker storage pool.

OBS / OSC setup

You need to manually copy the ~/.oscrc file to the new build slave. The file looks like this

[general]
apiurl = https://api.opensuse.org
[https://api.opensuse.org]
user = osmocombuilder2
pass = FIXME

SSH / ftp.osmocom.org upload

  • Ansible playbooks create SSHv2 key pair ~/.ssh/id_rsa for access to ftp.osmocom.org upload
    • this key must be added to the corresponding authorized_keys files of the upload users on ftp.osmocom.org. This is currently for the docs, binaries and the api user in the ftp.osmocom.org jail
  • Add host key of (for the right port "48") of ftp.osmocom.org:
    $ ssh -p 48 releases@rita.osmocom.org
    The authenticity of host '[rita.osmocom.org]:48 ([144.76.43.76]:48)' can't be established.
    ECDSA key fingerprint is SHA256:M/HqD/XAAhWv0wkGLaQTlYgSdowdDNtaA6+rsVmiw+I.
    Are you sure you want to continue connecting (yes/no)? yes
    
Add picture from clipboard (Maximum size: 48.8 MB)