Add log about ratelimit (#2271)

* Add log about ratelimit

* Update wording

* create issue
This commit is contained in:
Joakim Sørensen 2020-11-20 10:50:26 +01:00 committed by GitHub
parent a59ea72c66
commit 46dc6dc63b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View File

@ -19,6 +19,7 @@ from ..const import (
)
from ..coresys import CoreSys, CoreSysAttributes
from ..exceptions import DockerAPIError, DockerError, DockerNotFound, DockerRequestError
from ..resolution.const import ContextType, IssueType, SuggestionType
from ..utils import process_lock
from .stats import DockerStats
@ -162,6 +163,16 @@ class DockerInterface(CoreSysAttributes):
"Available space in /data is: %s GiB",
free_space,
)
elif err.status_code == 429:
self.sys_resolution.create_issue(
IssueType.DOCKER_RATELIMIT,
ContextType.SYSTEM,
suggestions=[SuggestionType.REGISTRY_LOGIN],
)
_LOGGER.info(
"Your IP address has made too many requests to Docker Hub which activated a rate limit. "
"For more details see https://www.home-assistant.io/more-info/dockerhub-rate-limit"
)
raise DockerError() from err
except (docker.errors.DockerException, requests.RequestException) as err:
_LOGGER.error("Unknown error with %s:%s -> %s", image, tag, err)

View File

@ -46,6 +46,7 @@ class IssueType(str, Enum):
"""Issue type."""
FREE_SPACE = "free_space"
DOCKER_RATELIMIT = "docker_ratelimit"
CORRUPT_DOCKER = "corrupt_docker"
CORRUPT_REPOSITORY = "corrupt_repository"
MISSING_IMAGE = "missing_image"
@ -64,4 +65,5 @@ class SuggestionType(str, Enum):
EXECUTE_REPAIR = "execute_repair"
EXECUTE_RESET = "execute_reset"
EXECUTE_RELOAD = "execute_reload"
REGISTRY_LOGIN = "registry_login"
NEW_INITIALIZE = "new_initialize"