perfsonar / pscheduler

The perfSONAR Scheduler
Apache License 2.0
55 stars 33 forks source link

Scopes not stripped from IPv6 addresses #1413

Closed mfeit-internet2 closed 6 months ago

mfeit-internet2 commented 6 months ago

Seen on a Rocky 9.3 system:

Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR    Exception: netaddr.core.AddrFormatError: failed to detect a valid IP address from 'fe80::d885:13dc:321b:179%eth0'
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR    Traceback (most recent call last):
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/usr/lib/python3.9/site-packages/flask/app.py", line 1516, in full_dispatch_request
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        rv = self.dispatch_request()
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/usr/lib/python3.9/site-packages/flask/app.py", line 1502, in dispatch_request
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/var/www/pscheduler-server/pschedulerapiserver/runs.py", line 163, in tasks_uuid_runs
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        if not access_write_task(requester, key):
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/var/www/pscheduler-server/pschedulerapiserver/access.py", line 21, in access_write_task
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        if requester in local_ips:
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/usr/lib/python3.9/site-packages/pscheduler/interface.py", line 170, in __contains__
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        item_ip = netaddr.IPAddress(item)
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR      File "/usr/lib/python3.9/site-packages/netaddr/ip/__init__.py", line 305, in __init__
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR        raise AddrFormatError('failed to detect a valid IP ' \
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR    netaddr.core.AddrFormatError: failed to detect a valid IP address from 'fe80::d885:13dc:321b:179%eth0'
Mar 12 14:39:10 a6 /usr/sbin/httpd[69486]: pscheduler-api[69486] ERROR    Internal error fe80::d885:13dc:321b:179%eth0 POST https://a6.ps.dev.internet2.edu/pscheduler/tasks/3ec7e758-f30a-41df-a588-f80c3abafba9/runs: Internal problem; see system logs.
Mar 12 14:39:10 a6 scheduler[74297]: scheduler INFO     1: Posting non-starting run at 2024-03-12T14:39:08Z for task 3ec7e758-f30a-41df-a588-f80c3abafba9: Failed to post lead run: Internal problem; see system logs.

Need to fix interface.py to strip out %xxx from the end of IP addresses.