+ - 0:00:00

OpenStack Packaging for Fedora & CentOS

Haïkel Guémar - @hguemar

1 / 42

whoami

  • Fedoraproject.org developer (Cloud WG)

  • CentOS developer (Cloud SIG/OpenStack)

  • OpenStack ATC

  • RDO Engineering @ Red Hat

2 / 42

Introduction

3 / 42

What's OpenStack ?

OpenStack is an open source platform that lets you build an Infrastructure as a Service (IaaS) cloud that runs on commodity hardware

overview

http://openstack.org

4 / 42

OpenStack is really ...

5 / 42

What's RDO

RDO is a freely-available and community supported distribution of OpenStack packaged and integrated for RHEL, CentOS and Fedora.

http://rdoproject.org

6 / 42

What's RDO

  • OpenStack packages
  • An installer: packstack
  • A deployment & management tool: RDO Manager
  • MOST IMPORTANT: A COMMUNITY
7 / 42

Packstack

  • Fast & simple deployment tool of OpenStack
  • Handle single-node/multi-nodes configuration
  • Aims at small PoCs
  • Built on Puppet

8 / 42

RDO Manager

  • Deployment & management console
  • Built on Triple O (and inspired by enovance SpinalStack)
  • Leverage OpenStack API

RDO Manager documentation

RDO Manager at Vancouver Summit

9 / 42

What's Triple O ?

  • Undercloud (management node)
  • Overcloud (deployed cloud)

10 / 42

History - OpenStack in Fedora

  • openstack-nova Diablo imported to Fedora 16 in August 2011 1
  • Until now we were able to keep Fedora/OpenStack release 1:1 2
    • Fedora 16 includes OpenStack Diablo
    • Fedora 17 includes OpenStack Essex
    • Fedora 18 includes OpenStack Folsom
    • Fedora 19 includes OpenStack Grizzly
    • Fedora 20 includes OpenStack Havana
    • Fedora 21 includes OpenStack Icehouse
    • Fedora 22 includes OpenStack Juno
    • Fedora 23 will include OpenStack Kilo
11 / 42

History - OpenStack in RHEL/CentOS

  • Nova added to EPEL6 in November 2011
  • complete Essex update in April 2012 1
  • incompatible Folsom update in October 2012 2 sparked conversations leading to the creation of RDO 3
  • RDO started with Grizzly in April 2013
12 / 42

OpenStack Packaging Challenges

13 / 42

Multiple Targets

  • RHEL/CentOS 7 (starting Kilo)
  • RHEL/CentOS 6 (clients only)
  • All currently supported Fedora (+ Rawhide of course)
14 / 42

Multiple Releases

  • Icehouse/2014.1.3 (EOL) => april 2014
  • Juno/2014.2.x (previous stable) => october 2014
  • Kilo (current stable) => may 2015
  • Liberty (master)
15 / 42

Many packages

For instance CentOS 7 Juno

  • 641 binary packages for CentOS
  • 282 source packages
  • 207 python packages
  • 101 source packages for openstack services
  • 17 source packages for openstack clients
16 / 42

The Setup

17 / 42

Git

  • Currently hosted on Fedora dist-git
  • A single spec per release on one branch
    • master (F23) => Kilo
    • F22 => Juno
    • F21 => Icehouse
  • Same spec is used to be built on multiple targets
  • Trunk aka Liberty is a special case. Specs lives there: https://github.com/openstack-packages/
18 / 42

Buildsystem Setup

  • RDO Fedora is built in Koji, Fedora N+1 builds are made available for Fedora N e.g. RDO Kilo for Fedora 22 are Fedora 23 builds
  • RDO EL is built in CBS and is self-sufficient starting Kilo
19 / 42

Packaging/Patches review

  • Using gerrit like OpenStack upstream
  • Patches and packaging changes runs through a review
  • Updates are submitted through a simple YAML file
  • Hosted on gerrithub
  • Trigger a serie of CI jobs
20 / 42

Continuous Integration

  • Phase1

Install packages from update YAML on the snapshot image with the all-in-one OpenStack installation, starts services and runs Tempest smoketest. Tests basic package sanity and upgrade.

  • Phase2

Runs from-the-scratch all-in-one installation with all the packages which passed Phase1. Tests package interaction among queued updates.

  • stage daily jobs and on-demand before pushing queued updates list
  • production daily job to catch regressions in dependency changes

