Commit Graph

752 Commits

Author SHA1 Message Date
Oliver Smith 2281a6fe33 OBS: use nightly script to build 2021q1 feed
Use the nightly script instead of latest, so all packages get
upgraded when upgrading osmocom-2021q1.

Related: SYS#5370
Change-Id: If8de585652997aae1edb586c948c181f564f6994
2021-05-17 17:14:15 +02:00
Oliver Smith 2e5cd825b0 OBS: refactor osmo_obs_prepare_conflict
Determine the package name of the conflict package itself and all
conflicting packages automatically, so we don't need to have it
duplicated in the OBS latest and OBS nightly scripts.

This is in preparation to move osmocom-2021q1 from latest to nightly.
With the current logic in nightly for the conflict package, it would not
be possible.

Related: SYS#5370
Change-Id: I183b9040250e66e0d7d17ef4b95af9e7d4a26f04
2021-05-17 17:11:41 +02:00
Oliver Smith 452ae4f410 OBS: move verify_feed to common
Prepare to move the 2021q1 feed from latest to nightly.

Related: SYS#5370
Change-Id: I91e4c36d4a04d465fc9ccb933e8060511b7cd145
2021-05-17 11:31:26 +02:00
Oliver Smith 00188531c2 OBS: conflict: allow overriding pkgver
Allow overriding OSMO_OBS_CONFLICT_PKGVER, so we can increase the
version of the osmocom-2021q1 package whenever something changes on one
of the 2021q1 branches.

Related: SYS#5370
Change-Id: Iae45d7462aab8227ed3756e6cccfa3e64cb04211
2021-05-17 08:27:17 +00: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
Harald Welte 1a8bdf4674 layer1-headers: change git.sysmocom.de to https
after migrating to gitea, we don't offer classic git:// anymore

Change-Id: I61b3b5508031b5b1f1dd521833096a84ab7c9c0f
2021-05-17 08:09:29 +02:00
Oliver Smith 849495ff9b jobs/ttcn3: add TTCN3-centos-*-2021q1
Depends: docker-playground Icf1e3f1928658ff3d82190c4176252cf3590a1f5
Related: SYS#5370
Change-Id: I2ec731d7d6d31c06b8feccbc7620128ebb034299
2021-05-04 09:38:38 +02:00
Oliver Smith f8099e5504 OBS: add osmocom-packages-docker.sh
Add a simple helper script to run osmocom-*-packages.sh in docker to
avoid installing dependencies on the host system.

Related: SYS#5370
Depends: docker-playground Ibb55ad18d2ccf4313f52fa3e3c10d4420c84dced
Change-Id: Icc89e20950c2aaa67b209340d1d797b76fce32d2
2021-04-29 16:05:14 +02:00
Oliver Smith 730d011de5 OBS: common: don't require wget anymore
Not needed anymore since Iaf2527043e9acdb6acff3e481d4516ac4b75b7e7.

Change-Id: I2e03487058e4c2c9426872975953fa1814b24ccd
2021-04-29 16:05:14 +02:00
Oliver Smith a323d1a41c OBS: latest: add commit to version for 2021q1 feed
Move get_commit_version to common-obs.sh and call it in
osmocom-latest-packages.sh, if the feed is not "latest". This way, the
packages don't have the latest tag as version anymore, and the version
changes if commits get pushed to the feed's branch.

Related: SYS#5370
Change-Id: I4a4fa3b8f66652ef36a7fe62047a88a69c473f19
2021-04-29 16:05:14 +02:00
Oliver Smith 4e82ff70cd OBS: refactor git_version_gen related logic
Move git_version_gen calls into an own function and add some of the
description from I76e3713f0b01a6110091ff90e8e53aa79533c374 where this
code was added.

Don't call it inside get_commit_version anymore, but call it before.
Don't try to cat the resulting .tarball-version there if it doesn't
exist.

Related: SYS#5370
Change-Id: I9a1b6ae4b4311abb77dc6390733c5e330e3d489e
2021-04-29 16:05:14 +02:00
Oliver Smith 5ef41781aa OBS: add PACKAGES env var
Skip checking out and building source packages of all other packages, if
the environment variable is set.

