Skip to content

handle gracefully registry errors #5

Description

@glensc

gitlab, registry, deleting from gitlab ui, or any combination of these tends to create some state in registry that not all data is consistent.

here's another one. please make to fail gracefully on these:

Traceback (most recent call last):
  File "/home/vagrant/scm/docker/gitlab-registry-tools/registry-usage/registry_analyze.py", line 56, in <module>
    gitlab_registry = getRegistry(cache_file='{hostname}.json'.format(hostname=urlparse(c['registry_base_url']).netloc), config=c)
  File "/home/vagrant/scm/docker/gitlab-registry-tools/registry-usage/registry_analyze.py", line 44, in getRegistry
    data['repository_tags'] = gitlab_registry.repository_tags
  File "/home/vagrant/.local/share/virtualenvs/registry-usage--61pTqM7/lib/python3.7/site-packages/gitlab_registry_usage/registry/high_level_api.py", line 109, in repository_tags
    for repository, tag_layers in self.repository_layers.items()
  File "/home/vagrant/.local/share/virtualenvs/registry-usage--61pTqM7/lib/python3.7/site-packages/gitlab_registry_usage/registry/high_level_api.py", line 116, in repository_layers
    self._repository_layers, self._layer_sizes = self._get_repository_layers_and_layer_sizes()
  File "/home/vagrant/.local/share/virtualenvs/registry-usage--61pTqM7/lib/python3.7/site-packages/gitlab_registry_usage/registry/high_level_api.py", line 45, in _get_repository_layers_and_layer_sizes
    tag_layers = get_tag_layers(self._registry_url, repository_auth_token, repository, tag)
  File "/home/vagrant/.local/share/virtualenvs/registry-usage--61pTqM7/lib/python3.7/site-packages/gitlab_registry_usage/registry/low_level_api.py", line 99, in get_tag_layers
    raise LayersReadError
gitlab_registry_usage.registry.low_level_api.LayersReadError

I might be able to provide more information after retry. it runs ~45minutes to get to the error, so you might understand why handling these more gracefully may be important ;)

I think i've reported this at least once somewhere, but can't find right now which project :(

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions