diff --git a/lower-constraints.txt b/lower-constraints.txt
index 861749b738..b98b8432a9 100644
--- a/lower-constraints.txt
+++ b/lower-constraints.txt
@@ -81,7 +81,6 @@ requestsexceptions==1.2.0
 rfc3986==0.3.1
 Routes==2.3.1
 simplejson==3.5.1
-six==1.15.0
 statsd==3.2.1
 stestr==1.0.0
 stevedore==2.0.1
diff --git a/openstackclient/tests/unit/common/test_progressbar.py b/openstackclient/tests/unit/common/test_progressbar.py
index 7bc0b6baf4..a624fc438a 100644
--- a/openstackclient/tests/unit/common/test_progressbar.py
+++ b/openstackclient/tests/unit/common/test_progressbar.py
@@ -11,10 +11,9 @@
 #   under the License.
 #
 
+import io
 import sys
 
-import six
-
 from openstackclient.common import progressbar
 from openstackclient.tests.unit import utils
 
@@ -23,7 +22,7 @@ class TestProgressBarWrapper(utils.TestCase):
 
     def test_iter_file_display_progress_bar(self):
         size = 98304
-        file_obj = six.StringIO('X' * size)
+        file_obj = io.StringIO('X' * size)
         saved_stdout = sys.stdout
         try:
             sys.stdout = output = FakeTTYStdout()
@@ -41,7 +40,7 @@ class TestProgressBarWrapper(utils.TestCase):
 
     def test_iter_file_no_tty(self):
         size = 98304
-        file_obj = six.StringIO('X' * size)
+        file_obj = io.StringIO('X' * size)
         saved_stdout = sys.stdout
         try:
             sys.stdout = output = FakeNoTTYStdout()
@@ -56,7 +55,7 @@ class TestProgressBarWrapper(utils.TestCase):
             sys.stdout = saved_stdout
 
 
-class FakeTTYStdout(six.StringIO):
+class FakeTTYStdout(io.StringIO):
     """A Fake stdout that try to emulate a TTY device as much as possible."""
 
     def isatty(self):
@@ -67,7 +66,7 @@ class FakeTTYStdout(six.StringIO):
         if data.startswith('\r'):
             self.seek(0)
             data = data[1:]
-        return six.StringIO.write(self, data)
+        return io.StringIO.write(self, data)
 
 
 class FakeNoTTYStdout(FakeTTYStdout):