diff --git a/manila_tempest_tests/plugin.py b/manila_tempest_tests/plugin.py
index 4880940..02c3c98 100644
--- a/manila_tempest_tests/plugin.py
+++ b/manila_tempest_tests/plugin.py
@@ -47,4 +47,5 @@
             )
 
     def get_opt_lists(self):
-        return [(config_share.share_group.name, config_share.ShareGroup)]
+        return [(config_share.share_group.name, config_share.ShareGroup),
+                ('service_available', config_share.ServiceAvailableGroup)]
diff --git a/manila_tempest_tests/tests/api/admin/test_consistency_groups_negative.py b/manila_tempest_tests/tests/api/admin/test_consistency_groups_negative.py
index 18cf5db..dfccb6a 100644
--- a/manila_tempest_tests/tests/api/admin/test_consistency_groups_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_consistency_groups_negative.py
@@ -51,7 +51,6 @@
             size=cls.share_size,
             consistency_group_id=cls.consistency_group['id'],
             share_type_id=cls.share_type['id'],
-            client=cls.shares_v2_client,
         )
 
         # Create a cgsnapshot of the consistency group
@@ -76,7 +75,6 @@
                           self.create_share,
                           size=1,
                           consistency_group_id=self.consistency_group['id'],
-                          client=self.shares_v2_client,
                           version='2.4')
 
     @test.attr(type=["negative", "gate", ])
@@ -98,7 +96,6 @@
                           size=self.share_size,
                           consistency_group_id=consistency_group['id'],
                           cleanup_in_class=False,
-                          client=self.shares_v2_client,
                           version='2.4')
         # deleting
         self.shares_v2_client.consistency_group_reset_state(
@@ -111,7 +108,6 @@
                           size=self.share_size,
                           consistency_group_id=consistency_group['id'],
                           cleanup_in_class=False,
-                          client=self.shares_v2_client,
                           version='2.4')
         # error
         self.shares_v2_client.consistency_group_reset_state(
@@ -124,7 +120,6 @@
                           size=self.share_size,
                           consistency_group_id=consistency_group['id'],
                           cleanup_in_class=False,
-                          client=self.shares_v2_client,
                           version='2.4')
 
     @test.attr(type=["negative", "gate", ])
@@ -178,7 +173,6 @@
             size=share_size,
             consistency_group_id=consistency_group['id'],
             cleanup_in_class=False,
-            client=self.shares_v2_client,
             version='2.4',
         )
         self.shares_client.reset_state(s_id=share['id'])
diff --git a/manila_tempest_tests/tests/api/test_consistency_groups.py b/manila_tempest_tests/tests/api/test_consistency_groups.py
index bebd88f..1f44946 100644
--- a/manila_tempest_tests/tests/api/test_consistency_groups.py
+++ b/manila_tempest_tests/tests/api/test_consistency_groups.py
@@ -46,7 +46,6 @@
         # Populate
         share = self.create_share(consistency_group_id=consistency_group['id'],
                                   cleanup_in_class=False,
-                                  client=self.shares_v2_client,
                                   version='2.4')
         # Delete
         params = {"consistency_group_id": consistency_group['id']}
diff --git a/manila_tempest_tests/tests/api/test_consistency_groups_negative.py b/manila_tempest_tests/tests/api/test_consistency_groups_negative.py
index 9e9c696..74d583c 100644
--- a/manila_tempest_tests/tests/api/test_consistency_groups_negative.py
+++ b/manila_tempest_tests/tests/api/test_consistency_groups_negative.py
@@ -47,7 +47,6 @@
             description=cls.share_desc,
             size=cls.share_size,
             consistency_group_id=cls.consistency_group['id'],
-            client=cls.shares_v2_client
         )
         # Create a cgsnapshot of the consistency group
         cls.cgsnap_name = data_utils.rand_name("tempest-cgsnap-name")
diff --git a/manila_tempest_tests/tests/api/test_shares_actions_negative.py b/manila_tempest_tests/tests/api/test_shares_actions_negative.py
index 5b50a72..891c491 100644
--- a/manila_tempest_tests/tests/api/test_shares_actions_negative.py
+++ b/manila_tempest_tests/tests/api/test_shares_actions_negative.py
@@ -36,6 +36,9 @@
     @testtools.skipUnless(
         CONF.share.run_extend_tests,
         "Share extend tests are disabled.")
+    @testtools.skipUnless(
+        CONF.share.run_quota_tests,
+        "Quota tests are disabled.")
     def test_share_extend_over_quota(self):
         tenant_quotas = self.shares_client.show_quotas(
             self.shares_client.tenant_id)
