# Table of Contents 1. [Overview](#id-section1) * [How to use](#id-section2) * [How to build documentation] (#id-section3) 2. [Check yourself](#id-section4) * [Plugin Guide checklist](#id-section5)
# Overview If you are developing your own plugin for Fuel, you will also need to prepare the documentation set, which includes Test Plan, Test Report, and Plugin Guide.
## How to use This repo is organized as the doc tree with 2 main folders: - plugin guide - testing documentation - Test Plan - Test Report To use these doc templates, follow these steps: #. Clone the repo:: git clone git@github.com:Mirantis/fuel-plugin-docs.git #. Populate the placeholders of the conf.py files (for Plugin Guide, Test Plan, and Report) with plugin-specific information (e.g. document name, plugin release). #. Populate the content of RST files which make up the document structure.
## How to build documentation Once you're done with editing the conf.py and sample RST files, you should cd into the corresponding doc dir and run ``make latexpdf``. For example:: cd plugin guide make latexpdf The PDF will be found in /build subdir.
## Check yourself Please use the checklists below to make sure you documentation meets the acceptance criteria.
### Plugin Guide * The Plugin Guide contains plugin version in -XX-XXX-X format. * The **Overview** section provides information on the following: * high-level description of plugin functionality/use case * schemes (optional) * The **Requirements** section provides information on the following: * target MOS release (e.g. should be 8.0 not 8.0 and/or higher) * required compatible proprietary Partner product version * required compatible proprietary hw/software (if applicable) * The **Prerequisites** section provides information on what should be done prior to the solution installation/configuration, specifically: * List of required HW/SW and how to get it (where to order or how to download). * Compatible firmware versions (for HW) and software versions (for SW). * A link to official documentation and configuration guides of used HW/SH should be provided. * How to configure required external hardware/software (e.g. storage devices, switches and so on) so that user could use them via the the application/driver. A simple configuration would be enough. * If the solution can use specific HW/SW in several modes, then there should be instructions on how to properly configure the hw/software to use this very mode * The **Limitations** should outline the issues that might limit the plugin usage. Those can be: * specific networking option available for the plugin (e.g. it can only use Neutron VXLAN) * known issues that might affect the plugin's operability (e.g. it's impossible to use non-ASCII characters) * The **Release Notes** section should describe how this plugin version differs from the previous one. * The **Installing the plugin** section provides commands and estimated output. * The **Configuring the plugin** section provides the following information: * It's clarified which MOS environment configuration should be used (how many controller, computes, which options/services should be enabled). All links to the official Mirantis OpenStack documentation are present. It's also okay to provide screenshots. * It's clarified how to configure MOS environment properly for the plugin usage (e.g. how to configure interfaces for different logical networks Fuel uses). It's also okay to provide screenshots. * If the plugin requires specific role/naming convention, then this is also outlined. * UI part of the plugin should have detailed description and instructions on where to get specific params. This should be done for every field and example values should be provided. * If the plugin supports several modes of usage, then there should be a flow for each mode (e.g. each mode should be presented as the step-by-step instruction with screenshots with all required UI elements listed in the correct order): e.g. Select plugin checkbox, click a radio button, fill in the text fields * Network verification check is specified as the obligatory step prior to deployment. If it’s expected to fail, this fact should be explicitly stated and a reason should be provided. * The **User Guide** should contain: * baseline commands (CLI reference) with the estimated output (e.g. create volumes, list volumes etc) * links to external documentation (e.g. if all baseline issues are covered in open source/proprietary documentation) * The **Verification** section should explain how to verify that the plugin works as expected (CLI, expected output). * The **Troubleshooting** section should deliver specific guidaince on: * how to make sure that all services are running * how to check network connectivity (if needed) * logs (where to find those, what to pay attention to)