Getting Packages To Users

One of the Paas SIG goals is to get working OpenShift Origin packages to users. Our official way of getting the packages to users is via yum repositories. The general steps are outlined in the Release Workflow.

But the workflow page doesn't cover some of the behind the scenes work that has to happen for certain steps to be able to work. That is what this page is for. It's possible that these two pages can be combined into one larger page.

Setup For Each Major Release

Each Origin Major release gets its own CentOS build target, set of tags, and set of repositories. We originally had them all in one large repository, but it soon was obvious that this didn't work for the overlapping installation style that OpenShift Origin uses.

Targets and Tags

To create a new batch of tags and build targets, you need to create an issue in the CentOS Bug Tracker.

Testing Repo

When you start getting packages built, and ready for testing, you need to request a testing repository. Since this takes a little bit of time to setup, you might want to plan for this early. You can tag your general packages into -testing first, such as python-keyczar, and then request the -testing repo early. That way, when you get your origin package built, the -testing repository will be ready.

Once a testing repository is created, you can just tag packages into it, and they will show up in 20 to 120 minutes.

To create a new testing repository, you need to create an issue in the CentOS Bug Tracker.

Released Repo

Just like the testing repositories, you need to request released repositories. Unlike testing repo's, you do not want to do this early. Only request these repositories when you are ready for a release. Otherwise people are going to think your version of origin is released and start filing bugs that you are missing packages.

Once a released repository is created, you can tag packages into it. Signed packages will show up every day (from Monday to Thursday) at 09:00am UTC.

To create a new release repository, you need to create an issue in the CentOS Bug Tracker.

Note:

Release RPMS

In order for users to easily use the Released Repo's, they need to install the corresponding centos-release-openshift-origin3* rpm. This package is in the main centos-extras repository, so it is easy to install. This package contains the yum configuration files so users can use our Released Repos. CentOS Documentation on Release Packages

These packages can be created ahead of time, and even in batches. If you make the packages ahead of time, do not tag them into the -release tag until you released the corresponding origin version and have created the Released Repo for it.

To create a new centos-release-openshift-origin3* rpm, you need to first add the package to the tag. For our examples we will be making a release package for origin 3.10

Then you need to create the new source rpm, and build it on cbs.

Finally, when it's time for a release, tag your cbs built package into the extras release repo.

Once all the above was achieved, reach out to Johnny Hughes (irc nickname hughesjr) on centos-devel irc channel and ask him to build/sign/push the rpm. You should also mention to him the rpm arch - currently only x86_64 is supported.

Tagging

To look at targets, and work with tags, you much have cbs installed. If you do not, here are the instructions for installing cbs

Very good explanation on Tags and Targets

CBS commands

Candidate Repo

Packages that are tagged into -candidate is what the corresponding target builds with. So if you need to build with a specific version of golang, tag it into the the -candidate repo it needs to be in. Also, packages that are built with the corresponding target get a -candidate tag. It usually takes 10-20 minutes for a package to make it into a repo.

Testing Repo

Packages that are tagged into -testing go into the corresponding testing repo (if it has been created. See above). It usually takes between 20 minutes and 2 hours for a package to make it into the repo.

Released Repo

Packages that are tagged into -release go into the corresponding released repo on the mirrors (if it has been created. See above). The signing and pushing process usually only happens once a day, Monday through Thursday.

SpecialInterestGroup/PaaS/OpenShift-Targets-Tags-Repos (last edited 2018-08-10 14:24:18 by DanielComnea)