#18 Update the Script with the new Fedora account System (FAS)
Opened by hhlp. Modified

Please update the Script with the new Fedora Account system Login, manage login via Kerberos

Login to FAS:
Username: hhlp
Password: 
Traceback (most recent call last):
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
                       ^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/http/client.py", line 1375, in getresponse
    response.begin()
  File "/usr/lib64/python3.11/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/socket.py", line 706, in readinto
    return self._sock.recv_into(b)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/ssl.py", line 1278, in recv_into
    return self.read(nbytes, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/ssl.py", line 1134, in read
    return self._sslobj.read(len, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TimeoutError: The read operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib64/python3.11/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
                       ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 451, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/usr/local/lib64/python3.11/site-packages/urllib3/connectionpool.py", line 340, in _raise_timeout
    raise ReadTimeoutError(
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='admin.fedoraproject.org', port=443): Read timed out. (read timeout=120.0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/fedora/client/proxyclient.py", line 380, in send_request
    response = requests.post(
               ^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/requests/api.py", line 115, in post
    return request("post", url, data=data, json=json, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib64/python3.11/site-packages/requests/adapters.py", line 578, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='admin.fedoraproject.org', port=443): Read timed out. (read timeout=120.0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/bin/fedora-business-cards", line 33, in <module>
    sys.exit(load_entry_point('fedora-business-cards==2.3', 'console_scripts', 'fedora-business-cards')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/fedora_business_cards/frontend/cmdline.py", line 106, in main
    gen.collect_information()
  File "/usr/lib/python3.11/site-packages/fedora_business_cards/generators/fedora.py", line 51, in collect_information
    userinfo = self.collect_fas_information()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/fedora_business_cards/generators/__init__.py", line 86, in collect_fas_information
    return fas.person_by_username(username)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/fedora/client/fas2.py", line 442, in person_by_username
    request = self.send_request(
              ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/fedora/client/baseclient.py", line 365, in send_request
    session_id, data = super(BaseClient, self).send_request(
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/fedora/client/proxyclient.py", line 439, in send_request
    raise ServerError(
fedora.client.ServerError: ServerError(https://admin.fedoraproject.org/accounts/json/person_by_username, -1, Request timed out after 120.0 seconds)
https://pagure.io/fedora-business-cards/blob/master/f/fedora_business_cards/generators/__init__.py

Regards.,


Any updates on this issue?

Surprisingly intricate for such an enjoyable and simple game are the on-field elements.
Retro Bowl

I recently faced similar issues while updating scripts to work with new authentication systems in a project. Transitioning to Kerberos for login management added complexity, especially with connection timeouts and handling slow server responses. Patience and incremental debugging helped resolve the timeout errors, and updating dependencies was crucial. Such experiences remind me how important it is to keep authentication workflows smooth and secure. After tackling these challenges, relaxing with some light entertainment like Sprunki is a great way to unwind.

It looks like you're encountering a ReadTimeoutError when trying to access FAS (Fedora Account System) via HTTPS. The traceback suggests that the server at admin.fedoraproject.org is taking too long to respond — over 120 seconds — before timing out. Try checking your connection or using a tool like curl to verify if the server is responsive. You might also consider decreasing the timeout or adding retries with backoff if it’s part of a script.
Geometry Dash Lite

You can play alone or play with two people when playing 8 ball billiards.

Kerberos logins can be deceptively tricky when backend services evolve. The article’s traceback screams legacy FAS endpoints and read timeouts colliding with the new Fedora Account System flow. I once refactored a Python tool that broke after an identity provider switch; urllib3 timeouts mimicked DNS issues until we updated endpoints and enabled GSSAPI. Sharing this felt like beating a tough Slope Game level.

The kinit command is used by the get_kerberos_ticket function to get a Kerberos ticket for the given username. Users are asked for their password when this script is run bitlife. The requests-kerberos package is used by the access_fedora_account function to make a call to the Fedora Account API using Kerberos authentication.

It looks like your script is timing out when connecting to the Fedora Account System. You might want to check that the FAS server is up and your network connection is stable, increase the timeout in your requests call, and update the script to use Kerberos authentication since the old username/password method may no longer work reliably. Adding a retry mechanism could also help handle intermittent timeouts.

Is the timeout caused because the old FAS server is no longer responding, Geometry Dash Lite or is the script still pointing at deprecated URLs that have been turned off by Fedora Infrastructure?

Once you provide the script, I’ll update it to work with the new Fedora Account System (FAS) properly. Sprunki

Oh, this is super helpful! I remember having some issues with the old FAS system, so a script update to accommodate the new one is much appreciated. It's always great to see improvements that make things smoother for everyone. Speaking of smooth, sometimes I just need a quick break, and a round of paper.io 2 always does the trick!

GOOD

Metadata