Merge pull request #11614 from jbradberry/register_peers_warn_2cycles

Only do a warning on 2-cycles for the register_peers command
This commit is contained in:
Jeff Bradberry 2022-01-27 10:25:19 -05:00 committed by GitHub
commit 627bde9e9e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,3 +1,5 @@
import warnings
from django.core.management.base import BaseCommand, CommandError
from django.db import transaction
@ -45,7 +47,7 @@ class Command(BaseCommand):
peers = set(options['peers'] or options['exact'])
incoming = set(InstanceLink.objects.filter(target=nodes[options['source']]).values_list('source__hostname', flat=True))
if peers & incoming:
raise CommandError(f"Source node {options['source']} cannot link to nodes already peering to it: {peers & incoming}.")
warnings.warn(f"Source node {options['source']} should not link to nodes already peering to it: {peers & incoming}.")
if options['peers']:
missing_peers = set(options['peers']) - set(nodes)