1. Replace git.openstack.org URLs with opendev.org URLs 2. Update some urls Change-Id: Icf9a7857be01056c0967fed0c777f2f46a993b6c
5.0 KiB
Developing with Python-TackerClient
Project Info
- Free software: under the Apache license
- Tacker Service: https://opendev.org/openstack/tacker
- Tacker Client Library: https://opendev.org/openstack/python-tackerclient
- Tacker Service Bugs: https://bugs.launchpad.net/tacker
- Client Bugs: https://bugs.launchpad.net/python-tackerclient
- Blueprints: https://blueprints.launchpad.net/tacker
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 TackerClient.
$ 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.5 and PEP-8), list
the environments with the -e option, separated by
spaces:
$ tox -e py27,py35,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-TackerClient 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