openstack-manuals/doc/contributor-guide/source/project-install-guide.rst
Doug Hellmann 741b7e3ec0 update contributor guide based on changes after migration project
Update the instructions to indicate which guides are no longer
maintained by the docs team and how those docs are handled instead.

Explain the data input to the www-generator.py tool

Update the release instructions to explain how to update the templated
portion of the site.

Change-Id: I08bb228a6807bfcee0a6ab72ddaf229b455c9d1d
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2017-07-03 14:28:59 +00:00

4.9 KiB

Installation tutorials and guides

Pike and later

Each official OpenStack project should maintain an installation guide following the layout described in the documentation migration spec. When the guide is available, update openstack-manuals/www/project-data/latest.yaml to include information about the project and ensure that the has_install_guide flag is set to true to ensure that the guide is listed along with the guides from other projects.

Newton and Ocata

For the Newton release, a new method of publishing installation tutorials and guides is being implemented. This will allow each big tent project to create their own installation guide, based on a standard template, in their own repository. These guides are then centrally published to docs.openstack.org.

Warning

These instructions are superseded by the documentation migration spec. New installation guides should be created using the layout defined in the spec, rather than the following instructions.

For updates on the progress of this project, see the Install Guide wiki page. If you would like to help out, attend a meeting.

Set up project specific installation guides:

  1. Install cookiecutter:

    # pip install cookiecutter
  2. Run the Install Guide cookiecutter in the top-level directory of your projects repository to create a skeleton for the install guide of your project:

    $ cookiecutter https://git.openstack.org/openstack/installguide-cookiecutter.git

    You will be prompted to answer the following questions to complete the installation:

    Parameter Explanation Example
    directory_name The name of the install guide directory inside the project repository. This should be, install-guide. install-guide
    service The service name what the project implements. Compute, Telemetry Alarming, or Root Cause Analysis
    codename The name how the different components of the project are refering to the project nova, aodh, or vitrage as in nova-conductor or vitrage-api

    A directory will be created with the name that was defined in directory_name (usually install-guide) with the skeleton of the install guide.

  3. Create a tox.ini environment for install-guide in your project repository, using this content:

    [testenv:install-guide]
    commands = sphinx-build -a -E -W -d install-guide/build/doctrees -b html install-guide/source install-guide/build/html
  4. Add the python package openstackdocstheme to the test-requirements.txt file. Copy the exact requirement line from the global file:

    openstackdocstheme>=1.5.0  # Apache-2.0
  5. Add your installation content, and test the build locally with tox:

    $ tox -e install-guide

    The local build will be generated in the install-guide/build/html directory".

  6. Commit the changes to your project repository for review.

After these changes have merged, you can set up the jobs for building.

  1. Clone the project-config repo:

    $ git clone https://git.openstack.org/openstack-infra/project-config
  2. In jenkins/jobs/projects.yaml, add install-guide-jobs within the entry for your project:

    - project:
        name: heat
    
        jobs:
        ...
         - install-guide-jobs:
             service: orchestration

    Here service is the service name of the project, like orchestration for heat.

    This defines the jobs using the JJB install-guide-jobs job-template.

  3. In zuul/layout.yaml, locate the entry for your project and add the install-guide-jobs template:

    - name: openstack/heat
      template:
        - name: install-guide-jobs

    This schedules the Install Guide jobs.

  4. Commit the changes to the infra repository for review.

To create or update the master index file, create or update the www/project-install-guide/RELEASE/index.html file and the doc/install-guide/source/additional-services.rst at the openstack-manuals repository. For draft (unreleased) version, replace RELEASE with draft.