Jump to: navigation, search

Difference between revisions of "Blueprint-restructure-documentation"

(Design)
 
(234 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
* '''Contributors''':  
+
* '''Contributors''': Diane Fleming
  
 
== Summary ==
 
== Summary ==
Restructure the documentation for greatest effectiveness.
+
The OpenStack documentation library was designed a few years ago.  
  
== Rationale ==
+
Since then, the library has grown without a specific organization. Also, doc contributors have learned how users interact with it.
The original documentation layout for OpenStack was designed a couple of years ago. We have created a lot of documentation, and learnt much about how our various users interact with it. We now also have a new book: the OpenStack Operations Guide.
 
  
 +
This blueprint describes a plan to restructure the OpenStack documentation to:<br />
  
== Design ==
+
* 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:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Current Document !! Future document
+
! Audience !! Tasks !! Docs
 
|-
 
|-
| OpenStack API Quick Start  || Users Manual
+
| OpenStack deployers || Install, configure, and run OpenStack clusters.
 +
||
 +
* ''OpenStack Installation Guide''
 +
* ''OpenStack Operations Guide''
 +
* ''OpenStack Configuration Reference''
 +
* ''OpenStack Cloud Administrator Guide''
 
|-
 
|-
| Programming OpenStack Compute API with Shell and Python  || Users Manual
+
| OpenStack end and admin users || Perform tasks in an OpenStack cloud through:
|-
+
* The Horizon dashboard
| API Specifications  || Users Manual
+
* The OpenStack command-line clients
|-
+
* Directly through the OpenStack APIs - see the "OpenStack API Guide"
| API Complete Reference  || '''API Reference'''
+
||  
|-
+
* ''OpenStack End User Guide''
| Basic Installation Guide for Ubuntu 12.04/12.10 (Folsom)  || Installation Guide, Operations Guide
+
* ''OpenStack Admin User Guide''
|-
 
| Install and Deploy Guide for Ubuntu 12.10 (Folsom)  || Installation Guide, Operations Guide
 
|-
 
| Install and Deploy Guide for Red Hat Enterprise Linux, CentOS 6.x, or Fedora 17 (Folsom)  || Installation Guide, Operations Guide
 
|-
 
| OpenStack Networking (Quantum) Installation  || Installation Guide
 
|-
 
| Compute Administration Guide  || Installation Guide, Operations Guide
 
|-
 
| Network Administration Guide  || Installation Guide, Operations Guide
 
|-
 
| Object Storage Administration Guide || Installation Guide, Operations Guide
 
|-
 
| OpenStack Operations Guide || '''OpenStack Operations Guide'''
 
|-
 
| Python Developer Documentation || Users Manual
 
|-
 
| Language Bindings Documentation || Users Manual
 
|-
 
| Continuous Integration (CI) Developer Documentation || Developing OpenStack
 
|-
 
| OpenStack Clients Guide || Users Manual
 
|-
 
| OpenStack Glossary || All guides
 
|-
 
| Nova devref || Developing OpenStack
 
|-
 
| Swift devref  || Developing OpenStack, Operations Guide, Installation Guide, Reference Manual, Users Manual
 
|-
 
| Keystone devref  || Developing OpenStack, Operations Guide, Installation Guide, Reference Manual, Users Manual
 
|-
 
| Glance devref  || Developing OpenStack, Operations Guide, Installation Guide, Reference Manual, Users Manual
 
|-
 
|  Horizon devref || Developing OpenStack, Operations Guide, Installation Guide, Reference Manual, Users Manual
 
|-
 
| Cinder devref || Developing OpenStack
 
 
|-
 
|-
 +
| OpenStack contributors and application developers || Extend the OpenStack APIs.<br />
 +
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. <br />
 +
'''Product info:''' Havana, 2013.1<br />
 +
'''Include common glossary?''' Yes
  
The restructure considers 6 main documents.
+
=== 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.<br /><br />
 +
 
 +
'''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.<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.
 +
 
 +
=== OpenStack ''project'' API Reference/s (delete) ===
 +
 
 +
See [[Blueprint-os-api-docs|blueprint]] for details.
 +
 
 +
=== OpenStack API Complete Reference (multiple web pages) ===
 +
 
 +
See [[Blueprint-os-api-docs|blueprint]] for details.
  
{| class="wikitable"
 
|-
 
! - !! Install Guide !! Operations Guide !! Reference Manual !! API Reference || Users Manual || Developing OpenStack
 
|-
 
| 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 realise
 
----
 
 
[[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.