aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar steering72532026-05-02 01:26:21 +0000
committerGravatar steering72532026-05-02 01:26:21 +0000
commite4f879fed65a7c1eea15fa54932b554f880054dc (patch)
treea1d13be793ef93c3c2cc1e1829417059e2dcf11f
parentadd logging (diff)
more verbosity around pending deletions
-rwxr-xr-xautopeer_shell.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/autopeer_shell.py b/autopeer_shell.py
index 649b24c..de126e4 100755
--- a/autopeer_shell.py
+++ b/autopeer_shell.py
@@ -87,10 +87,13 @@ class AutopeerShell(cmd.Cmd):
def do_ls(self):
'''(no args)
List your peers'''
- curs = DB.execute('SELECT name, endpoint, port FROM peers WHERE asn=:asn', dict(asn=SELECTED_ASN))
+ curs = DB.execute('SELECT name, endpoint, port, deleted FROM peers WHERE asn=:asn', dict(asn=SELECTED_ASN))
print(f'Active peerings for {SELECTED_ASN}:')
while row := curs.fetchone():
- print(f'- {row[0]} ({row[1]} {row[2]})')
+ if int(row[3]):
+ print(f'- {row[0]} (pending deletion)')
+ else:
+ print(f'- {row[0]} ({row[1]} {row[2]})')
print()
def help_addpeer(self):
@@ -133,6 +136,13 @@ My Tunnel IPv6LL: {me.ipll}
print(f'Error: ipv6 link local must match {IPLL_REGEX}', file=sys.stderr)
return
+ if row := DB.execute('SELECT deleted FROM peers WHERE asn=:asn AND name=:name', dict(asn=SELECTED_ASN, name=name)).fetchone():
+ if int(row[0]):
+ print(f'Error: {name} already exists and is still pending deletion. Try again in 5 minutes.', file=sys.stderr)
+ else:
+ print(f'Error: {name} already exists', file=sys.stderr)
+ return
+
sp = subprocess.run(['socat', 'stdio', NOTIFY_TO], input=f"[autopeer {socket.gethostname()}] Created new peering {name!r} for AS{SELECTED_ASN} by {USER}", text=True)
try: