From Fedora Project Wiki
Line 101: Line 101:
== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency mechanism: Do not ship the Server product with Fedora 21. <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Alpha <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
* Blocks product? Server <!-- Applicable for Changes that blocks specific product release/Fedora.next -->


== Documentation ==
== Documentation ==

Revision as of 19:02, 1 April 2014


Framework for Server Role Deployment

Summary

A new D-Bus service, and associated command-line tools, to deploy and manage Server Roles.

Owner

  • Name: Fedora Server Working Group
  • Email: server AT lists DOT fedoraproject DOT org
  • Release notes owner:
  • Product: Server
  • Responsible WG: Server

Current status

  • Targeted release: Fedora 21
  • Last updated: April 1, 2014
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

A new D-Bus service will be made available, exposing available server roles, making it possible to deploy, configure and manage them.


Benefit to Fedora

A common framework will allow multiple tools to deploy and configure roles at various times, without conflict. We expect this framework will be used by the installer and also by end-user tools including a command-line tool and probably higher-level tools like Cockpit.


Scope

  • Proposal owners: Write, document, package and test the D-Bus API.
  • 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)

Upgrade/compatibility impact

This is new functionality, so we envisage no impact on upgrades from previous releases.

The newly introduced user-facing API is intended to be long-term, available also in future releases of Fedora without breaking applications that use it as documented. (Note that the same promise is not given for the API used to implement the server roles.)

How To Test

The API should be relatively easily testable in a VM without special hardware or configuration. Test procedure would be more or less to do a basic/minimal install, install the relevant package, and then test that roles can be deployed and configured via direct D-Bus message injection (using dbus-send, dbus-monitor etc).

Indirect testing of the API will also likely become part of Server validation testing, as role deployment and configuration are likely to figure prominently in that testing, and will run through the API.



User Experience

This Change will not be directly visible in typical server admin tasks.

Dependencies

This Change does not really depend on anything else. In itself, though, it is more or less the foundation of the Server product: without this, it would be quite difficult to complete the rest of the Server product design as envisaged. The user-facing tools for Role management will depend on this package, and so will other tools which do Role management, likely including the installer.


Contingency Plan

  • Contingency mechanism: Do not ship the Server product with Fedora 21.
  • Contingency deadline: Alpha
  • Blocks release? No (not a System Wide Change), Yes/No
  • Blocks product? Server

Documentation

N/A (not a System Wide Change)

Release Notes