Project

General

Profile

Actions

Feature #5981

closed

obs.osmocom.org project/package feed for TIC/Rhizomatica

Added by laforge about 1 year ago. Updated 10 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
03/29/2023
Due date:
% Done:

100%

Spec Reference:

Description

TIC/Rhizomatica is using the osmocom:latest feeds for most of their osmo-* packages on their (mostly Debian 10) machines, but have a few self-built packages on top (from a private feed).

We've discussed two topics during a recent call with keith:

  • having a feed for testing patches/fixes in situations where one of the osmocom developers has some not-in-latest patch that they want to deploy to (and test) on certain TIC/rhizomatica networks
    • this feed should automatically build packages from osmo-* git repo branch, e.g. rhizomatica/testing (if such a branch exists)
    • this feed would only contain those packages for which currently said branch exists. All other packages are used from osmocom:latest
    • if said branch is removed form a given osmo-* git repo, the package should also disappear, making the version osmocom:latest again the best available version

In addition, there was also the suggestion whether or not the custom, hand-built production packages on TIC/Rhizomatica systems could be built via osmocom.org jenkins/obs. This would remove the burden of manually building those packages and maintaining related feeds, and instead keith would just push to a related branch on the git repo at osmocom.org, which would trigger the package build, ...

It could use the same mechanism as suggested for rhizomatica/testing above, resulting in the following hierarchy:

  • osmocom:latest as basis/fall-back.
    • feed configured on all TIC systems
  • rhizomatica:production for those packages that require additional rhizomatica-specific patches.
    • uses osmocom:latest to resolve its depenencies
    • only built for packages where a related rhizomatica/production branch exists in the osmo-*.git repo.
    • feed configured on all TIC systems
  • rhizomatica:testing for very few select packages where any of us wants to test something on a TIC system
    • uses rhizomatica:production to resolve its dependencies
    • only built for packages where a related rhizomatica/testing branch exists in the osmo-*.git repo.
    • feed configured only on some (typically one) TIC system to test a specific code change

The most relevant distro for those builds right now is Debian 10. Not sure if only x86_64 or also 32bit x86 builds are required?


Checklist

  • set up OBS projects rhizomatica:testing, rhizomatica:production
  • write jenkins jobs that trigger on changes to related branches, and update or delete the packages from the rhizomatica OBS repositories
  • deploy packages from OBS
Actions #1

Updated by keith about 1 year ago

Thanks! 32 bit build is not required.

Actions #2

Updated by osmith about 1 year ago

  • Description updated (diff)
  • Status changed from New to Feedback
  • Assignee changed from osmith to keith

Sounds good.

keith:

  • Can you push the rhizomatica/production branches for the projects where you currently use custom patches?
  • Which projects are these?
  • Which projects are relevant for the package feed in general, where do we expect to have such rhizomatica branches in the future? (we could also do all, but as it's probably just a few of them we can save some iterations of checking git commits from remote repositories etc.)
Actions #3

Updated by laforge about 1 year ago

On Mon, Apr 03, 2023 at 01:09:17PM +0000, osmith wrote:

Status changed from New to Feedback
Assignee changed from osmith to keith

fyi, Keith indicated that he'd be on holidays pretty much all of April, so
don't expect any quick responses.

Actions #4

Updated by neels about 1 year ago

I just added SYS#6415 to ask whether i can get a custom package build by
pushing a git branch. Just would like to relate that here, in the sense of:
when osmith is already setting up a custom build for rhizomatica, then maybe it
is quick to also setup another 'sandbox' feed at the same time?

Actions #5

Updated by laforge about 1 year ago

osmith wrote in #note-2:

  • Can you push the rhizomatica/production branches for the projects where you currently use custom patches?

AFAIR they are https://gitlab.tic-ac.org/ but are unfortunately not publicly browsable.

  • Which projects are these?

Anyone participating in the call last week and/or able to access rhizomatica systems can just log into a system and check. From my memory it was mostly osmo-msc at this point, possibly osmo-hlr, too.

  • Which projects are relevant for the package feed in general, where do we expect to have such rhizomatica branches in the future? (we could also do "all")

I'd go for a generic solution. You never know in advance. Any Osmocom CNI repository should be covered.

Actions #6

Updated by osmith about 1 year ago

  • Status changed from Feedback to In Progress
  • Assignee changed from keith to osmith
Actions #7

Updated by osmith about 1 year ago

  • Checklist item set up OBS projects rhizomatica:testing, rhizomatica:production added
  • Checklist item write jenkins jobs that trigger on changes to related branches, and update or delete the packages from the rhizomatica OBS repositories added
  • Checklist item deploy packages from OBS added
  • % Done changed from 0 to 80

Patches: https://gerrit.osmocom.org/q/topic:rhizomatica-repos

It's working as described above, as soon as one pushes to rhizomatica/testing or rhizomatica/production branches of any Osmocom repository (that is in gerrit), a source package gets built and updated in OBS. When deleting the branch, the job also gets triggered and deletes the package from OBS.

As discussed with Harald, the part of publishing the built packages from OBS is not implemented yet.

Actions #8

Updated by osmith about 1 year ago

For testing purposes, I currently have added a rhizomatica/testing branch to osmo-msc that points at the 1.10.0 (current latest) release.

Actions #9

Updated by osmith 12 months ago

  • Status changed from In Progress to Feedback
  • Assignee changed from osmith to keith

The remaining part is publishing the packages built by OBS.

Harald told me it would be better to not make them part of https://downloads.osmocom.org/ as otherwise people may assume that they are meant to be used by anyone. (Which is of course not the case as they will have WIP/debug patches for rhizomatica's use case, regular users should use the repos as described here)

keith: can we upload the packages directly to a rhizomatica server via rsync?

Actions #10

Updated by keith 12 months ago

Yes, we can of course do that. I guess we should PM the details.

Actions #11

Updated by osmith 12 months ago

  • Checklist item deploy packages from OBS set to Done
  • Status changed from Feedback to In Progress
  • Assignee changed from keith to osmith
  • % Done changed from 80 to 100

Thanks! The publishing script is set up now, directly uploading to your server.

Actions #12

Updated by osmith 12 months ago

  • Status changed from In Progress to Resolved
Actions #14

Updated by osmith 10 months ago

It seems the repositories are not used yet, and they would have the same problem as in #6064. I've added a separate GPG key now:

https://obs.osmocom.org/projects/rhizomatica/public_key

It can be installed the same way as described here: https://osmocom.org/projects/cellular-infrastructure/wiki/Latest_Builds#Debian-based-distributions

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)