GoogleContainerTools/skaffold

Explain why no files were synced

開放

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

 (0 則留言) (4 個反應) (0 位負責人)Go (1,416 個分叉)batch import
area/logginghelp wantedkind/feature-requestpriority/p3

倉庫指標

星標
 (12,822 顆星)
PR 合併指標
 (平均合併 3天 6小時) (30 天內合併 16 個 PR)

描述

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.)

貢獻者指南