Updated operator guide documentation for 1. added indexing to list sections appropriately 2. populated CLI section using 'cliff.sphinxext' extension 3. removed 'Module Index' section since displaying 404 Change-Id: I17061a1e5456d027a555dc94dc8ac1a6dd802421
4.2 KiB
Developing with Python-masakariClient
Project Info
- Free software: under the Apache license
- masakari Service: https://opendev.org/openstack/masakari
- Masakari Client Library: https://opendev.org/openstack/python-masakariclient
- masakari Service Bugs: https://bugs.launchpad.net/masakari
- Client Bugs: https://bugs.launchpad.net/python-masakariclient
- Blueprints: https://blueprints.launchpad.net/masakari
Meetings
For details please refer to the OpenStack IRC meetings page.
Testing
Install the prerequisites for Tox:
On Ubuntu or Debian:
$ apt-get install gcc gettext python-dev libxml2-dev libxslt1-dev \ zlib1g-devYou may need to use pip install for some packages.
On RHEL or CentOS including Fedora:
$ yum install gcc python-devel libxml2-devel libxslt-develOn openSUSE or SUSE linux Enterprise:
$ zypper install gcc python-devel libxml2-devel libxslt-devel
Install python-tox:
$ pip install toxTo run the full suite of tests maintained within Masakariclient.
$ toxNote
The first time you run tox, it will take additional time
to build virtualenvs. You can later use the -r option with
tox to rebuild your virtualenv in a similar manner.
To run tests for one or more specific test environments(for example,
the most common configuration of Python 2.7, Python 3.6, Python 3.7 and
PEP-8), list the environments with the -e option, separated
by spaces:
$ tox -e py27,py36,py37,pep8See tox.ini for the full list of available test
environments.
Building the Documentation
The documentation is generated with Sphinx using the tox
command. To create HTML docs, run the commands:
$ tox -e docsThe resultant HTML will be in the doc/build/html
directory.
Release Notes
The release notes for a patch should be included in the patch. See the Project Team Guide for more information on using reno in OpenStack.
If any of the following applies to the patch, a release note is required:
- The deployer needs to take an action when upgrading
- The plugin interface changes
- A new feature is implemented
- A command or option is removed
- Current behavior is changed
- A security bug is fixed
Reno is used to generate release notes. Use the commands:
$ tox -e venv -- reno new <bug-,bp-,whatever>Then edit the sample file that was created and push it with your change.
To run the commands and see results:
$ git commit # Commit the change because reno scans git log.
$ tox -e releasenotesAt last, look at the generated release notes files in
releasenotes/build/html in your browser.
Testing new code
If a developer wants to test new code (feature, command or option) that they have written, Python-masakariclient may be installed from source by running the following commands in the base directory of the project:
$ python setup.py installor
$ pip install -e .Standardize Import Format
The import order shows below:
- {{stdlib imports in human alphabetical order}}
- n
- {{third-party lib imports in human alphabetical order}}
- n
- {{project imports in human alphabetical order}}
- n
- n
- {{begin your code}}
Example
import copy
import fixtures
import mock
import os
from osc_lib.api import auth
from osc_lib import utils
import six
from openstackclient import shell
from openstackclient.tests import utils