diff --git a/lib/datasource/docker.js b/lib/datasource/docker.js index 18d571b860183ad62c091995bfbc93f06333314c..4abd861784125f062942ad354660b687df9b1401 100644 --- a/lib/datasource/docker.js +++ b/lib/datasource/docker.js @@ -25,6 +25,11 @@ async function getHeaders(repository) { Accept: 'application/vnd.docker.distribution.manifest.v2+json', }; } catch (err) { + // istanbul ignore if + if (err.statusCode >= 500 && err.statusCode < 600) { + logger.warn({ err }, 'docker registry failure: internal error'); + throw new Error('registry-failure'); + } logger.info('Error obtaining docker token'); return null; } @@ -41,6 +46,11 @@ async function getDigest(name, tag = 'latest') { logger.debug({ digest }, 'Got docker digest'); return digest; } catch (err) { + // istanbul ignore if + if (err.statusCode >= 500 && err.statusCode < 600) { + logger.warn({ err }, 'docker registry failure: internal error'); + throw new Error('registry-failure'); + } logger.info({ err, name, tag }, 'Error looking up docker image digest'); return null; } @@ -55,6 +65,11 @@ async function getTags(name) { logger.debug({ tags }, 'Got docker tags'); return tags; } catch (err) { + // istanbul ignore if + if (err.statusCode >= 500 && err.statusCode < 600) { + logger.warn({ err }, 'docker registry failure: internal error'); + throw new Error('registry-failure'); + } logger.warn({ err, name }, 'Error getting docker image tags'); return null; }