From Fedora Project Wiki
DRAFT
This page is currently under construction and all information should be considered in draft form.

DRAFT Objective: Project FAO (Fedora + Atomic + OpenShift)

Also known as: Codename Foosion

Goal

The goal of this is to deliver a Fedora Atomic Host image that comes pre-enabled to run OpenShift Origin in a multi-node cluster to enable Fedora users to easily deploy and maintain multi-node clustered services in a container-based solution.

More Details

At the Fedora Cloud WG Activity Day 2016 it was discussed that the industry is moving towards a new paradigm of deploying software in Cloud environments and as such Fedora should be on the Leading Edge of that movement. The proposal was to refocus the primary deliverable of the Fedora Cloud WG to be one based on Fedora Atomic Host and OpenShift Origin. This will also come as an extension of the Fedora Docker Layered Image work as we will want to enhance the guidelines for Docker Layered Image Maintainers to include the metadata required for deployment of software into an OpenShift environment (or Kubernetes, as the container orchestration engine OpenShift is built on).

Notes from the Fedora Cloud WG FAD 2016

  • Fedora/OpenShift Strategy
    • Several years ago was the Fedora.Next initiative
    • Three offerings: Workstation, Server, Cloud
  • Currently looking to refresh how we do Fedora Cloud
    • Came into meeting aiming for Fedora Atomic Host, but quickly came to consensus that that doesn't go far enough
    • Going "more grand"
      • Fedora + OpenShift
      • The aim of Fedora is to be the future of the platform, the goal of the platform is to run services and applications. The direction things are going tomorrow with services and applications is to run them in a container centric scaled out environment and the future of that in the opinion of the Fedora Cloud SIG is OpenShift. We believe Fedora + OpenShift is the future of "The Platform" for Cloud.
    • Things Fedora could be doing to be useful or helpful for OpenShift
      • openshift-ansible - potentially a fork that's Fedora focused or maybe a branch
        • Target OpenShift in containers, create an ansible playbook/roles that would deploy OpenShift in containers on Fedora Atomic Host
      • source-to-image docker images based on Fedora content to deliver language runtime stacks
      • Be a place to try out things like full container based deployments
        • Such as installing OpenShift in Fedora Atomic Host by default as system containers, or via layered rpm (don't do in-docker)
      • Add things that OpenShift could use to the layered image build system
      • Fedora working an "Operating System" for the container
        • minimization
        • something like busybox (for the people who care)
        • a rich and diverse userspace
        • bridge between running systemd in a container
          • what I really want to do is just launch a service
      • Making it easier to package things under the Fedora banner
      • Fedora, arguably, is best positioned for enabling continuous delivery
        • although, there's much work to be done
        • <walters> Could just deploy rpmdistro-gitoverlay *today* for Atomic Host content
  • Fedora Initiative for OpenShift Origin + Fedora
    • First taken as Fedora Incubator Project - First run PoC admiller, jberkus, walters, dmcphers (as a point of contact)
      • Identify containers to build from Fedora rpms to host OpenShift Origin in a container deployment
        • System containers for OpenShift Origin, not docker
      • Deploy on Fedora Atomic Host
        • 1 Master, 2 Nodes
      • Automate with Ansible
        • fork openshift-ansible, rip and replace as needed
    • Fedora Council official initiative once "graduated" from the Incubator Project
    • Codename: Project FOO (get Dave Grohl, he can be the project drummer so long as he isn't fighting us, or is at least fighting for us)
      • Atomic Fusion (always 20 years away)
      • Talk to Grant Shipley about this
    • previous message: https://lists.fedoraproject.org/pipermail/council-discuss/2015-September/013694.html

Deliverables

Proof of Concept

We will initially target a proof of concept as discussed at the Fedora Cloud WD FAD.

  • First run PoC
    • admiller, jberkus, walters, dmcphers (as a point of contact)
    • Identify containers to build from Fedora rpms to host OpenShift Origin in a container deployment
      • System containers for OpenShift Origin, not docker
    • Deploy on Fedora Atomic Host
      • 1 Master, 2 Nodes
    • Automate with Ansible
      • openshift-ansible (jdetiber can assist getting changes needed in place)

Objective Deliverables

  • Fedora Atomic Host
    • This already exists but we will need to work with upstreams to develop new technologies and make sure they are included in the Host images and the rpm-ostree repositories.
  • OpenShift running in an Atomic System Container
  • Ansible Playbooks do deploy and manage the system
  • Fedora Website or landing portal that offers documentation on how to quickly/easily install and run both the FAO environment but also multi-host containerized applications
    • Pre-existing examples that are "one-click" deploy is likely
  • Testing of the full solution as a sum of it's parts, including installation
    • Fedora Cloud WG will own this work, but will coordinate with Fedora QA.

Fedora Cloud Working Group

This Objective is being driven through the Fedora Cloud Working Group and the Cloud WG will take ownership of the relevant work within Fedora but will also coordinate and collaborate with the various upstreams involved in order to drive relevant items in a collaborate way, out in the open. Details on specific items will be determined later and we will track work items in a Taiga Kanban board here: http://taiga.fedorainfracloud.org

Objective Leads

Timeframe

This is targeted for Fedora 26 as an official release item, but would like the freedom to operate under the Fedora Brand and an Incubator project in the mean time.

History

FIXME