Related: SYS#5370
Change-Id: I83c3744713fd6abda4b832460f30eb2e79ebeed8
2021-04-29 16:05:14 +02:00
Oliver Smith 797e4aa386 OBS: latest: support new 2021q1 feed
Related: SYS#5370
Change-Id: I7a59a6ad94b21ba397349813b56b9bd5ea01c7c3
2021-04-29 16:05:10 +02:00
Oliver Smith c925604247 Cosmetic: OBS: explain difference latest/nightly
Related: SYS#5370
Change-Id: I4de2a9e9d096f8f77bfd72b8cabb0a69af2d51df
2021-04-29 16:04:34 +02:00
Oliver Smith e660339f2e OBS: require PROJ environment variable to be set
Uploading to network:osmocom:* should only be done when these scripts
are running in the Osmocom jenkins. Remove the default and require users
of the script to explicitly set PROJ.

Related: SYS#5370
Change-Id: If49ce217e77716b63dfde9139e869672a54b66a2
2021-04-29 16:04:00 +02:00
Oliver Smith 3c31513bcc OBS: nightly: build: simplify changelog parameter
Change-Id: I4a7f63f71d248b3796493adf6dc1be9c1b737c2e
2021-04-29 11:03:07 +02:00
Oliver Smith 57a07962f6 Cosmetic: OBS: describe build() parameters
Change-Id: Ib50499d6d3bd862879eaff58c9bf2260afc97ff8
2021-04-29 11:03:00 +02:00
Oliver Smith e8f56403fc OBS: nightly: append date to all packages
Instead of only appending the date to non-Osmocom packages in
get_commit_version, append it to all packages in build(). This ensures
we increase the version of Osmocom packages even if the commit did not
change.

Fixes: OS#5135
Change-Id: I04d84f39f4093c8edfe21a94c10ecb8d3c7b5b64
2021-04-29 10:38:10 +02:00
Oliver Smith 0bb0238465 OBS: nightly: no change to osmocom-$FEED changelog
Skip the logic to generate a new debian/changelog version for
osmocom-nightly and osmocom-next packages in build(). Use
$OSMO_OBS_CONFLICT_PKGVER instead, as it gets written to
debian/changelog in common-obs-conflict.sh already, and append the date
to the variable.

Related: OS#5135
Change-Id: I85f0bcb633c16c7b5a81104f198d9561f53c0c01
2021-04-29 10:32:08 +02:00
Oliver Smith ccc67c7d44 repo-install-test: get journal of failed services
Depending on the service, error messages are not shown with the
systemctl command. Run journalctl for failed services so we get the
reason for the failure in the jenkins log.

Related: OS#5130
Change-Id: Ib454424d7867137246fadd73255d4dbff63731a6
2021-04-26 10:05:09 +02:00
Harald Welte 92948e6f41 add jenkins jobs for TTCN3 tests of osmo-pcap-client
Change-Id: I4283c3f578a9baccddc693d4b09043502212a8e5
2021-04-25 21:55:18 +02:00
Harald Welte f1b0acb231 release-tarballs: Don't rely on system-installed 'known_hosts'
We should do like the various contrib/jenkins.sh scripts and
bring our own known_hosts file to deploy to ftp.osmocom.org.

This fixes deploying after merging If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
recently.

Change-Id: Ia598739f820c8b00c33382afbbe88bf2638241dc
2021-04-25 21:55:18 +02:00
Harald Welte 7cabaabd0e osmocom-release-tarballs: Switch from rita -> ftp.osmocom.org
We should use service-aliases and not the primary host name, as
that makes migration between machines hard.

Change-Id: If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
2021-04-22 11:25:55 +02:00
Harald Welte 39632345e7 disable gbproxy-latest TTCN3 tests for the time being.
The latest tagged libosmocore misses several important features
and it is currently not economic to maintain a test suite for
the older NS dialect.

Change-Id: I3c87ec54c86ecbfe0c358178b4d8dafd613db584
2021-04-13 13:22:02 +02:00
Harald Welte 20925c1c2a jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr"
Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c
Related: SYS#5396
2021-03-31 10:23:21 +02:00
Harald Welte 22aae4b8fa Add TTCN3 test job for osmo-ns-dummy master
Related: OS#5396
Change-Id: I3442c1fb826385a847f3965306bc48249474176a
2021-03-30 20:37:24 +02:00
Pau Espin fd18e126ac scripts: build debian-buster-jenkins image in docker regsitry
Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19
2021-03-22 12:46:16 +01: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 085f2bc1f5 jobs: Add OGT open5gs build jobs
Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832
2021-03-15 19:13:07 +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 85bca774fc jobs/osmocom-release-tarballs: adjust containers
Build debian-stretch-obs-latest instead of debian-stretch-build, before
building debian-stretch-build-dist.

