Add doc8 to py27 tox env and fix raised issues

Fixes a bunch of long lines and ensures that doc8
will not complain about any future issues by adding it
to the commands performed during running the py27 tox
environment.

Change-Id: I9ae2f2a05a408dbfe105bf38ea0ae235701fbe0e
This commit is contained in:
Joshua Harlow 2015-10-15 16:54:30 -07:00
parent f566c54864
commit 91a92f0db1
3 changed files with 40 additions and 22 deletions

View File

@ -72,23 +72,28 @@ files.
Launching and controlling services Launching and controlling services
================================== ==================================
oslo_service.service module provides tools for launching OpenStack services and controlling their lifecycles. oslo_service.service module provides tools for launching OpenStack
services and controlling their lifecycles.
A service is an instance of any class that subclasses :py:class:`oslo_service.service.ServiceBase`. A service is an instance of any class that
:py:class:`ServiceBase <oslo_service.service.ServiceBase>` is an abstract class that defines an interface every subclasses :py:class:`oslo_service.service.ServiceBase`.
service should implement. :py:class:`oslo_service.service.Service` can serve as a base for constructing new services. :py:class:`ServiceBase <oslo_service.service.ServiceBase>` is an
abstract class that defines an interface every
service should implement. :py:class:`oslo_service.service.Service` can
serve as a base for constructing new services.
Launchers Launchers
~~~~~~~~~ ~~~~~~~~~
oslo_service.service module provides two launchers for running services: oslo_service.service module provides two launchers for running services:
* :py:class:`oslo_service.service.ServiceLauncher` - used for running one or more service in * :py:class:`oslo_service.service.ServiceLauncher` - used for
a parent process. running one or more service in a parent process.
* :py:class:`oslo_service.service.ProcessLauncher` - forks a given number of workers in which * :py:class:`oslo_service.service.ProcessLauncher` - forks a given
service(s) are then started. number of workers in which service(s) are then started.
It is possible to initialize whatever launcher is needed and then launch a service using it. It is possible to initialize whatever launcher is needed and then
launch a service using it.
:: ::
@ -104,9 +109,10 @@ It is possible to initialize whatever launcher is needed and then launch a servi
process_launcher = service.ProcessLauncher(CONF, wait_interval=1.0) process_launcher = service.ProcessLauncher(CONF, wait_interval=1.0)
process_launcher.launch_service(service.Service(), workers=2) process_launcher.launch_service(service.Service(), workers=2)
Or one can simply call :func:`oslo_service.service.launch` which will automatically pick an appropriate launcher Or one can simply call :func:`oslo_service.service.launch` which will
based on a number of workers that are passed to it (ServiceLauncher in case workers=1 or None and ProcessLauncher in automatically pick an appropriate launcher based on a number of workers that
other case). are passed to it (ServiceLauncher in case workers=1 or None and
ProcessLauncher in other case).
:: ::
@ -117,24 +123,30 @@ other case).
launcher = service.launch(CONF, service.Service(), workers=3) launcher = service.launch(CONF, service.Service(), workers=3)
*NOTE:* Please be informed that it is highly recommended to use no more than one instance of ServiceLauncher and *NOTE:* Please be informed that it is highly recommended to use no
ProcessLauncher classes per process. more than one instance of ServiceLauncher and ProcessLauncher classes
per process.
Signal handling Signal handling
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
oslo_service.service provides handlers for such signals as SIGTERM, SIGINT and SIGHUP. oslo_service.service provides handlers for such signals as SIGTERM, SIGINT
and SIGHUP.
SIGTERM is used for graceful termination of services. This can allow a server to wait for all clients to close SIGTERM is used for graceful termination of services. This can allow a
connections while rejecting new incoming requests. To force instantaneous termination SIGINT signal must be sent. server to wait for all clients to close connections while rejecting new
incoming requests. To force instantaneous termination SIGINT signal must
be sent.
On receiving SIGHUP configuration files are reloaded and a service is being reset and started again. Then all child On receiving SIGHUP configuration files are reloaded and a service
workers are gracefully stopped using SIGTERM and workers with new configuration are spawned. Thus, SIGHUP can be used is being reset and started again. Then all child workers are gracefully
for changing config options on the go. stopped using SIGTERM and workers with new configuration are
spawned. Thus, SIGHUP can be used for changing config options on the go.
*NOTE:* SIGHUP is not supported on Windows. *NOTE:* SIGHUP is not supported on Windows.
Below is the example of a service with a reset method that allows reloading logging options by sending a SIGHUP. Below is the example of a service with a reset method that allows reloading
logging options by sending a SIGHUP.
:: ::

View File

@ -6,8 +6,9 @@ hacking<0.11,>=0.10.0
mock>=1.2 mock>=1.2
oslotest>=1.10.0 # Apache-2.0 oslotest>=1.10.0 # Apache-2.0
# These are needed for docs generation # These are needed for docs generation/testing
oslosphinx>=2.5.0 # Apache-2.0 oslosphinx>=2.5.0 # Apache-2.0
sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
doc8 # Apache-2.0
coverage>=3.6 coverage>=3.6

View File

@ -19,6 +19,11 @@ commands = python setup.py testr --slowest --testr-args='{posargs}'
[testenv:pep8] [testenv:pep8]
commands = flake8 commands = flake8
[testenv:py27]
commands =
python setup.py testr --slowest --testr-args='{posargs}'
doc8 --ignore-path "doc/source/history.rst" doc/source
[testenv:py34] [testenv:py34]
commands = commands =
python -m testtools.run \ python -m testtools.run \