=> Moved to ci.centos.org

21 / 42

Back to the future !

22 / 42

Delorean

Tracks upstream master (currently Liberty) and stable branches now.

Breaks when upstream change requires packaging changes and alerts package owners as defined in rdoinfo

Going forward, all packaging changes will be done in Delorean packages first, and merged to stable packaging branches How to add a package in RDO master Delorean FAQ

23 / 42

rdopkg: swiss army knife for RDO packaging

  • Automate most of the annoyances
  • Rebase/Updating patches/Submit updates etc.

Available here

24 / 42

RDO Status

25 / 42

Opening up the technical governance

  • Public infrastructure => reviewing system, CI (WiP)
  • Weekly IRC meetings on freenode (agenda)
  • Creation of RDO Eng. team to support and foster contributions (ping apevec or hguemar to get started!)
  • RDO Eng. is the only team that has no internal meetings, all in the open!
  • Open roadmap (RDO public trello)
26 / 42

Why?

  • RDO has been founded as a self-supporting community distribution of OpenStack for Fedora/RHEL ecosystem
  • Enable community contributors collaboration
  • Allow community to choose the direction of the project
27 / 42

A lot more contributions from non-redhatters

Juno highlights:

  • Juno/EL6 builds thanks to Thomas Oulevey (CERN)
  • Barbican packages thanks to Greg Swift (Rackspace)
  • GBP packages thanks to Robert Kukura (Cisco)
28 / 42

RDO 💓 CentOS

  • RDO starting Kilo is fully built on CBS
  • One of the first usable product by a SIG
  • Considering moving more bits of RDO infrastructure over CentOS
29 / 42

RDO mid-cycle meetup

  • Full day meetup during FOSDEM
  • Co-located with FOSDEM CentOS dojo
  • Discussion on planning and future organization
30 / 42

Big tent plans

  • A lot of interests in maintaining non-core projects in RDO
  • RDO Eng. will be supporting community efforts as long as there is commitment
  • Note that won't impact RHOSP

Projects in RDO list

31 / 42

Packaging as an upstream project

  • Proposal cooked up at Vancouver Summit
  • We're 100% behind it
  • Currently discussing with Suse guys on how we could converge RPM packaging
  • Not a disruptive change to us as we've been working on two releases using a very similar workflow (delorean + gerrithub)
32 / 42

No stable point-releases

  • Upstream will stand behind stable branches ensuring that every commit is production-ready
  • Allow more frequent bugfix and CVE releases in RDO
  • Still need to figure out details (tarballs & changelog)
33 / 42

Operational tools

  • Bringing mature and advanced operational tools to RDO
    • Centralised Logging
    • Performance Monitoring
    • Availability Monitoring
  • Led by Graeme Gillies

Discussion on RDO list

34 / 42

OPNFV

  • CentOS OPNFV SIG
  • Build a vanilla OPNFV platform based on OpenStack + OpenDaylight (ODL)
  • First release based w/ RDO and Foreman installer coming soon
  • CI + functional testing in progress
  • Ping Dan Radez if you want to get involved
35 / 42

Khaleesi

  • Ansible framework to setup OpenStack test environment
  • Used by RDO and RHOSP CI
  • Rewritten to be reusable by everyone

Khaleesi

36 / 42

Trystack

  • Public RDO cloud available to try out OpenStack (backed by the Foundation)
  • Kilo migration: WiP
  • Kilo version will include Manila + Trove
  • RDO CI runs over Juno
  • Recruiting more operators to manage this effort!
37 / 42

New RDO portal

38 / 42

Contributing to RDO

39 / 42

RDO packaging documentation

documentation

sources <= Pull Requests are welcome!

40 / 42

Communication channels

41 / 42

Q/A

42 / 42

whoami

  • Fedoraproject.org developer (Cloud WG)

  • CentOS developer (Cloud SIG/OpenStack)

  • OpenStack ATC

  • RDO Engineering @ Red Hat

2 / 42
Paused

Help

Keyboard shortcuts

, , Pg Up, K Go to previous slide
, , Pg Dn, Space, J Go to next slide
Home Go to first slide
End Go to last slide
F Toggle fullscreen mode
C Clone slideshow
P Toggle presenter mode
W Pause/Resume the presentation
T Restart the presentation timer
? Toggle this help
Esc Back to slideshow