def _check_security_group(self, context, security_group, container):
if security_group.get("uuid"):
security_group_id = security_group.get("uuid")
if not uuidutils.is_uuid_like(security_group_id):
raise exception.InvalidUUID(uuid=security_group_id)
if security_group_id in container.security_groups:
msg = _("security_group %s already present in container") % \
security_group_id
raise exception.InvalidValue(msg)
else:
security_group_ids = utils.get_security_group_ids(
context, [security_group['name']])
if len(security_group_ids) > len(security_group):
msg = _("Multiple security group matches "
"found for name %(name)s, use an ID "
"to be more specific. ") % security_group
raise exception.Conflict(msg)
else:
security_group_id = security_group_ids[0]
container_ports_detail = utils.list_ports(context, container)
for container_port_detail in container_ports_detail:
if security_group_id in container_port_detail['security_groups']:
msg = _("security_group %s already present in container") % \
list(security_group.values())[0]
raise exception.InvalidValue(msg)
return security_group_id
评论列表
文章目录