GoogleContainerTools/skaffold

Explain why no files were synced

Open

#3,921 建立於 2020年4月4日

在 GitHub 查看
 (0 留言) (4 反應) (0 負責人)Go (12,822 star) (1,416 fork)batch import
area/logginghelp wantedkind/feature-requestpriority/p3

描述

I encountered a puzzling message when diagnosing an error on Stack Overflow involving syncing. My file sync was failing with the following error:

Syncing 1 files for testappacr.azurecr.io/test-app-admin:4c76dec58e1ef426b89fd44e3b340810db96b6961c5cacfdb76f62c9dc6725b8
WARN[0043] Skipping deploy due to sync error: copying files: didn't sync any files

This error message comes from:

https://github.com/GoogleContainerTools/skaffold/blob/ba4a58dfaf2c42a5db13b580e3448387929415fc/pkg/skaffold/sync/sync.go#L370-L372

The message doesn't provide any real insight as to why nothing was synced.

Ultimately the root cause was that I had disabled the status checks while I was getting the setup to work as they prevent seeing useful logs. I only discovered the pod was failing due to a missing PVC there was a problem after poking around with kubectl describe. So there were no running containers to copy the file to.

So:

  • sync.Perform() could track and report some more information on exceptional conditions: no running pods found, no matching containers found
  • perhaps the status checks could, perhaps after some amount of time, do a describe on the items that aren't healthy?

(This is related to #1571 but that issue was closed a while back and references different part of the code.)

貢獻者指南