Jump to: navigation, search

Difference between revisions of "Documentation/Builds"

(Developer guides)
(API Reference and Reference Guides)
Line 81: Line 81:
 
|-
 
|-
 
! Document !! Source location !! Target location
 
! Document !! Source location !! Target location
|-
 
Source dir PDF Destination URL
 
 
|-
 
|-
 
| Block Storage API v2.0 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-blockstorage.pdf || http://api.openstack.org/api-ref-blockstorage.html
 
| Block Storage API v2.0 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-blockstorage.pdf || http://api.openstack.org/api-ref-blockstorage.html
Line 92: Line 90:
 
| Compute API v3 (EXPERIMENTAL) || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-compute-v3.pdf || http://api.openstack.org/api-ref-compute-v3.html
 
| Compute API v3 (EXPERIMENTAL) || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-compute-v3.pdf || http://api.openstack.org/api-ref-compute-v3.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-identity.pdf || http://api.openstack.org/api-ref-identity.html
+
| Identity API v3 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-identity.pdf || http://api.openstack.org/api-ref-identity.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-image.pdf || http://api.openstack.org/api-ref-image.html
+
| Image Service API v2 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-image.pdf || http://api.openstack.org/api-ref-image.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-networking.pdf || http://api.openstack.org/api-ref-networking.html
+
| Networking API v2.0 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-networking.pdf || http://api.openstack.org/api-ref-networking.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-objectstorage.pdf http://api.openstack.org/api-ref-objectstorage.html
+
| Object Storage API v1 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-objectstorage.pdf http://api.openstack.org/api-ref-objectstorage.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-orchestration.pdf || http://api.openstack.org/api-ref-orchestration.html
+
| Orchestration API v1.0 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-orchestration.pdf || http://api.openstack.org/api-ref-orchestration.html
 
|-
 
|-
| Block Storage Service API v2 Reference || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-telemetry.pdf || http://api.openstack.org/api-ref-telemetry.html
+
| Telemetry API v2.0 || api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-telemetry.pdf || http://api.openstack.org/api-ref-telemetry.html
 +
|}
  
 
=== Contributor guides ===
 
=== Contributor guides ===

Revision as of 13:33, 28 March 2014

Documentation source and target locations (current)

In addition to this mapping, branches of the openstack-manuals and other repositories indicate where docs are published. For example, from stable/grizzly, doc source files are published to docs.openstack.org/grizzly and from the master branch, doc source files are published to docs.openstack.org/trunk by our lovely Jenkins butlers always at the ready.

Installation guides

Document Source location Target location
Installation Guide for Debian 7.0 https://github.com/openstack/openstack-manuals/tree/master/doc/install-guide http://docs.openstack.org/trunk/install-guide/install/apt-debian/content/
Installation Guide for openSUSE and SUSE Linux Enterprise Server https://github.com/openstack/openstack-manuals/tree/master/doc/install-guide http://docs.openstack.org/trunk/install-guide/install/zypper/content/
Installation Guide for Red Hat Enterprise Linux, CentOS, and Fedora https://github.com/openstack/openstack-manuals/tree/master/doc/install-guide http://docs.openstack.org/trunk/install-guide/install/yum/content/
Installation Guide for Ubuntu 12.04 (LTS) https://github.com/openstack/openstack-manuals/tree/master/doc/install-guide http://docs.openstack.org/trunk/install-guide/install/apt/content/

Configuration guides

Document Source location Target location
Configuration Reference https://github.com/openstack/openstack-manuals/tree/master/doc/config-reference http://docs.openstack.org/trunk/config-reference/content/
Cloud Administrator Guide https://github.com/openstack/openstack-manuals/tree/master/doc/admin-guide-cloud http://docs.openstack.org/admin-guide-cloud/content/
High Availability Guide https://github.com/openstack/openstack-manuals/tree/master/doc/high-availability-guide http://docs.openstack.org/trunk/high-availability-guide/content/index.html
Operations Guide https://github.com/openstack/operations-guide http://docs.openstack.org/trunk/openstack-ops/content/
Security Guide https://github.com/openstack/openstack-manuals/tree/master/doc/security-guide http://docs.openstack.org/trunk/security-guide/content
Virtual Machine Image Guide https://github.com/openstack/openstack-manuals/tree/master/doc/src/docbkx/openstack-image http://docs.openstack.org/trunk/openstack-image/content/

