Commit Graph

1066 Commits

Author SHA1 Message Date
Alexander Couzens a2f86fb5be osmocom-jenkins-slave: call fstrim periodically
Change-Id: I82c497f476abf43148e8d7c027f53b87b5a738fb
2018-04-11 21:28:47 +00:00
Alexander Couzens bdfc5f9fdf ansible: gsm-tester-bts: add OBS osmocom:nightly to install osmocom utilities
Useful for admininistrators.

Change-Id: I7b704d402c83db54401d1c06acb715cce821f2e4
2018-04-11 21:28:31 +00:00
Alexander Couzens c9aa32161b ansible: gsm-tester: install sispmctl to control usb power sockets
Change-Id: Ie1af197d4b24e25196e10d2afa3ab8eea73ad729
2018-04-11 21:28:31 +00:00
Alexander Couzens 3b29270ff5 ansible: gsm-tester-modems: improve name
Use same scheme as of gsm-tester-bts.
This should improve readability.

Change-Id: I4186baaf565442c96555b723622c93b1cbd9f4f7
2018-04-11 21:28:30 +00:00
Alexander Couzens 5791cfd9db ansible: gsm-tester: move usrp tasks to gsm-tester-bts
Change-Id: I9caebed94c3473051b82e2cdc35f6dfb9f862084
2018-04-11 21:28:30 +00:00
Alexander Couzens 692f1f1221 ansible: gsm-tester-bts: install ip.access dependencies
Change-Id: I47f578c4b9bb7b1dc81ccf93a7e82a335f6968a2
2018-04-11 21:28:30 +00:00
Alexander Couzens 9464e66c91 ansible: setup-gsm-tester: use udhcpd as dhcp server
Required for ip.access
Change-Id: I5ae43ebcd3c87e625110d8ff6afa0476f4b1facf
2018-04-11 21:28:30 +00:00
Alexander Couzens 717531ac98 ansible: add role udhcpd: setup a udhcpd server
Change-Id: Ia272ae9c2b245d0a06f84b91f50dd875d4488e02
2018-04-11 21:28:30 +00:00
Alexander Couzens 1b528d6527 ansible: hosts: gsm-tester: use ansible_host to have more readable ansible output
Change-Id: Ia7b60ace8afd0e2cc47c535da1856d4f34fdd735
2018-04-11 21:28:29 +00:00
Alexander Couzens 156990fb07 jobs: master-builds.yml: allow osmo-gsm-manuals to build anywhere
When https://gerrit.osmocom.org/#/c/7725/ has been merged, there
is no need to limit this build to OsmocomApi.

Change-Id: Ic5fe39b643e7a15dbfd2efd55dce78dde30cf099
2018-04-11 16:51:24 +00:00
Alexander Couzens fd5b9fd097 osmocom-jenkins-slave: install gsm-manual dependencies
Change-Id: I3fa60bd986220e065b1e9eca4308f2b089d505d9
2018-04-11 16:51:24 +00:00
Harald Welte acdde1617b add docker-cleanup.sh script
This script should be executed regularly on all build slaves that
have docker in order to discard unused images/layers.  It would
be a good idea to call "fstrim /" afterwards in order to get more
SSD performance.  However, the latter requires root access, and hence
cannot be called by the 'osmocom-build' user and thus jenkins.

Maybe we should install it as a cron job or systemd periodic timer job?

Related: OS#3144
Change-Id: I688b952578507a9cc28fe682221b5c7e3a245519
2018-04-11 06:07:12 +00:00
Alexander Couzens 3e9d6ad7fd jobs: update-osmo-* reformat a list to be human readable
Change-Id: Ic64463d3974fdbf3967e67a77c75490d7ca80fb7
2018-04-11 06:01:24 +00:00
Alexander Couzens bff2750755 jobs: gerrit-osmo-ttcn3-hacks: execute the job on a ttcn3 node
Only ttcn3 nodes have the eclipse-titan compiler installed

