Containerized Server Roles
Summary
Enhance rolekit to be able to deploy Server Roles using the Nulecule Container Specification.
Owner
- Name: Stephen Gallagher
- Email: server@lists.fedoraproject.org
- Release notes owner:
- Product: Server
- Responsible WG: Server WG
Current status
- Targeted release: Fedora 23
- Last updated: (DATE)
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
In Fedora 23, rolekit will gain the ability to deploy Server Roles as containerized applications following the Nulecule specification. This will allow us to be able to isolate the roles more fully from the rest of the system as well as enabling these roles to be migrated to a larger, cloud-based system (such as the Atomic Platform).
Benefit to Fedora
Building applications inside of containers will allow us more flexibility in terms of upgrades (as the containers can remain intact between distribution upgrades). Furthermore, it will enable us to better integrate with Fedora Cloud and Fedora Atomic Platform.
Scope
- Proposal owners:
- Design a rolekit framework for deploying Server Roles inside a Docker container.
- Implement a reference role to deploy memcached.
- Time-permitting, update the Database Server Role to optionally operate within a container.
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- Policies and guidelines: N/A (not a System Wide Change)
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Care will need to be taken not to break existing Database Server Role deployments on upgrade.
How To Test
- Deploy a containerized server role using rolekit.
- Verify with the Docker CLI or Cockpit's Docker panel that one or more containers was created to provide the role.
User Experience
The rolekit API (and CLI) will be capable of deploying Server Roles as Docker containers.
Dependencies
N/A (Not a system-wide change)
Contingency Plan
- Contingency mechanism: Feature will be deferred to Fedora 24 if it is not ready in time.
- Contingency deadline: Beta Freeze
- Blocks release? No
- Blocks product? No
Documentation
None yet