Status of the RPM Factory experiment to become the forge to build the OpenStack RPM packages for the RDO project. Presented at the RDO Day pre-FOSDEM 2016.
Presentation on how to chat with PDF using ChatGPT code interpreter
RPM Factory for RDO
1. RPM Factory for RDO
Frédéric Lepied
Senior Engineering Manager
Member of Technical Staff
29 Jan 2016
2. RPM Factory for RDO - 29 Jan 20162
Who am I?
● work @ Red Hat in the CTO Office group focused on OpenStack
● was eNovance VP of Engineering (OpenStack service company)
● been in the Open Source world since 1995 (XFree86, Debian,
MandrakeSoft/Mandriva, OpenStack)
● involved in: X11 XInput, wacom driver, Debian, Mandrake Linux,
rpmlint, msec, lads, eDeploy
● worked in build systems, CI, packaging for a long time
irc/twitter: @flepied
3. RPM Factory for RDO - 29 Jan 20163
Agenda
● Objectives of the project
● Where we are
● What remains to be done
● Discussions
4. RPM Factory for RDO - 29 Jan 20164
Objectives of RPM Factory for RDO
● Ease the learning curve to contribute to RDO by using the same
workflow as OpenStack
● Locate the different components used in the infra at the same
location as much as possible
5. RPM Factory for RDO - 29 Jan 20165
Objectives: more details
● gerrit workflow for packaging with a gating approach
● consumable RPM packages for testing upstream projects in a continuous
way:
○ prepare next RDO release
○ needed artifacts for RDO manager and Puppet modules testing
● have a set of validated packages ready for consumption at different
readiness levels: installable, smoke test CI, tripleo-CI, puppet CI…
6. RPM Factory for RDO - 29 Jan 2016
Where we are
6
We are experimenting this workflow using the Software Factory project
at http://rpmfactory.beta.rdoproject.org
Software Factory is an integration of the OpenStack workflow to be used
on your premise http://softwarefactory-project.io/:
● gerrit, zuul, jenkins, nodepool
with some add-ons:
● self-configurable using the config git repo with yaml files
● etherpad, paste, a config REST API, a SSO and a dashboard
7. RPM Factory for RDO - 29 Jan 2016
Target workflow
7
Local changes
submitted with
git-review
Gerrit code
review system
github
mirror
Zuul Gearman
Jenkins
servers
Nodepool
Jenkins
slaves
Local
git
repos
Upstream
git repos
Delorean
trunk
rpm
repos
stable
rpm
repos
Koji
8. RPM Factory for RDO - 29 Jan 2016
Where we are
8
We are building a gerrit workflow for rpm package building:
● run unit tests from upstream project
● 2 git repositories way of working
● package builds in koji
● integration with Delorean
● gating of packages before creating a public repository using
functional tests
9. RPM Factory for RDO - 29 Jan 2016
Where we are
9
Gerrit and Zuul Pipelines
2 git repositories per package:
1. project repository
a. check pipeline: tox checks like upstream OpenStack.
b. non merged review series to manage patch series. Avoid push -f and
so allow to keep the history.
2. dist-git repository
a. check and gate pipelines to build packages on the stable branches:
i. using koji and validated using functional tests.
b. check pipeline delorean build on the rpm-master branch.
10. RPM Factory for RDO - 29 Jan 201610
What remains to be done
● import all the repositories (1 package remains to be done)
● finish connection between delorean and gerrit
● write documentation
● finalize change to rdopkg to import the gerrit branch series
● automate branch creation
11. RPM Factory for RDO - 29 Jan 201611
Conclusion
● gating rpm packages can be done!
● we need more feedback!
http://rpmfactory.beta.rdoproject.org