Fix H404/405 violations for thirdparty and stress

There is a lot of H404/405 violations in Tempest now, and that leads
difficult to migrate the code to tempest-lib or the other projects'
repos. This patch fixes these violations for thirdparty and stress.

Change-Id: I467b2c4f12459d80b532d34c56731996603d4aeb
diff --git a/tempest/stress/actions/unit_test.py b/tempest/stress/actions/unit_test.py
index c376693..3b27885 100644
--- a/tempest/stress/actions/unit_test.py
+++ b/tempest/stress/actions/unit_test.py
@@ -35,6 +35,7 @@
 
 class UnitTest(stressaction.StressAction):
     """This is a special action for running existing unittests as stress test.
+
        You need to pass ``test_method`` and ``class_setup_per``
        using ``kwargs`` in the JSON descriptor;
        ``test_method`` should be the fully qualified name of a unittest,
diff --git a/tempest/stress/actions/volume_attach_verify.py b/tempest/stress/actions/volume_attach_verify.py
index 4840383..fa0bb8b 100644
--- a/tempest/stress/actions/volume_attach_verify.py
+++ b/tempest/stress/actions/volume_attach_verify.py
@@ -121,6 +121,7 @@
 
     def setUp(self, **kwargs):
         """Note able configuration combinations:
+
             Closest options to the test_stamp_pattern:
                 new_server = True
                 new_volume = True
diff --git a/tempest/stress/driver.py b/tempest/stress/driver.py
index eec52cb..8359efd 100644
--- a/tempest/stress/driver.py
+++ b/tempest/stress/driver.py
@@ -49,9 +49,9 @@
 
 
 def _get_compute_nodes(controller, ssh_user, ssh_key=None):
-    """
-    Returns a list of active compute nodes. List is generated by running
-    nova-manage on the controller.
+    """Returns a list of active compute nodes.
+
+    List is generated by running nova-manage on the controller.
     """
     nodes = []
     cmd = "nova-manage service list | grep ^nova-compute"
@@ -69,9 +69,7 @@
 
 def _has_error_in_logs(logfiles, nodes, ssh_user, ssh_key=None,
                        stop_on_error=False):
-    """
-    Detect errors in the nova log files on the controller and compute nodes.
-    """
+    """Detect errors in nova log files on the controller and compute nodes."""
     grep = 'egrep "ERROR|TRACE" %s' % logfiles
     ret = False
     for node in nodes:
@@ -85,9 +83,7 @@
 
 
 def sigchld_handler(signalnum, frame):
-    """
-    Signal handler (only active if stop_on_error is True).
-    """
+    """Signal handler (only active if stop_on_error is True)."""
     for process in processes:
         if (not process['process'].is_alive() and
                 process['process'].exitcode != 0):
@@ -97,9 +93,7 @@
 
 
 def terminate_all_processes(check_interval=20):
-    """
-    Goes through the process list and terminates all child processes.
-    """
+    """Goes through the process list and terminates all child processes."""
     LOG.info("Stopping all processes.")
     for process in processes:
         if process['process'].is_alive():
@@ -120,9 +114,7 @@
 
 
 def stress_openstack(tests, duration, max_runs=None, stop_on_error=False):
-    """
-    Workload driver. Executes an action function against a nova-cluster.
-    """
+    """Workload driver. Executes an action function against a nova-cluster."""
     admin_manager = credentials.AdminManager()
 
     ssh_user = CONF.stress.target_ssh_user
diff --git a/tempest/stress/stressaction.py b/tempest/stress/stressaction.py
index a3d0d17..c8bd652 100644
--- a/tempest/stress/stressaction.py
+++ b/tempest/stress/stressaction.py
@@ -40,32 +40,35 @@
 
     @property
     def action(self):
-        """This methods returns the action. Overload this if you
-        create a stress test wrapper.
+        """This methods returns the action.
+
+        Overload this if you create a stress test wrapper.
         """
         return self.__class__.__name__
 
     def setUp(self, **kwargs):