Change-Id: If946af8fa3f7bd2d13914c9895d3f74b58fdef24
2018-04-10 18:58:06 +02:00
Alexander Couzens 56b2a5a723 ansible: docker: cleanup old docker images
Fixes: OS#3144
Change-Id: I77fe38775b3f6055691bbf654de4019916b75fd7
2018-04-10 14:00:24 +02:00
Neels Hofmeyr e12ebb99e4 osmo-clean-workspace.sh: make more robust against broken git clones
Change-Id: Ifa70fd75468b3e21b5c9327ea28bc7a4c8cb549d
2018-04-09 14:50:37 +02:00
Neels Hofmeyr 91404470d6 osmo-clean-workspace.sh: cosmetic: no need to clean -e deps
git clean always excludes git clone subdirs; furthermore, even if I supply a
dir as -e, the contents of that dir still get cleaned out. So it is useless to
pass -e on the commandline. Drop it.

Change-Id: I2b59cc9c9adf88a2663469b22cfeffbd66b5bf2e
2018-04-09 14:50:37 +02:00
Alexander Couzens a73b13b80f jenkins: add job osmo-gsm-tester_gerrit
The job verifies the gerrit patchset.

Change-Id: If661675528059bc8a95d39a6489a5a9381f52677
2018-04-06 06:49:52 +00:00
Alexander Couzens 2f71cccf4f jenkins: add osmo-gsm-tester_run-{prod,rnd}
Both jobs doing the actual test run on the prod or rnd tester.

Change-Id: Ic1c4babc547f48402b0bcfaf38e2734e87e565f0
2018-04-06 06:49:31 +00:00
Alexander Couzens be32123023 jenkins: add job osmo-gsm-tester_build-trigger-all
osmo-gsm-tester_build-trigger-all triggers a new build of all
osmo-gsm-tester build jobs.

Change-Id: I8dcf2a6fa2991cb73b4807f8a10d251f3dca77dd
2018-04-06 06:49:08 +00:00
Alexander Couzens 742bcf74da jenkins: add osmo-gsm-tester-build jobs
The build jobs building all osmocom components which will be used by the
osmo-gsm-tester. A .tgz archive will be used as artefact which is copied
later by the osmo-gsm-tester test run.

Change-Id: Ic49c94e9e6639e43f6ae14b868bc826af3ce2085
2018-04-06 06:48:52 +00:00
Alexander Couzens fa9f2a145f ansible jenkins-slave: only setup ttcn3_slave on debian stretch
Change-Id: Iaf043008890da94098986468e1fd3d9578810206
2018-04-05 19:58:51 +00:00
Alexander Couzens 8490e65155 ansible: install eclipse-titan
Change-Id: I354271b7c573484b7f538a5a4bb29753a950d5f9
2018-04-05 19:58:51 +00:00
Alexander Couzens 7a148bff15 jobs/update-osmo*: add new nodes to the update jobs
Change-Id: Ib103b3343d582f7a78f0c4cec00c94078a078584
2018-04-05 19:58:51 +00:00
Alexander Couzens 4f9a7bef5c ansible: hosts: add host2-deb8build-ansible host2-deb9build-ansible
Change-Id: If0a21f24483b2c1c6ea56e366c5858eee50f17e1
2018-04-05 19:58:51 +00:00
Alexander Couzens 0acdcdc220 ansible: create a new group coverity-slaves to choose the target of coverity
Change-Id: I8b09ca50db938c5c7087a74e5d2575412a916ff6
2018-04-05 19:58:51 +00:00
Alexander Couzens cb2c930723 ansible: hosts: use inventory with ansible_host to have more readable ansible output
As long they don't have a dns entry, use the ansible_host variable

Change-Id: I0888e9b66cd1077dcdada97fb5ee2d56def516e3
2018-04-05 19:58:51 +00:00
Alexander Couzens 6288079faf ansible: hosts: add build2-deb8build-ansible build2-deb9build-ansible slaves
Change-Id: Iede01ab10f0a9582b3a3a9a3ebbbc684b94a3c0a
2018-04-05 19:58:51 +00:00
Alexander Couzens 350af695e3 ansible: osmocom-jenkins-slave: don't install recommend packages
libuhd-dev would recommend uhd-host which seems not be installable on debian jessie in an lxc.
However we should have already listed all explicit dependencies and shouldn't need
anything else

Change-Id: I6859b8180916a8e172d32030da06ba6fa27d5c45
2018-04-05 19:58:50 +00:00
Neels Hofmeyr 2b526e6941 jobs/master: optimize trigger chain
Avoid as many multiple triggers as still ensure all dependent projects are
rebuilt correctly. Keep the full trigger list as comment, and illustrate in a
comment at libosmocore how the chain is intended to work.