Guides for using the OpenStack dashboard and command-line clients

Document Source location Target location
API Quick Start https://github.com/openstack/api-site/tree/master/api-quick-start http://docs.openstack.org/api/quick-start/content/
End User Guide https://github.com/openstack/openstack-manuals/tree/master/doc/user-guide http://docs.openstack.org/user-guide/content/
Admin User Guide https://github.com/openstack/openstack-manuals/tree/master/doc/user-guide-admin http://docs.openstack.org/user-guide-admin/content/
Command Line Interface Reference https://github.com/openstack/openstack-manuals/tree/master/doc/cli-reference http://docs.openstack.org/cli-reference/content/

Developer guides

Document Source location Target location
API Reference https://github.com/openstack/api-site/tree/master/api-ref http://api.openstack.org/api-ref.html
Block Storage Service API v2 Reference https://github.com/openstack/volume-api/tree/master/v2 http://docs.openstack.org/api/openstack-block-storage/2.0/content/
Block Storage Service API v1 Reference https://github.com/openstack/volume-api/tree/master/v1 N/A
Compute API v2 and Extensions Reference https://github.com/openstack/compute-api http://docs.openstack.org/api/openstack-compute/2/content/
Identity Service API v2.0 Reference https://github.com/openstack/identity-api http://docs.openstack.org/api/openstack-identity-service/2.0/content/
Networking API v2.0 Reference https://github.com/openstack/netconn-api http://docs.openstack.org/api/openstack-network/2.0/content/
Image Service API v2 Reference https://github.com/openstack/image-api/tree/master/openstack-image-service-api/src/markdown http://docs.openstack.org/api/openstack-image-service/2.0/content/
Image Service API v1 Reference https://github.com/openstack/image-api/tree/master/openstack-image-service-api/src/docbkx http://docs.openstack.org/api/openstack-image-service/1.1/content/
Object Storage API v1 Reference https://github.com/openstack/object-api http://docs.openstack.org/api/openstack-object-storage/1.0/content/

API Reference and Reference Guides

Document Source location Target location
Block Storage API v2.0 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-blockstorage.pdf http://api.openstack.org/api-ref-blockstorage.html
Compute API v2 extensions api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-compute-v2-ext.pdf http://api.openstack.org/api-ref-compute-v2.html
Compute API v2 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-compute-v2.pdf http://api.openstack.org/api-ref-compute-v2-ext.html
Compute API v3 (EXPERIMENTAL) api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-compute-v3.pdf http://api.openstack.org/api-ref-compute-v3.html
Identity API v3 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-identity.pdf http://api.openstack.org/api-ref-identity.html
Image Service API v2 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-image.pdf http://api.openstack.org/api-ref-image.html
Networking API v2.0 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-networking.pdf http://api.openstack.org/api-ref-networking.html
Object Storage API v1 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-objectstorage.pdf http://api.openstack.org/api-ref-objectstorage.html
Orchestration API v1.0 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-orchestration.pdf http://api.openstack.org/api-ref-orchestration.html
Telemetry API v2.0 api-site/api-ref-guides/target/docbkx/webhelp/api-ref-guides/api-ref-telemetry.pdf http://api.openstack.org/api-ref-telemetry.html

Contributor guides

Document Source location Target location
Python Developer Documentation https://github.com/openstack/<project>/tree/master/doc/source/, such as https://github.com/openstack/nova/tree/master/doc/source http://docs.openstack.org/developer/openstack-projects.html
Language Bindings and Python Clients https://github.com/openstack/python-<project>client/tree/master/doc/source/, such as https://github.com/openstack/python-novaclient/tree/master/doc/source http://docs.openstack.org/developer/language-bindings.html
OpenStack Project Infrastructure https://github.com/openstack-infra/config/tree/master/doc/source http://ci.openstack.org/
Tempest Testing Project https://github.com/openstack/tempest/tree/master/doc/source http://docs.openstack.org/developer/tempest/

Build jobs and pom.xml

The build jobs for documentation are stored in the github.com/openstack-infra/config repository. The modules/openstack_project/files/zuul/layout.yaml file and the modules/openstack_project/files/jenkins_job_builder/config/manuals.yaml, modules/openstack_project/files/jenkins_job_builder/config/manuals-jobs.yaml or api-docs.yaml file contain the Jenkins build jobs that build to the docs.openstack.org and api.openstack.org sites, copying built files via FTP. An example patch is here: https://review.openstack.org/#/c/36102/3 for adding a completely new document build.

The build jobs build the books for the branches listed below.

The book files, including the pom.xml files, live in the following github.com/openstack/ repositories:

  • openstack-manuals repository includes:
    • admin-guide-cloud (1): master
    • cli-guide (1): master
    • config-reference (1): havana, master
    • glossary (1): master
    • high-availabilty-guide (1): master
    • image-guide (1): master
    • install-guide (4 variants): havana, master
    • security-guide (1): master
    • training-guides (1): master
    • user-guide (1): master
    • user-guide-admin (1): master
  • operations-guide (1)

API docs

  • api-site (no branches for API docs):
    • api-quick-start (1)
    • api-reference (1)
  • compute-api (3)
  • image-api (2)
  • object-api (1)
  • netconn-api (2)
  • volume-api (1)
  • identity-api (2)


Total: 15 (ops) +13 (api) =28 books build with jobs, 24 pom.xml files get built

Maven Plugin

The Maven Plugin is updated periodically with features we may want to incorporate in the OpenStack build process. Specifically 1.8.0 is what we use for Grizzly documentation as it contains features designed to make life easier. These changes also required some changes in pom.xml for each book. All these changes have been incorporated so this is information to describe the settings in pom.xml. A major new feature of this version of the plugin is that images are automatically handled for you. This saves two steps and adds a level of validation.

You no longer have to add a postProcess section to your pom.xml configuration to copy image files into the webhelp output directory unless you want to do a clean up step of deleting the renamed directory.

Instead, these settings tell the build where to place the built files.

 <targetDirectory>${basedir}/target/docbkx/webhelp/admin-guide-cloud<targetDirectory>
 <webhelpDirname>/</webhelpDirname>
 <pdfFilenameBase>bk-admin-guide-cloud-latest</pdfFilenameBase>

The clouddocs-maven-plugin automatically detects which images you use in your document and copies them to the output directory. When you use .svg graphics, you do not have to create a .png version. Now, when you generate web help, the clouddocs-maven-plugin automatically converts the .svg to a .png file and uses it instead. You want to ensure all images have the <figure> tag and use contentwidth="6in" as an attribute on the <imageobject>. The system also checks for the availability of images before proceeding with the build, but you may still see "Figure not found" errors that you can safely ignore.

When you generate web help, by default the plugin now automatically generates a PDF and puts it in the webhelp directory, so links will no longer break to the PDF. You can also remove any pdf processing instructions from the book file itself.

SNAPSHOT builds

To build with the latest SNAPSHOT version of the plugin, do the following:

  1. Clone the clouddocs-maven-plugin: git clone https://git.openstack.org/stackforge/clouddocs-maven-plugin
  2. cd into the repo: cd clouddocs-maven-plugin
  3. Build the plugin: mvn clean install
  4. Edit your document's pom.xml file to depend on the current snapshot version of the plugin. E.g. 1.12.1-SNAPSHOT
  5. Build the document: mvn clean generate-sources

Markdown and DocBook

When a source file is markdown, the Jenkins jobs converts it to DocBook then builds with the Maven plugin.

The basic script is:

pandoc -f markdown -t docbook -s ${FILEPATH} |  xsltproc -o - /usr/share/xml/docbook/stylesheet/docbook5/db4-upgrade.xsl - |  xmllint  --format - | sed -e "s,<article,<chapter xml:id=\"$FILENAME\"," | sed -e 's,</article>,</chapter>,' > ${DIRPATH}/$FILENAME.xml

Then, run mvn clean generate-sources on the resulting FILENAME.xml file.

Typically the best route would be to create a Jenkins slave since it'll have all the dependencies. However if you don't want to set up your own Jenkins setup, these are the packages that have to be installed on an Ubuntu server that does the doc build:

  • asciidoc
  • xsltproc
  • docbook-xml
  • docbook5-xml
  • docbook-xsl
  • sgml-data