Hello everybody,
As you know we are provisioning an instance of Software Factory to host
RDO distgits and validation jobs. The platform can be accessed at the address
https://rpmfactory.beta.rdoproject.org.
By this mail we wanted to give a status of the platform:
- Authentication is setup with Github Oauth. So rpmf need to be authorized
on your Github account (this can be set up upon your first login, you will
be redirected to github to allow rpmf).
- All projects listed in rdoinfo have been imported. For each project there
are two repos:
- the mirror repo: Constantly synced from
git.openstack.org
- the distgit repo %project-distgit. Temporarily synced from
github.com/openstack-packages
- All repositories in rpmf are replicated to
http://github.com/rdo-packages via
the gerrit replication plugin.
- A periodic job in rpmf Zuul is configured to sync all mirror repos from upstream
http://rpmfactory.beta.rdoproject.org/jenkins/job/upstream-update/
- A periodic job in rpmf Zuul is configured to sync (until a migration to rpmf) all
distgit repos
http://rpmfactory.beta.rdoproject.org/jenkins/job/distgit-update/
- RDO maintainers referenced in rdoinfo and belonging to projects have been
added to core/ptl groups of each repo related to those projects.
- <project>-distgit repos have rpm-master, rpm-liberty, rdo-liberty branches
- A delorean-ci job is triggered by Zuul when a change is proposed on
rpm-master branch
http://rpmfactory.beta.rdoproject.org/jenkins/job/delorean-ci/95/console
- rpmf comes with an integration with koji. Default provided JJB builders can
be used to build and export packages against koji. (We are going to test it with CBS).
- We have defined a job called packstack-validate
(An output sample
http://rpmfactory.beta.rdoproject.org/jenkins/job/packstack-validate/12/c...)
(
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs...)
This job use a default builder called base-pkg-validation:
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs...
This default builder: deals with ZUUL env vars, fetch upstream source, builds a SRPM,
requests a build against koji, retrieves built packages, and creates a local repo
on the slave node.
This job packstack-validate is an example job that just run packstack and smoke
validation.
- Another job called pkg-export has been defined to build (non-scratch) when a change
has been approved in Gerrit and is passing through the gate pipeline.
(An output
http://rpmfactory.beta.rdoproject.org/jenkins/job/pkg-export/16/console)
(
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs...)
This job use a default builder called base-pkg-exportation:
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs...
This builder is designed to wait for job results (for the jobs running for the same
change in the gate pipeline) if there are some. Then it starts a build against koji
(in a non-scratch mode). RPM definitive build as well as change merged in the GIT
repo are then done only if additional jobs have succeeded.
- Jobs/Jobs triggering definition as well as slave nodes are defined in the special
config repo:
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=tree
- Requesting a change in that config repo is done via Gerrit and the typical workflow
of test + review + approval. Approval can only be done by member config-core group.
- A special group rdo-provenpackagers has been created. All projects *-ptl group
include rdo-provenpackagers.
- Additional patches included in a distgit are supposed to be managed in form of gerrit
open reviews. For instance have a look to the patches chain of ironic for liberty:
http://rpmfactory.beta.rdoproject.org/r/#/c/637 This chain of patches is attached to
the
liberty-patches branch and each change on it will trigger a job called tox-validate.
- rdopkg is officially hosted in rpmfactory. We are currently working on adding the
RPMFactory workflow to this tool (WIP, but you can play around by checking this
review:
http://rpmfactory.beta.rdoproject.org/r/624 )
- You can test the new workflow manually by following the instructions here:
http://softwarefactory-project.io/etherpad/p/testdrivesf
- rdoinfo is forked in rpmfactory until we push into production. This version of rdoinfo
configures the rpmfactory repositories. You can get it here:
http://rpmfactory.beta.rdoproject.org/r/gitweb?p=rdoinfo.git;a=summary
and you can use it with rdopkg by running: echo
'RDOINFO_REPO="ssh://rpmfactory.beta.rdoproject.org:29418/rdoinfo.git"'
>> ~/.rdopkg/conf.d/myrdoinfo.py
Today the beta platform is not connected to CBS but only to an internal Koji. So
submitting
changes and validating them to simulate a real workflow won't have any incidence
against the
real RDO RPM repos. Furthermore any test changes merged in some GIT repos on rpmf will be
overwritten
by the periodic distgit-update job.
Login with github, if you are a maintainer of a package you should already be provisioned
in rpmfactory with the roles of "core" and "PTL" on your project,
allowing you to approve
reviews, please make sure it is the case.
We invite you to have a look to the platform in order to raise issues/questions
about it before the platform is re-deployed for production under
review.rdoproject.org.
Regards,
The Cobra Team.