[Rdo-list] A status of the beta platform rpmfactory.beta.rdoproject.org

Fabien Boucher fboucher at redhat.com
Fri Mar 11 13:23:15 UTC 2016


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/console)
    (http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs/distgit.yaml;h=ab2543e6e6e8c4a1a57731cf1e84751bc3b1e8f5;hb=HEAD#l4)
    This job use a default builder called base-pkg-validation: http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs/rpmfactory.yaml;h=9e4aa3612f0cb388f5383871cac670880c276ae2;hb=HEAD#l23
    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/distgit.yaml;h=ab2543e6e6e8c4a1a57731cf1e84751bc3b1e8f5;hb=HEAD#l59)
    This job use a default builder called base-pkg-exportation: http://rpmfactory.beta.rdoproject.org/r/gitweb?p=config.git;a=blob;f=jobs/rpmfactory.yaml;h=9e4aa3612f0cb388f5383871cac670880c276ae2;hb=HEAD#l33
    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.




More information about the dev mailing list