From Fedora Project Wiki
No edit summary
Line 35: Line 35:


== Detailed Description ==
== Detailed Description ==
A new D-Bus service will be made available, exposing available server roles, making it possible to deploy, configure and manage them.
A new D-Bus service will be made available, exposing available server roles, making it possible to deploy, configure and manage them.  Appropriate functionality will also be exposed as a command-line utility.


<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->


== Benefit to Fedora ==
== 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.
A common framework will allow multiple tools to deploy and configure roles at various times, using the same mechanism for all of them, and 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.


<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
Line 65: Line 65:


== How To Test ==
== 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).
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 using the included command-line utility, or 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.
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.


<!-- adamw thought: should we consider CI and regression testing in developing the API itself? -->
<!-- adamw thought: should we consider CI and regression testing in developing the API itself?  
mitr: definitely, but that's not interesting to readers of the Change page -->


<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
Line 88: Line 89:


== User Experience ==
== User Experience ==
This Change will not be directly visible in typical server admin tasks.
A new command-line utility will be available to deploy and manage roles.
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- If this change proposal is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 110: Line 111:
== Documentation ==
== Documentation ==
The API itself will need to be documented for developers of tools depending on it. This cannot be done until it is designed.
The API itself will need to be documented for developers of tools depending on it. This cannot be done until it is designed.
Fedora end-user documentation for the Server product should mention the command-line role management utility, possibly only referring to it while discussing individual roles.


<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
Line 121: Line 124:
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangePageIncomplete]]

Revision as of 14:16, 3 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. Appropriate functionality will also be exposed as a command-line utility.


Benefit to Fedora

A common framework will allow multiple tools to deploy and configure roles at various times, using the same mechanism for all of them, and 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 using the included command-line utility, or 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

A new command-line utility will be available to deploy and manage roles.

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
  • Blocks product? Server

Documentation

The API itself will need to be documented for developers of tools depending on it. This cannot be done until it is designed.

Fedora end-user documentation for the Server product should mention the command-line role management utility, possibly only referring to it while discussing individual roles.


Release Notes