The basic idea here is to enable customer to self diagnose and give us some data.
- Validate DNS query works through docker.
- Potentially provide and image that they can run so that the script is actually run inside a docker environment rather than on the host itself.
- Give a way for them to report back the correlation ID.
- Run a token service command
- Run a dataplane command like a test upload a 0 byte blob with a correlation id.
$ az acr health check -n myregistry
DNS lookup to myregistry.azurecr.io 123.123.23.23. : OK
AAD Token acquisition : OK
Upload test : OK
Correlation Id : 1234123012341231234
Customer could potentially even run this in a container to actually have docker do the network calls
$ az acr health docker run-diagnostics
$ az acr health check --with-docker-image ## this could run the same commands by pulling a docker image and pass in an accesstoken etc.
$ az acr health check --operation push # we can decide if we want to use docker to create an image and push it after we do the DNS validations
more thoughts coming soon.
--Yu
Get client and server region info, client IP The roles of the user? Upload test to registry (should be auto-purged later): correlationId, status, latency, speed Upload test to a test storage in the region directly Download test from registry (may need to do multiple times): correlationId, status, latency, speed Download test from a test storage in the region directly.
--Yihuang
- We've seen storage cert expiration before. This blocked customer from pulling image. It would be nice if we can provide a tool to let them verify blob store healthy information. 2. Storage connection may fail at any time during pulling. We can think about giving customer more useful info during pulling.
Azure storage now has connectivity check blade in portal. This is helpful for VNet enabled registry user.