Jump to: navigation, search

Difference between revisions of "Blueprint-restructure-documentation"

(Use an OpenStack cloud)
 
(195 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
+
{{ImplementedFeature}}
 
* '''Launchpad Entry''':  [https://blueprints.launchpad.net/openstack-manuals/+spec/restructure-documentation restructure-documentation]
 
* '''Launchpad Entry''':  [https://blueprints.launchpad.net/openstack-manuals/+spec/restructure-documentation restructure-documentation]
 
* '''Created''': Tom Fifield
 
* '''Created''': Tom Fifield
Line 5: Line 5:
  
 
== Summary ==
 
== Summary ==
The OpenStack library was designed a few years ago. Since then, the library has grown without a specific organization. Also, we have learned how users interact with it.
+
The OpenStack documentation library was designed a few years ago.  
  
This blueprint describes a plan to restructure the OpenStack documentation to reduce redundancy and increase usability, clarity, and consistency.
+
Since then, the library has grown without a specific organization. Also, doc contributors have learned how users interact with it.
  
== Design ==
+
This blueprint describes a plan to restructure the OpenStack documentation to:<br />
  
=== Install and deploy a OpenStack cloud ===
+
* Provide a clear roadmap through the documentation library for different audiences: Deployers, users, and developers.
 
+
* Reduce redundancy.
'''Audience:''' Deployers
+
* Increase usability, clarity, and consistency.
  
 +
== Audiences ==
 +
The restructure enables these audiences to complete tasks by using the following docs:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Planned document !! Purpose !! Take material from
+
! Audience !! Tasks !! Docs
 
|-
 
|-
| OpenStack Installation Guide || Provide step-by-step instructions for how to install and deploy an OpenStack cluster. || OpenStack Basic Install Guide - Ubuntu 12.04<br />
+
| OpenStack deployers || Install, configure, and run OpenStack clusters.  
OpenStack Basic Install Guide - Fedora 18<br />
+
||  
OpenStack Install and Deploy Manual - Ubuntu<br />
+
* ''OpenStack Installation Guide''
OpenStack Install and Deploy Manual - Red Hat<br />
+
* ''OpenStack Operations Guide''
OpenStack <project> Administration Guide/s<br/>
+
* ''OpenStack Configuration Reference''
<project> devref/s<br/>
+
* ''OpenStack Cloud Administrator Guide''
<br/>
 
include OpenStack Glossary
 
 
|-
 
|-
| OpenStack Operations Guide || Provide opinionated direction on the design and operations of OpenStack clusters. || OpenStack Operations Guide<br />
+
| OpenStack end and admin users || Perform tasks in an OpenStack cloud through:
OpenStack <project> Administration Guide/s<br/>
+
* The Horizon dashboard
<project> devref/s<br/>
+
* The OpenStack command-line clients
<br/>
+
* Directly through the OpenStack APIs - see the "OpenStack API Guide"
include OpenStack Glossary
+
||  
 +
* ''OpenStack End User Guide''
 +
* ''OpenStack Admin User Guide''
 
|-
 
|-
| OpenStack Administration Reference || Define configuration options available with OpenStack. || OpenStack <project> Administration Guide/s<br/>
+
| OpenStack contributors and application developers || Extend the OpenStack APIs.<br />
<project> devref/s<br/>
+
Write applications that run on top of an OpenStack cloud.
<br/>
+
|| 
include OpenStack Glossary
+
* ''OpenStack API Guide''
 +
* ''OpenStack API Complete Reference'' web pages - one page for each OpenStack project
 
|}
 
|}
  
=== Use an OpenStack cloud ===
+
== Deliverables - Deployers ==
  
'''Audience''': OpenStack cloud users and developers.
+
'''Audience''': Deployers who want to install, configure, and run OpenStack clusters. <br />
 +
'''Product info:''' Havana, 2013.1<br />
 +
'''Include common glossary?''' Yes
  
{| class="wikitable"
+
=== OpenStack Installation Guide ===
|-
+
Blueprint:[[Install-with-multiple-architectures]]
! Planned document !! Purpose !! Take material from
+
 
|-
+
'''Purpose'''
| OpenStack User Guide || Describe how to use an OpenStack cloud|| OpenStack API Quick Start<br />
+
 
Python Developer Documentation<br />
+
* Provide step-by-step instructions for ''deployers'' about how to install, configure, and run OpenStack clusters.
Language Bindings Documentation<br />
+
* Include easy-to-follow, lightweight, command-by-command steps for installing an OpenStack cluster of defined architecture.
OpenStack Clients Guide<br />
+
* Include basic explanatory text for command steps, enabling first time users to understand why they are performing them.
<project> devref/s<br/>
+
* Introduce the OpenStack community, including how to get help.
<br/>
+
* Exclude unusual deployment scenarios.<br /><br />
include OpenStack Glossary
+
 
|-
+
'''Source  material'''
| OpenStack Command Reference || Describe OpenStack client commands. || OpenStack Clients Guide<br/>
+
 
<br/>
+
* OpenStack Basic Install Guide - Ubuntu 12.04
include OpenStack Glossary
+
* OpenStack Basic Install Guide - Fedora 18
|-
+
* OpenStack Install and Deploy Manual - Ubuntu
|}
+
* OpenStack Install and Deploy Manual - Red Hat
 +
* OpenStack <project> Administration Guide/s
 +
* ''project'' devref/s
 +
 
 +
=== OpenStack Operations Guide ===
 +
 
 +
'''Purpose'''
 +
 
 +
* Provide opinionated direction for ''deployers'' about how to design, set up, and run OpenStack clusters.
 +
* Include information currently in the ''OpenStack High Availability Guide''.
 +
* Exclude installation instructions and configuration reference information.<br /><br />
 +
 
 +
'''Source material'''
 +
 
 +
* OpenStack Operations Guide
 +
* OpenStack High Availability Guide?? Or does this stay in its own book?
 +
* OpenStack ''project'' Administration Guide/s
 +
* ''project'' devref/s
 +
 
 +
=== OpenStack Configuration Reference ===
 +
 
 +
'''Purpose'''
 +
 
 +
* List configuration options available with OpenStack. Use auto-generation to generate options from the code.
 +
* Include configuration files, configuration options in each file, configuration extensions, and use cases for each configuration feature.
 +
* Exclude API parameters.<br /><br />
 +
 
 +
'''Source  material'''
 +
 
 +
* OpenStack ''project'' Administration Guide/s
 +
* ''project'' devref/s
 +
 
 +
=== OpenStack Cloud Administrator Guide ===
 +
 
 +
'''Purpose'''
 +
 
 +
* Provide guidance to day-to-day cloud administrators about how to perform administrative tasks.<br /><br />
 +
 
 +
'''Source  material'''
 +
 
 +
* OpenStack ''project'' Administration Guide/s
 +
* ''project'' devref/s
 +
 
 +
 
 +
'''Blueprints:''' [[Blueprint-os-admin-docs|Blueprint - OpenStack Administration Guide]], [[Blueprint-os-modularize-admin-docs|Blueprint - Modularize OpenStack Administration Guide]],
 +
 
 +
== Deliverables - Admin and End Users  ==
 +
'''Audience''':
 +
* Users of OpenStack clouds who perform tasks through the Horizon dashboard or the OpenStack command-line clients.
 +
* Beginning application developers who want to develop applications on top of OpenStack by using the OpenStack APIs.
 +
<br />
 +
'''Roadmap''':
 +
* Users ramp up on cloud computing by using the Horizon dashboard and the OpenStack command-line clients.
 +
* Then, they use the OpenStack APIs to create scalable applications.
 +
<br />
 +
'''Product info:''' Havana, 2013.1<br />
 +
 
 +
'''Include common glossary?''' Yes <br />
 +
 
 +
'''Blueprint:''' [[Blueprint-os-user-docs|Blueprint - OpenStack User Documentation]]
 +
 
 +
=== OpenStack End User Guide (new) ===
 +
 
 +
See [[Blueprint-os-user-docs|blueprint]] for details.
 +
 
 +
=== OpenStack Admin User Guide (new) ===
 +
 
 +
See [[Blueprint-os-user-docs|blueprint]] for details.
 +
 
 +
== Deliverables - Application Developers and OpenStack Contributors ==
 +
 
 +
'''Audience:''' Developers who want to extend the OpenStack APIs or write applications by using the OpenStack APIs.<br />
 +
 
 +
'''Release info:''' API v''n''<br />
 +
 
 +
'''Include common glossary?''' Yes<br />
 +
 
 +
'''Strategy:'''
 +
# Eliminate the existing API References.
 +
# Add an API Guide that describes API concepts, general information, and ways to access the APIs.
 +
# Move material currently in the API Reference/s into the WADL files to source the API Complete Reference pages. One web page for each OpenStack project. Source code samples from nova code base where possible. <br />
 +
 
 +
 
 +
End result: One API Reference page for each project and one API Guide.
 +
<br />
 +
 
 +
 
 +
'''Blueprint:''' [[Blueprint-os-api-docs|Blueprint - OpenStack API Documentation]]
 +
 
 +
=== OpenStack API Guide (new) ===
 +
 
 +
See [[Blueprint-os-api-docs|blueprint]] for details.
  
=== Develop applications with or extend OpenStack APIs ===
+
=== OpenStack ''project'' API Reference/s (delete) ===
  
{| class="wikitable"
+
See [[Blueprint-os-api-docs|blueprint]] for details.
|-
 
! Planned document !! Take material from
 
|-
 
| OpenStack <project> API Specification || OpenStack <project> API Dev Guides<br/>
 
<br/>
 
include OpenStack Glossary
 
|-
 
| OpenStack API Reference || API Complete Reference
 
|-
 
| OpenStack Compute API Developer Guide for Shell and Python || Programming OpenStack Compute API with Shell and Python <br/>
 
<br/>
 
include OpenStack Glossary
 
|-
 
| OpenStack Developer Guide || Continuous Integration (CI) Developer Documentation<br />
 
<project> devref/s<br/>
 
<br/>
 
include OpenStack Glossary
 
|-
 
|}
 
  
== Goals ==
+
=== OpenStack API Complete Reference (multiple web pages) ===
  
The restructure aims to create the following main documents with the following goals:
+
See [[Blueprint-os-api-docs|blueprint]] for details.
  
{| class="wikitable"
 
|-
 
! - !! Installation Guide !! Operations Guide !! Administration Reference !! API Reference || User Guide || Developer Guide
 
|-
 
| Audience
 
|| Deployers
 
|| Deployers
 
|| Administrators
 
|| Developers
 
|| Users
 
|| Developers
 
|-
 
| Purpose
 
|| Provide step-by-step instructions that allow result in an deployed OpenStack Cluster
 
|| Provide opinionated direction on the design and operations of OpenStack clusters
 
|| The definitive list of options able to be used with OpenStack
 
|| The definitive list of API methods and parameters, with examples for each.
 
|| Provide Application Developers all they need to understand about OpenStack to work with it.
 
|| Provide the information needed to work on the code of OpenStack
 
|-
 
| Inclusions
 
||
 
* Easy to follow, lightweight command-by-command steps for installing an OpenStack cluster of defined architecture
 
* Basic explanatory text for command steps, enabling first time users to understand why they are performing them.
 
* An introduction to the OpenStack community, including how to get help.
 
|| -
 
||
 
* Every configuration option, in every configuration file
 
* Every extension
 
* A description of every feature's common scenario
 
||
 
* Every API method and every parameter
 
* Examples for every API method
 
||
 
* Commandline tools and credentials
 
* How to use Horizon
 
* How to make Images
 
||
 
|-
 
| Exclusions
 
||
 
* Unusual deployment scenarios
 
||
 
* Installation instructions
 
||
 
* API parameters
 
||
 
* Installation information
 
* Descriptions of features > 1 sentence
 
||
 
* Cloud Application Architecture
 
||
 
|}
 
  
== Issues ==
 
* Lack of people to implement.
 
----
 
 
[[Category:Spec]]
 
[[Category:Spec]]

Latest revision as of 18:13, 15 May 2014

Warning.svg Old Design Page

This page was used to help design a feature that has been implemented. As a result, this page is unlikely to be updated and could contain outdated information. It was last updated on 2014-05-15

Summary

The OpenStack documentation library was designed a few years ago.

Since then, the library has grown without a specific organization. Also, doc contributors have learned how users interact with it.

This blueprint describes a plan to restructure the OpenStack documentation to:

  • Provide a clear roadmap through the documentation library for different audiences: Deployers, users, and developers.
  • Reduce redundancy.
  • Increase usability, clarity, and consistency.

Audiences

The restructure enables these audiences to complete tasks by using the following docs:

Audience Tasks Docs
OpenStack deployers Install, configure, and run OpenStack clusters.
  • OpenStack Installation Guide
  • OpenStack Operations Guide
  • OpenStack Configuration Reference
  • OpenStack Cloud Administrator Guide
OpenStack end and admin users Perform tasks in an OpenStack cloud through:
  • The Horizon dashboard
  • The OpenStack command-line clients
  • Directly through the OpenStack APIs - see the "OpenStack API Guide"
  • OpenStack End User Guide
  • OpenStack Admin User Guide
OpenStack contributors and application developers Extend the OpenStack APIs.

Write applications that run on top of an OpenStack cloud.

  • OpenStack API Guide
  • OpenStack API Complete Reference web pages - one page for each OpenStack project

Deliverables - Deployers

Audience: Deployers who want to install, configure, and run OpenStack clusters.
Product info: Havana, 2013.1
Include common glossary? Yes

OpenStack Installation Guide

Blueprint:Install-with-multiple-architectures

Purpose

  • Provide step-by-step instructions for deployers about how to install, configure, and run OpenStack clusters.
  • Include easy-to-follow, lightweight, command-by-command steps for installing an OpenStack cluster of defined architecture.
  • Include basic explanatory text for command steps, enabling first time users to understand why they are performing them.
  • Introduce the OpenStack community, including how to get help.
  • Exclude unusual deployment scenarios.

Source material

  • OpenStack Basic Install Guide - Ubuntu 12.04
  • OpenStack Basic Install Guide - Fedora 18
  • OpenStack Install and Deploy Manual - Ubuntu
  • OpenStack Install and Deploy Manual - Red Hat
  • OpenStack <project> Administration Guide/s
  • project devref/s

OpenStack Operations Guide

Purpose

  • Provide opinionated direction for deployers about how to design, set up, and run OpenStack clusters.
  • Include information currently in the OpenStack High Availability Guide.
  • Exclude installation instructions and configuration reference information.

Source material

  • OpenStack Operations Guide
  • OpenStack High Availability Guide?? Or does this stay in its own book?
  • OpenStack project Administration Guide/s
  • project devref/s

OpenStack Configuration Reference

Purpose

  • List configuration options available with OpenStack. Use auto-generation to generate options from the code.
  • Include configuration files, configuration options in each file, configuration extensions, and use cases for each configuration feature.
  • Exclude API parameters.

Source material

  • OpenStack project Administration Guide/s
  • project devref/s

OpenStack Cloud Administrator Guide

Purpose

  • Provide guidance to day-to-day cloud administrators about how to perform administrative tasks.

Source material

  • OpenStack project Administration Guide/s
  • project devref/s


Blueprints: Blueprint - OpenStack Administration Guide, Blueprint - Modularize OpenStack Administration Guide,

Deliverables - Admin and End Users

Audience:

  • Users of OpenStack clouds who perform tasks through the Horizon dashboard or the OpenStack command-line clients.
  • Beginning application developers who want to develop applications on top of OpenStack by using the OpenStack APIs.


Roadmap:

  • Users ramp up on cloud computing by using the Horizon dashboard and the OpenStack command-line clients.
  • Then, they use the OpenStack APIs to create scalable applications.


Product info: Havana, 2013.1

Include common glossary? Yes

Blueprint: Blueprint - OpenStack User Documentation

OpenStack End User Guide (new)

See blueprint for details.

OpenStack Admin User Guide (new)

See blueprint for details.

Deliverables - Application Developers and OpenStack Contributors

Audience: Developers who want to extend the OpenStack APIs or write applications by using the OpenStack APIs.

Release info: API vn

Include common glossary? Yes

Strategy:

  1. Eliminate the existing API References.
  2. Add an API Guide that describes API concepts, general information, and ways to access the APIs.
  3. Move material currently in the API Reference/s into the WADL files to source the API Complete Reference pages. One web page for each OpenStack project. Source code samples from nova code base where possible.


End result: One API Reference page for each project and one API Guide.


Blueprint: Blueprint - OpenStack API Documentation

OpenStack API Guide (new)

See blueprint for details.

OpenStack project API Reference/s (delete)

See blueprint for details.

OpenStack API Complete Reference (multiple web pages)

See blueprint for details.