diff --git a/manila_tempest_tests/tests/api/admin/test_quotas.py b/manila_tempest_tests/tests/api/admin/test_quotas.py
index 215b25d..5dbab2a 100644
--- a/manila_tempest_tests/tests/api/admin/test_quotas.py
+++ b/manila_tempest_tests/tests/api/admin/test_quotas.py
@@ -118,7 +118,7 @@
             self.tenant_id, self.user_id,
             version=PRE_SHARE_REPLICA_QUOTAS_MICROVERSION)
 
-        for key in('share_replicas', 'replica_gigabytes'):
+        for key in ('share_replicas', 'replica_gigabytes'):
             self.assertNotIn(key, quotas)
 
     @ddt.data(
diff --git a/manila_tempest_tests/tests/api/test_shares_actions.py b/manila_tempest_tests/tests/api/test_shares_actions.py
index 7cedb6c..2212fb9 100644
--- a/manila_tempest_tests/tests/api/test_shares_actions.py
+++ b/manila_tempest_tests/tests/api/test_shares_actions.py
@@ -545,10 +545,10 @@
     @testtools.skipUnless(CONF.share.run_snapshot_tests,
                           "Snapshot tests are disabled.")
     def test_list_snapshots_with_detail_use_limit(self):
-        for l, o in [('1', '1'), ('0', '1')]:
+        for limit, offset in [('1', '1'), ('0', '1')]:
             filters = {
-                'limit': l,
-                'offset': o,
+                'limit': limit,
+                'offset': offset,
                 'share_id': self.shares[0]['id'],
             }
 
diff --git a/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py b/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
index ce7f46d..2ec167f 100644
--- a/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
+++ b/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
@@ -135,8 +135,8 @@
 
     @tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
     def test_share_from_snapshot_across_azs(self):
-        azs = next(self.rep_domain_azs[rep] for rep in self.rep_domain_azs if
-                   len(self.rep_domain_azs[rep]) > 1)
+        azs = next((self.rep_domain_azs[rep] for rep in self.rep_domain_azs if
+                    len(self.rep_domain_azs[rep]) > 1), None)
         if azs is None:
             msg = ("Could not find the necessary azs. At least two azs "
                    "are needed to run the test to create share from snapshot "
