diff --git a/neutron_tempest_plugin/api/base.py b/neutron_tempest_plugin/api/base.py
index b659637..db84a7c 100644
--- a/neutron_tempest_plugin/api/base.py
+++ b/neutron_tempest_plugin/api/base.py
@@ -121,6 +121,11 @@
         super(BaseNetworkTest, cls).setup_clients()
         cls.client = cls.os_primary.network_client
 
+        # NOTE(vsaienko): when using static accounts we need
+        # to fill *_id information like project_id, user_id
+        # by authenticating in keystone
+        cls.client.auth_provider.get_token()
+
     @classmethod
     def resource_setup(cls):
         super(BaseNetworkTest, cls).resource_setup()
diff --git a/neutron_tempest_plugin/api/test_security_groups.py b/neutron_tempest_plugin/api/test_security_groups.py
index 5e8b18e..4f39cc6 100644
--- a/neutron_tempest_plugin/api/test_security_groups.py
+++ b/neutron_tempest_plugin/api/test_security_groups.py
@@ -256,6 +256,9 @@
     def _create_max_allowed_sg_amount(self):
         sg_amount = self._get_sg_amount()
         sg_quota = self._get_sg_quota()
+        if sg_quota == -1:
+            self._set_sg_quota(sg_amount + 1)
+            sg_quota = self._get_sg_quota()
         sg_to_create = sg_quota - sg_amount
         self._create_security_groups(sg_to_create)
 
diff --git a/neutron_tempest_plugin/scenario/admin/test_floatingip.py b/neutron_tempest_plugin/scenario/admin/test_floatingip.py
index d9abaf5..1774289 100644
--- a/neutron_tempest_plugin/scenario/admin/test_floatingip.py
+++ b/neutron_tempest_plugin/scenario/admin/test_floatingip.py
@@ -70,7 +70,7 @@
         servers, fips, server_ssh_clients = ([], [], [])
         # Create the availability zone with default zone and
         # a specific mentioned hypervisor.
-        az = avail_zone + ':' + hyper
+        az = avail_zone + '::' + hyper
         for i in range(num_servers):
             servers.append(self.create_server(
                 flavor_ref=CONF.compute.flavor_ref,
diff --git a/neutron_tempest_plugin/scenario/test_floatingip.py b/neutron_tempest_plugin/scenario/test_floatingip.py
index ee1b192..4c68dae 100644
--- a/neutron_tempest_plugin/scenario/test_floatingip.py
+++ b/neutron_tempest_plugin/scenario/test_floatingip.py
@@ -476,7 +476,9 @@
         def _wait_for_fip_associated():
             try:
                 self.check_servers_hostnames(servers[-1:], log_errors=False)
-            except (AssertionError, exceptions.SSHTimeout):
+            # NOTE(vsaienko): it might take some time by neutron to update VIP
+            # retry on any exception here.
+            except Exception:
                 return False
             return True
 
