diff --git a/doc/source/conf.py b/doc/source/conf.py
index 4b4189d..2349713 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -36,7 +36,7 @@
 master_doc = 'index'
 
 # General information about the project.
-copyright = u'2017, OpenStack Developers'
+copyright = '2017, OpenStack Developers'
 
 # openstackdocstheme options
 openstackdocs_repo_name = 'openstack/neutron-tempest-plugin'
@@ -71,8 +71,8 @@
 latex_documents = [
     ('index',
      'openstack.tex',
-     u'openstack Documentation',
-     u'OpenStack Developers', 'manual'),
+     'openstack Documentation',
+     'OpenStack Developers', 'manual'),
 ]
 
 # Example configuration for intersphinx: refer to the Python standard library.
diff --git a/neutron_tempest_plugin/scenario/base.py b/neutron_tempest_plugin/scenario/base.py
index cf68224..b9bf36f 100644
--- a/neutron_tempest_plugin/scenario/base.py
+++ b/neutron_tempest_plugin/scenario/base.py
@@ -12,7 +12,7 @@
 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 #    License for the specific language governing permissions and limitations
 #    under the License.
-import distutils
+
 import re
 import subprocess
 
@@ -21,6 +21,7 @@
 from neutron_lib.api import validators
 from neutron_lib import constants as neutron_lib_constants
 from oslo_log import log
+from packaging import version as packaging_version
 from paramiko import ssh_exception as ssh_exc
 from tempest.common.utils import net_utils
 from tempest.common import waiters
@@ -55,7 +56,7 @@
         m = re.match(r"Ncat: Version ([\d.]+) *.", version_result)
     # NOTE(slaweq): by default lets assume we have ncat 7.60 which is in Ubuntu
     # 18.04 which is used on u/s gates
-    return distutils.version.StrictVersion(m.group(1) if m else '7.60')
+    return packaging_version.Version(m.group(1) if m else '7.60')
 
 
 def get_ncat_server_cmd(port, protocol, msg=None):
@@ -79,7 +80,7 @@
         udp = '-u'
     cmd = 'echo "knock knock" | nc '
     ncat_version = get_ncat_version()
-    if ncat_version > distutils.version.StrictVersion('7.60'):
+    if ncat_version > packaging_version.Version('7.60'):
         cmd += '-z '
     cmd += '-w 1 %(udp)s %(host)s %(port)s' % {
         'udp': udp, 'host': ip_address, 'port': port}
diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py
index 24a38a4..5bf1fe1 100644
--- a/releasenotes/source/conf.py
+++ b/releasenotes/source/conf.py
@@ -52,7 +52,7 @@
 master_doc = 'index'
 
 # General information about the project.
-copyright = u'2017, Neutron Tempest Plugin Developers'
+copyright = '2017, Neutron Tempest Plugin Developers'
 
 # openstackdocstheme options
 openstackdocs_repo_name = 'openstack/neutron-tempest-plugin'
@@ -190,8 +190,8 @@
 #  author, documentclass [howto, manual, or own class]).
 latex_documents = [
     ('index', 'NeutronTempestPluginReleaseNotes.tex',
-     u'Neutron Tempest Plugin Release Notes Documentation',
-     u'Neutron Tempest Plugin Developers', 'manual'),
+     'Neutron Tempest Plugin Release Notes Documentation',
+     'Neutron Tempest Plugin Developers', 'manual'),
 ]
 
 # The name of an image file (relative to this directory) to place at the top of
@@ -221,8 +221,8 @@
 # (source start file, name, description, authors, manual section).
 man_pages = [
     ('index', 'NeutronTempestPluginrereleasenotes',
-     u'Neutron Tempest Plugin Release Notes Documentation',
-     [u'Neutron Tempest Plugin Developers'], 1)
+     'Neutron Tempest Plugin Release Notes Documentation',
+     ['Neutron Tempest Plugin Developers'], 1)
 ]
 
 # If true, show URL addresses after external links.
@@ -236,8 +236,8 @@
 #  dir menu entry, description, category)
 texinfo_documents = [
     ('index', 'Neutron Tempest Plugin ReleaseNotes',
-     u'Neutron Tempest Plugin Release Notes Documentation',
-     u'Neutron Tempest Plugin Developers',
+     'Neutron Tempest Plugin Release Notes Documentation',
+     'Neutron Tempest Plugin Developers',
      'NeutronTempestPluginReleaseNotes',
      'One line description of project.',
      'Miscellaneous'),
diff --git a/requirements.txt b/requirements.txt
index 21f14cc..f25caec 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,6 +10,7 @@
 oslo.log>=3.36.0 # Apache-2.0
 oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
+packaging>=20.4  # Apache-2.0
 paramiko>=2.0.0 # LGPLv2.1+
 tempest>=29.2.0 # Apache-2.0
 tenacity>=3.2.1 # Apache-2.0
