How to resolve the “Unknown blob” error when pulling from quay.io?

Shani Attias
2021-02-28 14:53

We have seen several cases when customers trying to perform ‘docker pull’ and facing the ”unknown blob” error due to URLs that need to be whitelisted.

 

In this scenario, the resolution is quite simple.

First, you should add the below HTTP logger to the logback.xml file which is located under $JFrog_Home/artifactory/var/etc/artifactory.
This will create a new log file named artifactory-http.log in Artifactory's log folder (no restart is needed).

 <appender name="http" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${log.dir}/artifactory-http.log</File>
<rollingPolicy class="org.jfrog.common.logging.logback.rolling.FixedWindowWithDateRollingPolicy">
<FileNamePattern>${log.dir.archived}/artifactory-http.%i.log.gz</FileNamePattern>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>25MB</MaxFileSize>
</triggeringPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.jfrog.common.logging.logback.layout.BackTracePatternLayout">
<pattern>%date{yyyy-MM-dd'T'HH:mm:ss.SSS, UTC}Z [jfrt ] [%-5p] [%-16X{uber-trace-id}] [%-30.30(%c{3}:%L)] [%-20.20thread] - %m%n</pattern>
</layout>
</encoder>
</appender>

<logger name="org.apache.http" additivity="false">
<level value="TRACE"/>
<appender-ref ref="http"/>
</logger>

 

*Please note: Enabling this logger can significantly slow down some operations due to heavy logging.
You should temporarily enable this logger for debugging purposes, then remove it.

 

Once you have enabled the above logger, run the docker pull command again.

If there are indeed URL’s that need to be whitelisted, you will be able to find similar errors as those below:
2020-05-29 09:13:19,056 [http-nio-8080-exec-3] [DEBUG] (o.a.h.wire          :73) - http-outgoing-165 << "<p>Your cache administrator is <a href="mailto:webmaster?subject=CacheErrorInfo%20-%20ERR_ACCESS_DENIED&amp;body=CacheHost%3A%20ip-123-123-123-123.eu-west-1.compute.internal%0D%0AErrPage%3A%20ERR_ACCESS_DENIED%0D%0AErr%3A%20%5Bnone%5D%0D%0ATimeStamp%3A%20Fri,%2029%20May%202020%2008%3A13%3A18%20GMT%0D%0A%0D%0AClientIP%3A%2010.10.10.10%0D%0A%0D%0AHTTP%20Request%3A%0D%0ACONNECT%20%2F%20HTTP%2F1.1%0AUser-Agent%3A%20Artifactory%2F7.12.6%0D%0AProxy-Authorization%3A%20Basic%25dfsaabbbcccdddeegggffhh%0D%0AHost%3A%20SOME.quay.URL.com%3A443%0D%0A%0D%0A%0D%0A">webmaster</a>.</p>[\n]"


2020-05-29 09:13:19,061 [http-nio-8080-exec-8] [DEBUG] (o.a.h.wire          :73) - http-outgoing-162 << "<p>The following error was encountered while trying to retrieve the URL: <a href="https://SOME.quay.URL.com/*">https:/ SOME.quay.URL.com/*</a></p>;[\n]"

 

In that case, you should whitelist the ‘SOME.quay.URL.com’ URL and this will resolve the "Unkown blob" error.