ReproNim / containers

Containers "distribution" for reproducible neuroimaging
Apache License 2.0
26 stars 14 forks source link

Also retry on requests.exceptions.HTTPError #110

Closed yarikoptic closed 7 months ago

yarikoptic commented 7 months ago

Got fresh failure

[INFO    ] bids <- docker bids/afni_proc
Traceback (most recent call last):
  File "/home/yoh/proj/repronim/containers/scripts/create_singularities", line 499, in <module>
    main()
  File "/usr/lib/python3/dist-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yoh/proj/repronim/containers/scripts/create_singularities", line 414, in main
    builder.generate_singularity_for_docker_image(dockerhubid, "bids")
  File "/home/yoh/proj/repronim/containers/scripts/create_singularities", line 303, in generate_singularity_for_docker_image
    last_version = self.get_last_docker_version_tag(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yoh/proj/repronim/containers/scripts/create_singularities", line 83, in get_last_docker_version_tag
    r.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 502 Server Error: Bad Gateway for url: https://registry.hub.docker.com/v2/repositories/bids/afni_proc/tags

and apparently they aren't of the same "hierarchy"

In [5]: issubclass(requests.exceptions.HTTPError, requests.ConnectionError)
Out[5]: False

In [6]: issubclass(requests.ConnectionError, requests.exceptions.HTTPError)
Out[6]: False

In [8]: requests.ConnectionError is requests.exceptions.HTTPError
Out[8]: False