What's Coming IN Koji 2.0
Mike McLean
Sr. Software Engineer
Red Hat
About Mike
Koji author and maintainer
Release Configuration Management team
aka Release Engineering
Long ago: installer QA
Past life: mathematics
FAS: mikem
mikem@redhat.com
About Koji
Fedora's build system
but also used by
Red Hat
CentOS
Scientific Linux
Amazon
and more
A bit of History
Initial work in 2005 (nonpublic)
Used to build Fedora Core 6
Publicly released in 2007
More info:
Free as in Sake
https://opensource.com/life/11/7/free-sake-story-koji
Pain Points
Limited documentation
Aging code
written for python 2.4.3 (RHEL5)
xmlrpc seemed like a good idea in 2005
RPM-centric
Initial deployment can be tricky
Hard wired restrictions
Challenges
.Next
More than just rpms
not new, but getting more imperative
Dockah! Dockah! Dockah!
Streamlined workflows
Continuous Integration
Needs of different Koji consumers
Planning 2.0
Draft roadmap posted to koji-devel list
https://lists.fedorahosted.org/pipermail/koji-devel/2015-June/000000.html
Further discussion during recent FAD
Conversation is still going
Let's Talk about Goals
High Level stuff
better documentation
more community involvement
refactor/modernize code
more modular design
different types of build processes
different types build output
make hard-wired restrictions more configurable
easier to deploy
better qa process
better release process
Highlights
Python 3 Support
Older systems still matter though
Target python 2.6 + python-six
Basic client lib for older systems
XML-RPC
Build Namespaces
Useful for certain workflows
Scratch builds -> null namespace
Content Generators
Allows other types of build processes to feed into Koji
Robust metadata import
Landing in 1.11
More integral in 2.0
https://fedoraproject.org/wiki/Koji/ContentGenerators
Unify Build Types
RPM builds
Maven builds
Windows builds
Image builds
+???
Message Bus
(not fedmsg)
but probably also zeromq
just for Koji
less polling
Plugins
cleaner + more consistent
more pythonic
support plugins in cli and web ui
And still more
smarter task scheduling
modular auth
updated web ui
comments on events
flask
transient, dynamic builders
....
Ambitious?
yes
How to Help
koji-devel mailing list
We need
coding
testing
docs
feedback
q & A
[Thank You]