From Fedora Project Wiki
(Created page with "<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> = ...")
 
m
 
(10 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
This should link to your home wiki page so we know who you are.  
 
This should link to your home wiki page so we know who you are.  
 
-->
 
-->
* Name: [https://fedoraproject.org/wiki/Server Fedora Server Working Group]
+
* Name: Miloslav Trmač, [https://fedoraproject.org/wiki/Server Fedora Server Working Group]
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
 
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: server AT lists DOT fedoraproject DOT org
+
* Email: mitr AT volny DOT cz, server AT lists DOT fedoraproject DOT org
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
+
* Release notes owner: [[User:Pbokoc| Petr Bokoc]] pbokoc at redhat dot com
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
 
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
 
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
 
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 32: Line 32:
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
 
-->
 
-->
* Tracker bug: <will be assigned by the Wrangler>
+
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1089272 #1089272]
  
 
== 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.  Appropriate functionality will also be exposed as a command-line utility.
 
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 [[Server/Product_Requirements_Document#Featured_Server_Roles | Fedora Server Roles]] described in the [[Server/Product_Requirements_Document#Featured_Server_Roles | Fedora Server PRD]].
 
<!-- 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, 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.
 
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 50: Line 50:
 
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
  
* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Other developers: Possibly use the framework for development of new server roles.
 
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
 
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
  
* Release engineering: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Release engineering: Nothing
 
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
 
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
  
* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
+
* Policies and guidelines: A short document how to package a role (use of comps, naming of the primary role package)
 
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
 
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
  
Line 71: Line 71:
 
<!-- 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 -->
 
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 85: Line 84:
 
3. What are the expected results of those actions?
 
3. What are the expected results of those actions?
 
-->
 
-->
 
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
 
== User Experience ==
 
== User Experience ==
 
A new command-line utility will be available to deploy and manage roles.
 
A new command-line utility will be available to deploy and manage roles.
Line 95: Line 92:
 
== Dependencies ==
 
== 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.
 
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:
 +
* [[Changes/DomainControllerServerRole | Domain Controller]]
 +
* [[Changes/DatabaseServerRole | SQL Database Server]]
  
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
 
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this change depends?  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel change)? -->
 
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
  
Line 114: Line 114:
 
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.
 
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 [[Server/Product_Requirements_Document | Fedora Server PRD]].
 
<!-- 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. -->
 
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
  
Line 125: Line 125:
 
-->
 
-->
  
 
+
[[Category:ChangeAcceptedF21]]
 
 
[[Category:ChangeReadyForWrangler]]
 
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 15:47, 11 August 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: 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.

Scope

  • 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.

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.

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

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.

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

Release Notes