Adam Spiers 4a53589fea www-generator.py: cache expensive repo/project metadata to disk
Gathering the metadata of repos and projects requires a significant
number of HTTP calls and is therefore slow and expensive.  When
hacking on www-generator.py the ability to skip these calls can save a
lot of time allowing much more rapid iteration.  So add a persistent
cache for this data, using the percache Python module.

This is mostly run in the gate, where the cache will be deleted on
each run.  Documentation contributors running this locally may
occasionally need to manually remove the cache file, although
governance data generally changes slow enough that this is expected to
be a rare corner case.

As noted by the comment in _get_official_repos(), in the future we may
add support for loading governance data from a local repo, thereby
skipping the need for slow HTTP calls.  But for now this is a simpler
solution.

Change-Id: Ib52171625e37169d00da03f436b58456c103b04d
2019-01-04 17:10:22 +00:00
2018-12-20 09:20:14 +01:00
2018-09-12 16:30:55 -06:00
2018-09-12 16:30:55 -06:00
2018-07-17 22:14:41 +08:00
2018-11-02 06:44:12 +00:00

Team and repository tags

image

OpenStack Manuals

This repository contains documentation for the OpenStack project.

For more details, see the OpenStack Documentation Contributor Guide.

It includes these manuals:

  • Architecture Design Guide
  • Documentation Contributor Guide
  • High Availability Guide
  • Installation Guide
  • Virtual Machine Image Guide

In addition to the guides, this repository contains:

  • docs.openstack.org contents: www

Building

Various manuals are in subdirectories of the doc/ directory.

Guides

Some pre-requisites are needed to build the guides. If you are using a Linux operating system you can generate a report of missing local requirements with the bindep command:

$ tox -e bindep

All guides are in the RST format. You can use tox to prepare virtual environment and build all guides (HTML only):

$ tox -e docs

You can also build a specific guide.

For example, to build OpenStack Virtual Machine Image Guide, use the following command:

$ tox -e build -- image-guide

You can find the root of the generated HTML documentation at:

doc/image-guide/build/html/index.html

To build a specific guide with a PDF file, add a -pdf option like:

$ tox -e build -- image-guide --pdf

The generated PDF file will be copied to the root directory of the generated HTML documentation.

PDF builds are accomplished using LaTeX as an intermediate format. Currently, you can generate a PDF file for a limited number of guides. The supported list is maintained in the tools/build-all-rst.sh file.

If you get the error message make: xelatex: No such file or directory, it means your local environment does not have LaTeX installed. Read Getting LaTeX and Install dependencies for building documentation for instructions.

Testing of changes and building of all manuals

Install the Python tox package and run tox from the top-level directory to use the same tests that are done as part of the OpenStack CI jobs.

If you like to run individual tests, run:

  • tox -e checkbuild - to actually build the manual; this also generates a directory publish-docs that contains the built files for inspection
  • tox -e checklang - to build translated manuals
  • tox -e linters - to run the niceness tests, for example, to see extra whitespaces
  • tox -e linkcheck - to run the tests for working remote URLs

The tox command uses the openstack-doc-tools package to run the tests.

Generated files

Some documentation files are generated using tools. These files include a do not edit header and should not be modified by hand. Please see Generated files.

Bugs

Bugs should be filed on Launchpad, not GitHub:

https://bugs.launchpad.net/openstack-manuals

Release Notes

https://docs.openstack.org/releasenotes/openstack-manuals

Installing

Refer to https://docs.openstack.org to see where these documents are published and to learn more about the OpenStack project.

Description
OpenStack Manuals
Readme 476 MiB
Languages
HTML 78.4%
CSS 12.2%
Python 4.8%
JavaScript 3.3%
Shell 1.3%