From Fedora Project Wiki

Framework for Server Role Deployment


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


  • Name: Miloslav Trmač, Fedora Server Working Group
  • Email: mitr AT volny DOT cz, server AT lists DOT fedoraproject DOT org
  • Release notes owner: Petr Bokoc pbokoc at redhat dot com
  • Product: Server
  • Responsible WG: Server

Current status

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.

This Change will provide the implementation of the Fedora Server Roles described in the Fedora Server PRD.

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.


  • Proposal owners: Write, document, package and test the D-Bus API.
  • Other developers: Possibly use the framework for development of new server roles.
  • Release engineering: Nothing
  • Policies and guidelines: A short document how to package a role (use of comps, naming of the primary role package)

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.


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.

There are two other Change Proposals being submitted that depend upon this Change:

Contingency Plan

  • Contingency mechanism: Do not ship the Server product with Fedora 21.
  • Contingency deadline: Alpha
  • Blocks release? No
  • Blocks product? Server


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.

High-level planning for these features is described in the Fedora Server PRD.

Release Notes