diff --git a/manila_tempest_tests/tests/rbac/test_rules.py b/manila_tempest_tests/tests/rbac/test_rules.py
index 4c86787..2c6a019 100644
--- a/manila_tempest_tests/tests/rbac/test_rules.py
+++ b/manila_tempest_tests/tests/rbac/test_rules.py
@@ -48,7 +48,7 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacRulesTests, cls).resource_setup()
-        cls.metadata = {u'key': u'value'}
+        cls.metadata = {'key': 'value'}
 
     def access(self, share_id, access_type, access_to, access_level='rw'):
         access = {}
diff --git a/manila_tempest_tests/tests/rbac/test_share_group_types.py b/manila_tempest_tests/tests/rbac/test_share_group_types.py
index ac2f54b..6886cc1 100644
--- a/manila_tempest_tests/tests/rbac/test_share_group_types.py
+++ b/manila_tempest_tests/tests/rbac/test_share_group_types.py
@@ -51,8 +51,8 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacShareGroupTypesTests, cls).resource_setup()
-        cls.group_specs1 = {u'key1': u'value1'}
-        cls.group_specs2 = {u'key2': u'value2'}
+        cls.group_specs1 = {'key1': 'value1'}
+        cls.group_specs2 = {'key2': 'value2'}
         cls.share_type = cls.create_share_type()
         cls.share_group_type = cls.create_share_group_type(
             cls.share_type['id'], group_specs=cls.group_specs1)
diff --git a/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py b/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
index 0fae6f0..725fefd 100644
--- a/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
+++ b/manila_tempest_tests/tests/rbac/test_share_type_extra_specs.py
@@ -40,7 +40,7 @@
     @classmethod
     def resource_setup(cls):
         super(ShareRbacExtraSpecsTests, cls).resource_setup()
-        cls.extra_specs = {u'key': u'value'}
+        cls.extra_specs = {'key': 'value'}
         cls.share_type = cls.create_share_type()
 
     @abc.abstractmethod
diff --git a/manila_tempest_tests/tests/rbac/test_snapshots.py b/manila_tempest_tests/tests/rbac/test_snapshots.py
index 1978415..f5114bf 100644
--- a/manila_tempest_tests/tests/rbac/test_snapshots.py
+++ b/manila_tempest_tests/tests/rbac/test_snapshots.py
@@ -221,7 +221,7 @@
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=200,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -236,7 +236,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_get_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'],
             metadata=metadata)
@@ -255,7 +255,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'], metadata=metadata)
         self.do_request(
@@ -392,7 +392,7 @@
     @utils.skip_if_microversion_not_supported("2.73")
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(self.client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=200,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -407,7 +407,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_get_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         share_client = getattr(self, 'share_member_client', self.client)
         snap = self.create_snapshot(
             share_client, self.share['id'], metadata=metadata)
@@ -426,7 +426,7 @@
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.client, self.share['id'], metadata=metadata)
         self.do_request(
@@ -531,7 +531,7 @@
     def test_set_snapshot_metadata(self):
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'])
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         self.do_request(
             'set_metadata', expected_status=lib_exc.Forbidden,
             resource_id=snap['id'], resource='snapshot', metadata=metadata)
@@ -552,7 +552,7 @@
     @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
     @utils.skip_if_microversion_not_supported("2.73")
     def test_delete_snapshot_metadata(self):
-        metadata = {u'key': u'value'}
+        metadata = {'key': 'value'}
         snap = self.create_snapshot(
             self.share_member_client, self.share['id'], metadata=metadata)
         self.do_request(
