diff --git a/tempest/scenario/manager.py b/tempest/scenario/manager.py
index d3c2a18..21c37b9 100644
--- a/tempest/scenario/manager.py
+++ b/tempest/scenario/manager.py
@@ -16,6 +16,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import logging
 import os
 import subprocess
 
@@ -37,11 +38,18 @@
 from tempest.common.utils.linux.remote_client import RemoteClient
 from tempest import exceptions
 import tempest.manager
-from tempest.openstack.common import log as logging
+from tempest.openstack.common import log
 import tempest.test
 
 
-LOG = logging.getLogger(__name__)
+LOG = log.getLogger(__name__)
+
+# NOTE(afazekas): Workaround for the stdout logging
+LOG_nova_client = logging.getLogger('novaclient.client')
+LOG_nova_client.addHandler(log.NullHandler())
+
+LOG_cinder_client = logging.getLogger('cinderclient.client')
+LOG_cinder_client.addHandler(log.NullHandler())
 
 
 class OfficialClientManager(tempest.manager.Manager):
@@ -89,7 +97,8 @@
                                         *client_args,
                                         service_type=service_type,
                                         no_cache=True,
-                                        insecure=dscv)
+                                        insecure=dscv,
+                                        http_log_debug=True)
 
     def _get_image_client(self):
         token = self.identity_client.auth_token
@@ -105,7 +114,8 @@
                                           username,
                                           password,
                                           tenant_name,
-                                          auth_url)
+                                          auth_url,
+                                          http_log_debug=True)
 
     def _get_orchestration_client(self, username=None, password=None,
                                   tenant_name=None):
