diff --git a/.gitignore b/.gitignore index b337fec..e4a0a7c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,15 @@ .DS_Store? + +# Build results target/ +# Testenvironment +.tox + +# Editors +*~ +.*.swp +.bak + # Per-user NetBeans files nbactions.xml diff --git a/README.rst b/README.rst index 755cb35..deac666 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,66 @@ -This repository contains the RESTful API information for the OpenStack Compute project, also known as Nova. The Nova project provides open source cloud management and orchestration services. +Compute API ++++++++++++ + +This repository contains the RESTful API information for the OpenStack +Compute project, also known as Nova. The Nova project provides open +source cloud management and orchestration services. + +Prerequisites +============= +`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 15 and later:: + + yum install maven3 + +Building +======== + +The manuals are in the ``incubation``, ``openstack-compute-api-1.0`` +and ``openstack-compute-api-2`` directories. + +To build a specific guide, look for a ``pom.xml`` file within a subdirectory, +then run the ``mvn`` command in that directory. For example:: + + cd openstack-compute-api-2 + mvn clean generate-sources + + +Testing of changes and building of the manual +============================================= + +Install the python tox package and run ``tox`` from the top-level +directory to use the same tests that are done as part of our Jenkins +gating jobs. + +If you like to run individual tests, run: +* ``tox -e checkniceness`` - to run the niceness tests +* ``tox -e checksyntax`` - to run syntax checks +* ``tox -e checkdeletions`` - to check that no deleted files are referenced +* ``tox -e checkbuild`` - to actually build the manual + +tox will use the `openstack-doc-tools package +`_ for execution of +these tests. openstack-doc-tools has a requirement on maven for the +build check. Contributing ============ -Our community welcomes all people interested in open source cloud computing, and there are no formal membership requirements. The best way to join the community is to talk with others online or at a meetup and offer contributions through Launchpad, the OpenStack wiki, or blogs. We welcome all types of contributions, from blueprint designs to documentation to testing to deployment scripts. + +Our community welcomes all people interested in open source cloud +computing, and there are no formal membership requirements. The best +way to join the community is to talk with others online or at a meetup +and offer contributions through Launchpad, the OpenStack wiki, or +blogs. We welcome all types of contributions, from blueprint designs +to documentation to testing to deployment scripts. Installing ========== -Refer to http://docs.openstack.org to learn more about installing an OpenStack Compute server that can respond to these API commands. \ No newline at end of file + +Refer to http://docs.openstack.org to learn more about installing an +OpenStack Compute server that can respond to these API commands. diff --git a/test-requirements.txt b/test-requirements.txt new file mode 100644 index 0000000..5090e85 --- /dev/null +++ b/test-requirements.txt @@ -0,0 +1 @@ +openstack-doc-tools diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..79b66c0 --- /dev/null +++ b/tox.ini @@ -0,0 +1,29 @@ +[tox] +minversion = 1.6 +envlist = checkniceness,checksyntax,checkdeletions,checkbuild +skipsdist = True + +[testenv] +setenv = + VIRTUAL_ENV={envdir} + LANG=en_US.UTF-8 + LANGUAGE=en_US:en + LC_ALL=C +deps = -r{toxinidir}/test-requirements.txt + +[testenv:venv] +commands = {posargs} + +[testenv:checkniceness] +commands = openstack-doc-test --api-site --check-niceness {posargs} + +[testenv:checksyntax] +commands = openstack-doc-test --api-site --check-syntax {posargs} + +[testenv:checkdeletions] +commands = openstack-doc-test --api-site --check-deletions {posargs} + +[testenv:checkbuild] +# ignore directories incubation and openstack-compute-api-1.0, these are +# not published +commands = openstack-doc-test --api-site --check-build --ignore-dir=incubation --ignore-dir=openstack-compute-api-1.0 {posargs}