Skip to main content

Tools for OpenStack Documentation

Project description

OpenStack Doc Tools

This repository contains tools used by the OpenStack Documentation

For more details, see the `OpenStack Documentation wiki page

`Apache Maven <>`_ must be installed to build the

To install Maven 3 for Ubuntu 12.04 and later, and Debian wheezy and later::

apt-get install maven

On Fedora::

yum install maven3

This package needs a few external dependencies including lxml. If you
do not have lxml installed, you can either install python-lxml or have
it installed automatically and build from sources. To build lxml from
sources, you need a C compiler and the xml and xslt development
packages installed.

To install python-lxml, execute the following based on your

On Fedora::

yum install python-lxml

On openSUSE::

zypper in python-lxml

On Ubuntu::

apt-get install python-lxml

For building from source, install the dependencies of lxml.

On openSUSE::

zypper in libxslt-devel

On Ubuntu::

apt-get install libxml2-dev libxslt-dev

Updating RNG schema files

The repository contains in the directory ``os_doc_tools/resources`` a
local copy of some RNG schema files so that they do not need to be
downloaded each time for validation of XML and WADL files.

Please see the ``README.txt`` in the directory for details on where
these files come from.

Publishing of books
If you run the ``openstack-doc-test --check-build``, it will copy all
the books to the directory ``publish-docs`` in the top-level directory
of your repository.

By default, it outputs a directory with the same name as the directory
where the pom.xml file lives in, such as admin-guide-cloud. You can
also check the output of the build job for the name.

Some books need special treatment and there are three options you can
set in the file ``doc-test.conf``:

* ``book`` - the name of a book that needs special treatment
* ``target_dir`` - the path of subdirectory starting at ``target``
that is the root for publishing
* ``publish_dir`` - a new name to publish a book under

As an example, to publish the compute-api version 2 in the directory
``publish-docs/api/openstack-compute/2``, use::

book = openstack-compute-api-2
target_dir = target/docbkx/webhelp/api/openstack-compute/2
publish_dir = api/openstack-compute/2

Note that these options can be specified multiple times and should
always be used this way. You do not need to set ``publish_dir`` but if
you set it, you need to use it every time.

Also note that these are optional settings, the logic in the tool is
sufficient for many of the books.

Release notes


* Add ``--publish`` option to ``openstack-doc-test`` that does not
publish the www directory to the wrong location.
* Improvements for generation of option tables.


* Fix ``openstack-doc-test`` to handle changes in ``api-site`` repository:
Do not publish wadls directory, *.fo files and add api-ref-guides
PDF files to index file for docs-draft.
* Many improvements for generation of option tables.
* Improvements for ``openstack-auto-commands``: handle ironic, sahara;
improve generated output.


Fixes for openstack-doc-test:

* openstack-doc-test now validates JSON files for well-formed-ness and whitespace.
* Create proper chapter title for markdown files.
* Ignore publish-docs directory completely.
* Do not check for xml:ids in wadl resource.
* New option build_file_excepetion to ignore invalid XML files for
dependency checking in build and syntax checks.

Fixes for autodoc-tools to sanitize values and handle projects.

Client version number is output by openstack-auto-commands.


Fixes for openstack-doc-test:

* Fix error handling, now really abort if an error occurs.
* Avoid races in initial maven setup that broke build.
* Add --parallel/noparallel flags to disable parallel building.


* Fix openstack-doc-test building of image-api.
* Fix publishing of api-ref.
* Improve markdown conversion.


* Improved openstack-auto-commands output
* Fix script invocation in openstack-doc-test.


* Fix openstack-doc-test niceness and syntax checks that always
failed in api projects.
* Fix building of image-api-v2


* openstack-doc-test:

- Fix building of identity-api and image-api books.
- Add option --debug.
- Generate log file for each build.
- Do not install and in
/usr/bin, use special scripts dir instead.
- Allow to configure the directory used under publish-doc

* generatedocbook and generatepot have been merged into a single
file, the command has been renamed to
openstack-generate-docbook/openstack-generate-pot. For
compatibility, wrapper scripts are installed that will be removed
in version 0.8.


* Fix python packaging bugs that prevented sitepackages usage and
installed .gitignore in packages


* Test that resources in wadl files have an xml:id (lp:bug 1275007).
* Improve formatting of python command line clients (lp:bug 1274699).
* Copy all generated books to directory publish-docs in the git
top-level (lp:blueprint draft-docs-on-docs-draft).
* Requires now a config file in top-level git directory named
* Allow building of translated manuals, these need to be setup first
with "generatedocbook -l LANGUAGE -b BOOK".


* New option --exceptions-file to pass list of files to ignore
* Major improvements for automatic generation of option tables.
* New tool openstack-auto-commands to document python
command line clients.


* Fixes path for automated translation toolchain to fix lp:bug 1216153.
* Validates .xsd .xsl and.xjb files in addition to .xml.
* Fixes validation of WADL files to validate properly against XML schema.


* Enables local copies of RNG schema for validation.
* Enables ignoring directories when checking.


Initial release.

Our community welcomes all people interested in open source cloud computing,
and encourages you to join the `OpenStack Foundation <>`_.
The best way to get involved with the community is to talk with others online
or at a meetup and offer contributions through our processes, the `OpenStack
wiki <>`_, blogs, or on IRC at ``#openstack``
on ````.

We welcome all types of contributions, from blueprint designs to documentation
to testing to deployment scripts.

If you would like to contribute to the development,
you must follow the steps in the "If you're a developer, start here"
section of this page:

Once those steps have been completed, changes to OpenStack
should be submitted for review via the Gerrit tool, following
the workflow documented at:

Pull requests submitted through GitHub will be ignored.

Bugs should be filed on Launchpad, not GitHub:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
openstack-doc-tools-0.11.tar.gz (116.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page