Consider only docker image pull system error as runner-system-failure
What does this MR do?
This MR helps considering docker pull image error as :
-
runner-system-failure
when a docker system error -
script-failure
for other type of errors
Why was this MR needed?
Complete the work started in !2995 (merged)
What's the best way to test this MR?
.gitlab-ci.yml
job:
script:
- ls -l /builds
Test System Error
config.toml
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "Local GitLab Runner for tests and debugging - Docker"
url = "https://gitlab.com"
token = "TOKEN_HERE"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "docker-registry.pombei.ro/alpine"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
Fails with system failure log
ERROR: Job failed (system failure): failed to pull image "docker-registry.pombei.ro/alpine" with specified policies [always]: Error response from daemon: Get https://docker-registry.pombei.ro/v2/: Service Unavailable (manager.go:205:0s)
Test Request Timeout
config.toml
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "Local GitLab Runner for tests and debugging - Docker"
url = "https://gitlab.com"
token = "TOKEN_HERE"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "docker.repo.bogus.com.au/ben-docker:18.09.7-dind"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
Fails with failure log
ERROR: Job failed: failed to pull image "docker.repo.bogus.com.au/ben-docker:18.09.7-dind" with specified policies [always]: Error response from daemon: Get https://docker.repo.bogus.com.au/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) (manager.go:204:22s)
Test Non Found Image Error
config.toml
concurrent = 1
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "Local GitLab Runner for tests and debugging - Docker"
url = "https://gitlab.com"
token = "TOKEN_HERE"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.docker]
tls_verify = false
image = "dummyimage"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/cache"]
shm_size = 0
Fails with failure log
ERROR: Job failed: failed to pull image "dummyimage" with specified policies [always]: Error response from daemon: pull access denied for dummyimage, repository does not exist or may require 'docker login': denied: requested access to the resource is denied (manager.go:205:0s)
What are the relevant issue numbers?
closes: #28075 (closed)
Edited by Romuald Atchadé