berkeley-dsep-infra / hubploy

Toolkit to deploy many z2jh based JupyterHubs
BSD 3-Clause "New" or "Revised" License
17 stars 15 forks source link

CI and hubploy specific authentication error #3

Open ryanlovett opened 6 years ago

ryanlovett commented 6 years ago

In a CI task, hubploy-image-builder was errorring with:

docker.errors.APIError: 500 Server Error: Internal Server Error ("Head https://data100.azurecr.io/v2/berkeleydsep/singleuser-data100/manifests/135ac9c: unauthorized: authentication required")

I tested the --registry-{url,username,password} values manually with docker login in the same CI workflow and it succeeded.

I also tested hubploy locally and it succeeded.

ryanlovett commented 6 years ago

Full traceback:

Traceback (most recent call last):
  File "/root/repo/venv/lib/python3.6/site-packages/docker/api/client.py", line 229, in _raise_for_status
    response.raise_for_status()
  File "/root/repo/venv/lib/python3.6/site-packages/requests/models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://35.190.166.254:2376/v1.35/distribution/data100.azurecr.io/berkeleydsep/singleuser-data100:135ac9c/json

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/repo/venv/bin/hubploy-image-builder", line 11, in <module>
    load_entry_point('hubploy==0.1.0', 'console_scripts', 'hubploy-image-builder')()
  File "/root/repo/venv/lib/python3.6/site-packages/hubploy/imagebuilder.py", line 115, in main
    if needs_building(client, args.path, args.image_name):
  File "/root/repo/venv/lib/python3.6/site-packages/hubploy/imagebuilder.py", line 22, in needs_building
    image_manifest = client.images.get_registry_data(image_spec)
  File "/root/repo/venv/lib/python3.6/site-packages/docker/models/images.py", line 312, in get_registry_data
    attrs=self.client.api.inspect_distribution(name),
  File "/root/repo/venv/lib/python3.6/site-packages/docker/utils/decorators.py", line 34, in wrapper
    return f(self, *args, **kwargs)
  File "/root/repo/venv/lib/python3.6/site-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/root/repo/venv/lib/python3.6/site-packages/docker/api/image.py", line 266, in inspect_distribution
    self._get(self._url("/distribution/{0}/json", image)), True
  File "/root/repo/venv/lib/python3.6/site-packages/docker/api/client.py", line 235, in _result
    self._raise_for_status(response)
  File "/root/repo/venv/lib/python3.6/site-packages/docker/api/client.py", line 231, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/root/repo/venv/lib/python3.6/site-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("Head https://data100.azurecr.io/v2/berkeleydsep/singleuser-data100/manifests/135ac9c: unauthorized: authentication required")
Exited with code 1