mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Merge pull request #98510 from jsturtevant/windows-metrics-access-denied
Ignore transient errors when gathering stats for Windows Containers in Dockershim
This commit is contained in:
commit
b9b11d3100
@ -20,6 +20,7 @@ package dockershim
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/Microsoft/hcsshim"
|
||||
@ -39,7 +40,7 @@ func (ds *dockerService) getContainerStats(containerID string) (*runtimeapi.Cont
|
||||
// That will typically happen with init-containers in Exited state. Docker still knows about them but the HCS does not.
|
||||
// As we don't want to block stats retrieval for other containers, we only log errors.
|
||||
if !hcsshim.IsNotExist(err) && !hcsshim.IsAlreadyStopped(err) {
|
||||
klog.Errorf("Error opening container (stats will be missing) '%s': %v", containerID, err)
|
||||
klog.V(4).Infof("Error opening container (stats will be missing) '%s': %v", containerID, err)
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
@ -52,6 +53,16 @@ func (ds *dockerService) getContainerStats(containerID string) (*runtimeapi.Cont
|
||||
|
||||
stats, err := hcsshimContainer.Statistics()
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "0x5") || strings.Contains(err.Error(), "0xc0370105") {
|
||||
// When the container is just created, querying for stats causes access errors because it hasn't started yet
|
||||
// This is transient; skip container for now
|
||||
//
|
||||
// These hcs errors do not have helpers exposed in public package so need to query for the known codes
|
||||
// https://github.com/microsoft/hcsshim/blob/master/internal/hcs/errors.go
|
||||
// PR to expose helpers in hcsshim: https://github.com/microsoft/hcsshim/pull/933
|
||||
klog.V(4).Infof("Container is not in a state that stats can be accessed '%s': %v. This occurs when the container is created but not started.", containerID, err)
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user