Change-Id: Iea2cf25b3872045778f11a985a1c417f37067cd9
2018-04-04 16:53:34 +00:00
Pau Espin 5cd1529182 scripts: osmo-deps.sh: Allow building against tags
In case we provide a tag, origin/$tag doesn't resolve correctly, we must
use $tag. Same happens probably if we want to build against a specific
commit hash.

Change-Id: Ica50080c8b3e20686fe6f47a2b61718ef4a66d95
2018-04-02 19:35:36 +00:00
Harald Welte 482c99223e ansible: Add docbook5-xml to jenkins build slaves
Change-Id: Ic0a33a87a61c9cdd1ca60a023bbf2920d04fefcd
Related: OS#3072
2018-04-02 19:35:13 +00:00
Neels Hofmeyr e30bbc5906 jobs/master-builds: move all builds to debian 9 slave
Change-Id: I6f025c642d5ae57cdda9d7b34bbaeb82ca119354
2018-03-29 16:11:33 +02:00
Neels Hofmeyr 59a15e05c3 jobs/master-builds: drop useless 'node' field
The slaves to build on are determined by the slave_axis, the node parameter has
no useful effect.

Change-Id: I029de2a46f22a1b1dc977bce71137eb78b826157
2018-03-29 16:11:33 +02:00
Alexander Couzens 43a7e83921 ansible: jenkins-slave: setup ttcn3 repository
Change-Id: I3aa1bf52f6fcae129278dab7081ea5cfc97d0759
2018-03-27 15:11:44 +02:00
Pau Espin f49376516b jobs: osmo-trx: Disable temporarily ARM builds
proot crashes with current jenkins node setup, which means we cannot use
it to run ARM based axis.

proot bug is already reported upstream in:
https://github.com/proot-me/PRoot/issues/134

Related: OS#3061

Change-Id: I9bc48349c78f395b3842bc5caaf6e948fb4c299e
2018-03-17 21:25:08 +01:00
Harald Welte e0e8ac5395 ansible/roles/osmocom-jenkins-slave/tasks/main.yml: Fix alpha sorting
Change-Id: Ifdcdcd76edf791d66cbd44daa0797c61ab5d83f0
2018-03-17 14:40:31 +01:00
Harald Welte b602e355f2 Add laforge@gnumonks.org to all build failure notifications
Change-Id: I989075eb0cd930d42daa36d9d8501592141c0310
2018-03-17 14:40:31 +01:00
Alexander Couzens 196402ac65 add ansible playbooks
Introduce playbooks to do:
- setup-jenkins-slave - setup a usualy or special jenkins-slave
- setup-gsm-tester - setup the gsm-tester

Change-Id: I7007a4e6c38f73843390ec2b3b91133aff21e36a
2018-03-16 09:18:11 +00:00
Pau Espin 0765327601 osmocom-latest-packages.sh: Catch latest tags outside master branch
Some projects, like osmo-trx, may have tags created in a non-master
branch. Let's catch those too.

Tested with several osmocom repositories. The ones showing different
behaviour are osmo-trx (expected) and other repositories which have
wrong or no tags and are anyway not used since there's no OBS build for
them.

Old cmdline is left of ==, new is right:
artwork: ( == )
asn1c: ( == )
docker-playground: (debian-jessie-buildslave-0.1.0 == )
layer1-api: (superfemto_v3.8.1 == )
libasn1c: (0.9.28 == 0.9.28)
libgtpnl: (1.1.0 == 1.1.0)
libosmo-abis: (0.4.0 == 0.4.0)
libosmocore: (0.10.2 == 0.10.2)
libosmo-netif: (0.1.1 == 0.1.1)
libosmo-sccp: (0.8.1 == 0.8.1)
libsmpp34: (1.12.0 == 1.12.0)
meta-telephony: ( == )
mncc-python: ( == )
octphy-2g-headers: (OCTSDR-OPENBSC-02.09.00-B1121 == )
openbsc: (1.0.0 == 1.0.0)
osmo-bsc: (1.1.2 == 1.1.2)
osmo-bts: (0.7.0 == 0.7.0)
osmo-ci: ( == )
osmocom-bb: (osmocon_v0.0.0 == )
osmo-ggsn: (1.1.0 == 1.1.0)
osmo-gsm-manuals: ( == v1)
osmo-gsm-tester: ( == 0.1)
osmo-gsm-tester-conf: ( == )
osmo-gsm-tester-sysmocom: ( == )
osmo-hlr: (0.1.0 == 0.1.0)
osmo-iuh: (0.2.0 == 0.2.0)
osmo-mgw: (1.2.0 == 1.2.0)
osmo-msc: (1.1.2 == 1.1.2)
osmo-pcu: (0.4.0 == 0.4.0)
osmo-python-tests: ( == )
osmo-sgsn: (1.2.0 == 1.2.0)
osmo-sip-connector: (1.1.0 == 1.1.0)
osmo-trx: (0.2.0 == 0.3.0)
pysim: ( == )
python-smpplib: ( == )

Change-Id: I3b521a194f0ae9fdfa358423e66f30c1316c23e8
2018-03-07 14:11:48 +01:00
Alexander Couzens a45a34e9d0 osmo-clean-workspace: fix force checkout of a subdirectory
Instead of the subdirectory, the main repository was
forced checked out.

Change-Id: If23e89872edf48dc5b751b3c069faf585bd6a3ef
2018-02-27 15:55:13 +01:00
Alexander Couzens 8bab2702b4 jenkins: gerrit-builds: replace the label linux_amd64_debian8/9 -> osmocom-gerrit-debian8/9
Introduce more precise labels to allow more flexibility when extending the jenkins setup.
The linux_amd64_debian8 or linux_amd64_debian9 is used across all build jobs which
make it hard to add new nodes which might only support one group of
jobs.

Change-Id: I900b7b50b33cc95e127ca78d2a47f59d32a6dfee
2018-02-25 20:38:13 +01:00
Alexander Couzens 77f5ceb8d4 jenkins: master-builds: replace the label linux_amd64_debian8/9 -> osmocom-master-debian8/9
Introduce more precise labels to allow more flexibility when extending the jenkins setup.
The linux_amd64_debian8 or linux_amd64_debian9 is used across all build jobs which
make it hard to add new nodes which might only support one group of
jobs.

Change-Id: I0fa3d3f81ab01e2488fe07601740f42eb54b6d9c
2018-02-25 19:58:30 +01:00
Alexander Couzens 45bb81c8c0 jenkins: add node admin2-deb8build to the update jobs
Change-Id: I6b703b9f27865b146f20bea953fe3d6500a88166
2018-02-25 17:15:40 +01:00
Alexander Couzens 71cb57cc88 jenkins: add node admin2-deb9build to the update jobs
Change-Id: Ie3803a46ee192dc72823291004ee20f4bdbe0126
2018-02-25 14:07:10 +01:00
Harald Welte 8efadaf793 ttcn3 gerrit verification: Use 'make deps-update' target
In osmo-ttcn3-hacks Idc165425b45872d2eb958a662d03e69aaf60669d
we introduced the new 'deps-update' Makefile target to properly
update all 'deps' repositories without removing them. Let's use it.

Change-Id: Iabc54182d1d30ef26e4f72fb9db52fd25a6c9800
2018-02-15 18:37:38 +01:00
Alexander Couzens e122fef10e jobs: add Coverity Upload Job
Change-Id: I852b42a698a4568b51e993bb5e86efeed6afdb32
2018-02-10 14:48:00 +00:00
Harald Welte 64be006cd2 master-builds: Add missing dependencies / triggers
There were a lot of downstream triggers that we were missing.

I manually reviewed the debian/control files and used that to update
the trigger lists for all jobs in master-builds.yml.

Change-Id: I12057c9bb389041ef3bcabd1c335a0fa8c358092
2018-02-09 11:25:21 +01:00
Alexander Couzens 9ac76472ba jobs/README.adoc: explain the usage of API Tokens instead of passwords
Change-Id: Ie96288913aae2fe97fa11266ffa9ed098044ccfd
2018-02-06 14:39:58 +00:00
Max 9294d2124f jenkins: fix jobs template
The sequential parameter was silently skipped because it was absent from
the project template. Fix this for both master- and gerrit- jobs.

Change-Id: I0bc28695f4f270bc7b1cc4bcd5d4d43ede6172f3
2018-01-22 16:27:38 +01:00