import logging
 
 from keystoneclient.exceptions import NotFound
-from snaps.openstack.utils import keystone_utils
+from snaps.openstack.utils import keystone_utils, neutron_utils
 
 __author__ = 'spisarski'
 
         :return: void
         """
         if self.__project:
+            # Delete security group 'default' if exists
+            neutron = neutron_utils.neutron_client(self.__os_creds)
+            default_sec_grp = neutron_utils.get_security_group(
+                neutron, 'default',
+                tenant_id=self.__project.id)
+            if default_sec_grp:
+                try:
+                    neutron_utils.delete_security_group(
+                        neutron, default_sec_grp)
+                except:
+                    pass
+
+            # Delete Project
             try:
                 keystone_utils.delete_project(self.__keystone, self.__project)
             except NotFound:
 
     neutron.delete_security_group(sec_grp.id)
 
 
-def get_security_group(neutron, name):
+def get_security_group(neutron, name, tenant_id=None):
     """
     Returns the first security group object of the given name else None
     :param neutron: the client
     """
     logger.info('Retrieving security group with name - ' + name)
 
-    groups = neutron.list_security_groups(**{'name': name})
+    filter = {'name': name}
+    if tenant_id:
+        filter['tenant_id'] = tenant_id
+    groups = neutron.list_security_groups(**filter)
     for group in groups['security_groups']:
         if group['name'] == name:
             return SecurityGroup(**group)
 
 from snaps.openstack.create_project import ProjectSettings
 from snaps.openstack.create_user import UserSettings
 from snaps.openstack.tests.os_source_file_test import OSComponentTestCase
-from snaps.openstack.utils import keystone_utils
+from snaps.openstack.utils import keystone_utils, neutron_utils
 
 __author__ = 'spisarski'
 
         Cleans the remote OpenStack objects
         """
         if self.project:
-                keystone_utils.delete_project(self.keystone, self.project)
+            neutron = neutron_utils.neutron_client(self.os_creds)
+            default_sec_grp = neutron_utils.get_security_group(
+                neutron, 'default',
+                tenant_id=self.project.id)
+            if default_sec_grp:
+                try:
+                    neutron_utils.delete_security_group(
+                        neutron, default_sec_grp)
+                except:
+                    pass
+
+            keystone_utils.delete_project(self.keystone, self.project)
 
         if self.user:
             keystone_utils.delete_user(self.keystone, self.user)