Depends: docker-playground I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f
Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90
2021-03-12 08:38:40 +00: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 ca8b26a18c jobs/ttcn3: add myself to e-mail recipients
Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885
2021-03-10 13:29:14 +01:00
Oliver Smith e00e3fb915 jobs/ttcn3-testsuites: kernel: keep workspace
Don't wipe the workspace of kernel tests. Cloning the kernel sources
takes a great amount of time and traffic, so we want to keep them
around.

Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a
2021-03-10 13:29:08 +01:00
Oliver Smith 463a6cc012 jobs/master,gerrit: run osmo-{bts,trx} in docker
Build both of them in docker, like most other projects.

Depends: docker-playground Ieec31fd6a2034c4430be81afd1d370816cd577d5
Related: OS#5055
Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674
2021-03-09 09:30:27 +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 8c48d2020a jobs/*: update references to rpi4 nodes
Use the new label that matches all three rpi4 nodes in master-builds and
gerrit-verifications (so the builds can run on any of them). Use the
names of the three nodes in update-osmo-*-on-slaves, so all of them get
updated.

Related: https://jenkins.osmocom.org/jenkins/label/rpi4-raspbian10/
Related: OS#5055
Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c
2021-03-08 15:44:11 +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 af9e8a9e64 jobs/ttcn3: add TTCN3-centos-*-latest
Depends: docker-playground I274b31d4903df07e99fd434af25bdb72991f6923
Related: OS#5049
Change-Id: I9a29fddc93789cd285d85445830cc26016af9768
2021-03-04 15:04:41 +01:00
Oliver Smith 57576f66e3 jobs/ttcn3-testsuites-kernel-git: remove wrong comment
Here, the job names are not the same as the directory names of
docker-playground.git

Related: OS#3208
Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b
2021-03-04 14:20:14 +01:00
Oliver Smith 5916e1f003 jobs/ttcn3-testsuites-kernel-git: make userfriendly
Change the description of the job, to make it easier to use for somebody
not familiar with the Osmocom stack / the testsuites. Move the BRANCH
parameter to the bottom, as it is not relevant for kernel developers who
want to test their kernel, and adjust the description.

Related: OS#3208
Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea
2021-03-04 14:20:09 +01:00
Oliver Smith 3b9325f0b6 jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION
Let the user choose whether to run against osmo-ggsn latest or master.
I chose the name "OSMOCOM_VERSION" for the variable to make this easier
to use for people not familiar with the Osmocom stack / the test
infrastructure, as suggested in the related issue.

Related: OS#3208
Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6
2021-03-04 10:56:24 +01:00
Oliver Smith 0cdf1db366 jobs/ttcn3-testsuites-kernel-git: trigger manually
Related: OS#3208
Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6
2021-03-04 10:56:24 +01:00
Oliver Smith 6f2f1cbd33 jobs/ttcn3: add new ggsn-test-kernel-latest jobs
Add new nightly jobs, as requested in OS#3208:
- ttcn3-ggsn-test-kernel-latest-torvalds
- ttcn3-ggsn-test-kernel-latest-net-next

Note that they are in ttcn3-testsuites.yml and not
testsuites-kernel-git.yml, because the KERNEL_URL etc. parameters are
not configurable. These new jobs are supposed to run every night with
the same hardcoded git repositories, the other job from
testsuites-kernel-git.yml is for manual runs with a freely configurable
kernel URL.

Depends: docker-playground Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9
Related: OS#3208
Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938
2021-03-04 10:56:13 +01:00
Oliver Smith f6d567885d jobs/ttcn3: split *-kernel-git to own file
Move ttcn3-ggsn-test-kernel-git into its own file, so the parameters
that are only relevant for cloning a kernel from git, do not show up in
all other TTCN-3 jenkins jobs.

Related: OS#3208
Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8
2021-03-02 13:26:08 +00:00
Harald Welte 12386e706a ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest
now that osmo-smlc is part of network:osmocom:latest, test it both
on debian9 + centos8

Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b
2021-03-02 13:41:38 +01:00