RETIRED, Parser to automatically parse install guides RST to Bash.
Go to file
Roger Luethi 68b8c03838 Add logging to parser.py
This patch adds logging to parser.py. All log entries are written to a
log file. Log entries at a level higher than debug level are also
written to the console.

The patch uses logging to make it easy to diagnose parsing errors caused
by mismatched start and end markers for distro and code blocks.

Change-Id: Ieea40d58aaf827ef9ba2e4eec75c450c5a58ea27
2017-01-06 14:37:28 +01:00
doc/source Adds the parser and related files. 2016-12-20 17:11:55 +01:00
releasenotes Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
rst2bash Add logging to parser.py 2017-01-06 14:37:28 +01:00
tools Robustness fixes in runparser 2017-01-04 16:12:56 +01:00
.coveragerc Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
.gitignore Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
.gitreview Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
.mailmap Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
.testr.conf Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
CONTRIBUTING.rst Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
HACKING.rst Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
LICENSE Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
MANIFEST.in Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
README.rst Adds the parser and related files. 2016-12-20 17:11:55 +01:00
babel.cfg Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
requirements.txt Updates readme and documentation. 2016-12-20 14:58:16 +01:00
setup.cfg Adds the parser and related files. 2016-12-20 17:11:55 +01:00
setup.py Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
test-requirements.txt Initial Cookiecutter Commit. 2016-12-20 11:24:01 +01:00
tox.ini Adds the parser and related files. 2016-12-20 17:11:55 +01:00

README.rst

rst2bash

Parser to convert RST into Bash. Allows generating Bash scripts to deploy OpenStack from install guides.

Generating Bash code from install guides RST code snippets allows us to automatically test and validate the installation guides in the CI. This cluster should make it extremely easy for contributors to test their changes and additionally allows us to maintain higher quality installation instructions.

These are the major goals which are accomplished by the parser:

  • To allow automated testing of installation guides.
  • To automate generation of installation scripts for training-labs from install guides.
  • To write a generic parser which should be usable for parsing code block snippets from any sphinx documentation.
  • To test and validate OpenStack in the CI using training-labs and installation guides.
  • To make OpenStack awesome.

Training-Labs

Training-labs is part of OpenStack Documentation team and provides an unique tool to deploy core OpenStack services. Training labs closely follows installation guides for the OpenStack deployment steps.

Installation Guides (OpenStack Installation Tutorial)

Installation guides provides step by step instructions to deploy OpenStack on a multi-node cluster.

More Details

  • Most of the parser logic is running from parser.py.
  • More scripts (glue-code) should allow setting up the openstack-manuals and training-labs repository.
  • The generated output (parsed files) should then be triggered via. training-labs to deploy the OpenStack cluster.
  • Additionally, this project should showcase and allow the work-flow in the OpenStack CI for installation guides and cross-project installation-guides.

Roadmap

  • Create glue-code scripts to automate setting up of various repositories required to easily carry the work-flow.
  • Setup the non-voting jobs to deploy the cluster. This cluster should be a two node KVM/VirtualBox cluster which runs in the OpenStack CI.
  • Update the Bash templates (Jinja templates) to allow nicer Bash scripts which are following training-labs conventions and standards.
  • Stabilize the CI and add the CI template in openstack-infra.
  • Add this job for installation guides and other related guides for openstack-manuals.
  • Add this job for training-labs to automatically generate Bash scripts. Figure out a mechanism which does not rewrite from scratch but rather nicely and carefully updates existing Bash scripts from training-labs.

Misc