def _create_empty_security_group(self, tenant_id, client=None, namestart='secgroup-smoke-'): """Create a security group without rules. Default rules will be created: - IPv4 egress to any - IPv6 egress to any :param tenant_id: secgroup will be created in this tenant :returns: DeletableSecurityGroup -- containing the secgroup created """ if client is None: client = self.network_client sg_name = data_utils.rand_name(namestart) sg_desc = sg_name + " description" sg_dict = dict(name=sg_name, description=sg_desc) sg_dict['tenant_id'] = tenant_id body = dict(security_group=sg_dict) result = client.create_security_group(body=body) secgroup = net_common.DeletableSecurityGroup( client=client, **result['security_group']) self.assertEqual(secgroup.name, sg_name) self.assertEqual(tenant_id, secgroup.tenant_id) self.assertEqual(secgroup.description, sg_desc) self.set_resource(sg_name, secgroup) return secgroup
def _default_security_group(self, tenant_id, client=None): """Get default secgroup for given tenant_id. :returns: DeletableSecurityGroup -- default secgroup for given tenant """ if client is None: client = self.network_client sgs = [ sg for sg in client.list_security_groups().values()[0] if sg['tenant_id'] == tenant_id and sg['name'] == 'default' ] msg = "No default security group for tenant %s." % (tenant_id) self.assertTrue(len(sgs) > 0, msg) if len(sgs) > 1: msg = "Found %d default security groups" % len(sgs) raise exc.NeutronClientNoUniqueMatch(msg=msg) return net_common.DeletableSecurityGroup(client=client, **sgs[0])