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

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

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

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]