RETIRED, Parser to automatically parse install guides RST to Bash.
Go to file
Doug Hellmann 7183206ae6 use python3 in tox
Add a py27 environment to override the basepython value set in testenv
to ensure those tests still actually run under python 2.

Change-Id: I55c97908e95a7e1d5c15a16caf81fca13da215d9
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-08-14 13:14:17 -04: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 Minor changes, non-functional refactoring. 2017-06-19 07:34:52 +00: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
.zuul.yaml add python 3.6 unit test job 2018-08-13 16:47:27 -04: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 use python3 in tox 2018-08-14 13:14:17 -04: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