-        """This method is called before the run method
-        to help the test initialize any structures.
-        kwargs contains arguments passed in from the
-        configuration json file.
+        """Initialize test structures/resources
+
+        This method is called before "run" method to help the test
+        initialize any structures. kwargs contains arguments passed
+        in from the configuration json file.
 
         setUp doesn't count against the time duration.
         """
         self.logger.debug("setUp")
 
     def tearDown(self):
-        """This method is called to do any cleanup
-        after the test is complete.
+        """Cleanup test structures/resources
+
+        This method is called to do any cleanup after the test is complete.
         """
         self.logger.debug("tearDown")
 
     def execute(self, shared_statistic):
-        """This is the main execution entry point called
-        by the driver.   We register a signal handler to
-        allow us to tearDown gracefully, and then exit.
-        We also keep track of how many runs we do.
+        """This is the main execution entry point called by the driver.
+
+        We register a signal handler to allow us to tearDown gracefully,
+        and then exit. We also keep track of how many runs we do.
         """
         signal.signal(signal.SIGHUP, self._shutdown_handler)
         signal.signal(signal.SIGTERM, self._shutdown_handler)
diff --git a/tempest/thirdparty/boto/test.py b/tempest/thirdparty/boto/test.py
index 05c47bb..cfd3747 100644
--- a/tempest/thirdparty/boto/test.py
+++ b/tempest/thirdparty/boto/test.py
@@ -110,8 +110,10 @@
     CODE_RE = '.*'  # regexp makes sense in group match
 
     def match(self, exc):
-        """:returns: Returns with an error string if it does not match,
-               returns with None when it matches.
+        """Check boto exception
+
+        :returns: Returns with an error string if it does not match,
+                  returns with None when it matches.
         """
         if not isinstance(exc, exception.BotoServerError):
             return "%r not an BotoServerError instance" % exc
@@ -136,9 +138,9 @@
 
 
 def _add_matcher_class(error_cls, error_data, base=BotoExceptionMatcher):
-    """
-        Usable for adding an ExceptionMatcher(s) into the exception tree.
-        The not leaf elements does wildcard match
+    """Usable for adding an ExceptionMatcher(s) into the exception tree.
+
+       The not leaf elements does wildcard match
     """
     # in error_code just literal and '.' characters expected
     if not isinstance(error_data, six.string_types):
@@ -227,6 +229,7 @@
     @classmethod
     def addResourceCleanUp(cls, function, *args, **kwargs):
         """Adds CleanUp callable, used by tearDownClass.
+
         Recommended to a use (deep)copy on the mutable args.
         """
         cls._sequence = cls._sequence + 1
@@ -242,6 +245,7 @@
     def assertBotoError(self, excMatcher, callableObj,
                         *args, **kwargs):
         """Example usage:
+
             self.assertBotoError(self.ec2_error_code.client.
                                  InvalidKeyPair.Duplicate,
                                  self.client.create_keypair,
@@ -258,7 +262,8 @@
 
     @classmethod
     def resource_cleanup(cls):
-        """Calls the callables added by addResourceCleanUp,
+        """Calls the callables added by addResourceCleanUp
+
         when you overwrite this function don't forget to call this too.
         """
         fail_count = 0
@@ -302,10 +307,9 @@
 
     @classmethod
     def get_lfunction_gone(cls, obj):
-        """If the object is instance of a well know type returns back with
-            with the corresponding function otherwise it assumes the obj itself
-            is the function.
-            """
+        # NOTE: If the object is instance of a well know type returns back with
+        # with the corresponding function otherwise it assumes the obj itself
+        # is the function.
         ec = cls.ec2_error_code
         if isinstance(obj, ec2.instance.Instance):
             colusure_matcher = ec.client.InvalidInstanceID.NotFound
@@ -489,6 +493,7 @@
     @classmethod
     def destroy_security_group_wait(cls, group):
         """Delete group.
+
            Use just for teardown!
         """
         # NOTE(afazekas): should wait/try until all related instance terminates
@@ -497,6 +502,7 @@
     @classmethod
     def destroy_volume_wait(cls, volume):
         """Delete volume, tries to detach first.
+
            Use just for teardown!
         """
         exc_num = 0