diff --git a/openstackclient/common/utils.py b/openstackclient/common/utils.py
index 91a20895b2..94ea22253a 100644
--- a/openstackclient/common/utils.py
+++ b/openstackclient/common/utils.py
@@ -15,6 +15,7 @@
 
 """Common client utilities"""
 
+import logging
 import os
 import six
 import sys
@@ -215,3 +216,16 @@ def wait_for_status(status_f,
             callback(progress)
         time.sleep(sleep_time)
     return retval
+
+
+def get_effective_log_level():
+    """Returns the lowest logging level considered by logging handlers
+
+    Retrieve an return the smallest log level set among the root
+    logger's handlers (in case of multiple handlers).
+    """
+    root_log = logging.getLogger()
+    min_log_lvl = logging.CRITICAL
+    for handler in root_log.handlers:
+        min_log_lvl = min(min_log_lvl, handler.level)
+    return min_log_lvl
diff --git a/openstackclient/compute/client.py b/openstackclient/compute/client.py
index 4ccb2f6d40..765a48db99 100644
--- a/openstackclient/compute/client.py
+++ b/openstackclient/compute/client.py
@@ -35,6 +35,10 @@ def make_client(instance):
         instance._api_version[API_NAME],
         API_VERSIONS)
     LOG.debug('instantiating compute client: %s' % compute_client)
+
+    # Set client http_log_debug to True if verbosity level is high enough
+    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG
+
     client = compute_client(
         username=instance._username,
         api_key=instance._password,
@@ -49,7 +53,8 @@ def make_client(instance):
         extensions=[],
         service_type=API_NAME,
         # FIXME(dhellmann): what is service_name?
-        service_name='')
+        service_name='',
+        http_log_debug=http_log_debug)
 
     # Populate the Nova client to skip another auth query to Identity
     if instance._url:
diff --git a/openstackclient/volume/client.py b/openstackclient/volume/client.py
index e04e8cd7b8..a53203f1a8 100644
--- a/openstackclient/volume/client.py
+++ b/openstackclient/volume/client.py
@@ -37,6 +37,10 @@ def make_client(instance):
     )
 
     LOG.debug('instantiating volume client')
+
+    # Set client http_log_debug to True if verbosity level is high enough
+    http_log_debug = utils.get_effective_log_level() <= logging.DEBUG
+
     client = volume_client(
         username=instance._username,
         api_key=instance._password,
@@ -44,6 +48,7 @@ def make_client(instance):
         auth_url=instance._auth_url,
         cacert=instance._cacert,
         insecure=instance._insecure,
+        http_log_debug=http_log_debug
     )
 
     return client