From eae8903ae0748f6ca673b6dd941f7996fd51dc5f Mon Sep 17 00:00:00 2001 From: "Kai Qiang Wu(Kennan)" Date: Fri, 28 Aug 2015 01:38:42 +0000 Subject: [PATCH] Add developer docs automatic produce support Partially-Implements: blueprint kolla-tox-doc Change-Id: Ie950667a61d9ce45fcc7e26915a7aa0f0ca6b597 --- docs/conf.py | 71 +++++++++++++++++++++++++++++++++++++++++ docs/dev-quickstart.rst | 5 +-- docs/devenv-heat.rst | 8 ++--- docs/index.rst | 44 +++++++++++++++++++++++++ requirements.txt | 2 +- setup.cfg | 4 +-- test-requirements.txt | 2 ++ tox.ini | 3 ++ 8 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 docs/conf.py create mode 100644 docs/index.rst diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000000..a0d74bd978 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,71 @@ +# -*- coding: utf-8 -*- +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +import sys + +sys.path.insert(0, os.path.abspath('../..')) +# -- General configuration ---------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [ + 'sphinx.ext.autodoc', + 'oslosphinx' +] + +# autodoc generation is a bit aggressive and a nuisance when doing heavy +# text edit cycles. +# execute "export SPHINX_DEBUG=1" in your terminal to disable + +# The suffix of source filenames. +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'kolla' +copyright = u'2013, OpenStack Foundation' + +# If true, '()' will be appended to :func: etc. cross-reference text. +add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +add_module_names = True + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output -------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. Major themes that come with +# Sphinx are currently 'default' and 'sphinxdoc'. +# html_theme_path = ["."] +# html_theme = '_theme' +# html_static_path = ['static'] + +# Output file base name for HTML help builder. +htmlhelp_basename = '%sdoc' % project + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass +# [howto/manual]). +latex_documents = [ + ('index', + '%s.tex' % project, + u'%s Documentation' % project, + u'OpenStack Foundation', 'manual'), +] diff --git a/docs/dev-quickstart.rst b/docs/dev-quickstart.rst index a07337a6b1..1d28b00062 100644 --- a/docs/dev-quickstart.rst +++ b/docs/dev-quickstart.rst @@ -99,7 +99,7 @@ be running at a time. service libvirtd stop Kolla deploys OpenStack using -`Ansible `__. Install Ansible from distribution +`Ansible `__. Install Ansible from distribution packaging if the distro packaging has 1.8.4 or greater available. Currently Ubuntu's version of Ansible is too old to use from packaging. On RPM based systems install from packaging using: @@ -185,12 +185,13 @@ seek help by filing a bug or contacting the developers via IRC. Note some of the containers don't log to stdout at present so the above command will provide no information. Instead they log to files -in _/var_/log_/_ inside the container. The Kolla community is +in /var/log/ inside the container. The Kolla community is working to improve auditing and make things more consistent. The Kolla community expects this work to complete by Liberty rc1. An example of reading the logs for nova-api: :: + $ docker exec -t nova_api more /var/log/nova/nova-api.log Note reading the logs via an exec operation can only be done if the diff --git a/docs/devenv-heat.rst b/docs/devenv-heat.rst index 4436f46606..77a5ff3fe7 100644 --- a/docs/devenv-heat.rst +++ b/docs/devenv-heat.rst @@ -34,7 +34,7 @@ correct a bug with template validation when using the "Fn::Join" function). Create the Glance Image -======================= +----------------------- After cloning the project, run the get-image.sh script from the project's devenv directory: @@ -56,7 +56,7 @@ Add the image to your Glance image store: --is-public True --progress Create the Stack -================ +---------------- Copy local.yaml.example to local.yaml and edit the contents to match your deployment environment. Here is an example of a customized @@ -101,7 +101,7 @@ And then create the stack, referencing that environment file: $ heat stack-create -f kollacluster.yaml -e local.yaml kolla-cluster Access the Kolla Nodes -====================== +---------------------- You can get the ip address of the Kolla nodes using the ``heat output-show`` command: @@ -150,7 +150,7 @@ If you want to start a container set by hand use this template $ docker-compose -f glance-api-registry.yml up -d Debugging -========= +--------- All Docker commands should be run from the directory of the Docker binaray, by default this is ``/``. diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000000..258c6180a3 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,44 @@ +.. + Copyright 2014-2015 OpenStack Foundation + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Welcome to Kolla's Documentation! +================================= + +Kolla provides Docker containers and Ansible playbooks to meet Kolla's mission. +Kolla is highly opinionated out of the box, but allows for complete +customization. This permits operators with little experience to deploy +OpenStack quickly and as experience grows modify the OpenStack configuration to +suit the operator's exact requirements. + +Developer Info +============== + +.. toctree:: + :maxdepth: 1 + + dev-quickstart + ansible-deployment + devenv-vagrant + devenv-heat + +Services in Kolla +================= + +.. toctree:: + :maxdepth: 1 + + cinder-guide + swift-readme diff --git a/requirements.txt b/requirements.txt index f759c054f0..450c7b147e 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pbr<2.0,>=1.4 +pbr<2.0,>=1.6 docker-py>=1.1.0 # Apache-2.0 Jinja2>=2.6 # BSD License (3 clause) gitdb>=0.6.4 # BSD License (3 clause) diff --git a/setup.cfg b/setup.cfg index 1e5d713056..6db6a4a3e2 100644 --- a/setup.cfg +++ b/setup.cfg @@ -46,5 +46,5 @@ setup-hooks = [build_sphinx] all_files = 1 -build-dir = doc/build -source-dir = docs +build-dir = docs/build +source-dir = docs/ diff --git a/test-requirements.txt b/test-requirements.txt index 269d9f5664..e42b9d352c 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,6 +1,7 @@ hacking>=0.10.0 oslo.log>=1.0.0 # Apache-2.0 oslotest>=1.5.1 # Apache-2.0 +oslosphinx>=2.5.0 # Apache-2.0 PyYAML python-barbicanclient>=3.0.1 python-ceilometerclient>=1.0.6 @@ -11,6 +12,7 @@ python-keystoneclient>=1.1.0 python-neutronclient>=2.3.11,<3 python-novaclient>=2.18.0,!=2.21.0 python-swiftclient>=2.2.0 +sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 testrepository>=0.0.18 testscenarios>=0.4 testtools>=0.9.36,!=1.2.0 diff --git a/tox.ini b/tox.ini index 4673d4e153..94a2008f6b 100644 --- a/tox.ini +++ b/tox.ini @@ -12,6 +12,9 @@ deps = -r{toxinidir}/requirements.txt commands = flake8 +[testenv:docs] +commands = python setup.py build_sphinx + [testenv:validate-contents] commands = {toxinidir}/tools/validate-all-json.sh