Tools used by OpenStack Documentation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Jaeger 175e79ebf7 Run doc8 as part of pep8 test 8 years ago
autogenerate_config_docs Merge "Add sahara to the autohelp supported projects" 8 years ago
bin Fix doc-tools-check-language 8 years ago
build_environment A virtual building and testing environment using Vagrant 8 years ago
cleanup Bump hacking to 0.9.x series 8 years ago
doc/source Run doc8 as part of pep8 test 8 years ago
os_doc_tools It's isfile 8 years ago
sitemap Improve sitemap generation 8 years ago
tools Rename Openstack to OpenStack 9 years ago
.gitignore A virtual building and testing environment using Vagrant 8 years ago
.gitreview Add .gitreview 9 years ago
.mailmap Add .mailmap 9 years ago
HACKING.rst Add HACKING.rst 9 years ago
LICENSE Add LICENSE and README.rst 9 years ago Move release notes into a separate file 8 years ago
README.rst Move release notes into a separate file 8 years ago
RELEASE_NOTES.rst Run doc8 as part of pep8 test 8 years ago
doc-test.conf.sample Allow setting of publish directory 9 years ago
openstack-common.conf Import module log and needed dependencies from oslo-incubator 8 years ago
pylintrc Add pylint target for testing 8 years ago
requirements.txt Add requirements required by openstack.common.log 8 years ago
setup.cfg Import doc-tools-check-languages and improve it 8 years ago Updated from global requirements 8 years ago
test-requirements.txt Run doc8 as part of pep8 test 8 years ago
tox.ini Run doc8 as part of pep8 test 8 years ago


OpenStack Doc Tools

This repository contains tools used by the OpenStack Documentation project.

For more details, see the OpenStack Documentation wiki page.


Apache Maven must be installed to build the documentation.

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

apt-get install maven

On Fedora:

yum install maven3

You need to have Python 2.7 installed for using the tools.

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

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.


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: