mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	Update cadvisor to 6116f265302357cbb10f84737af30b1f13ce2d6c
Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
		
							
								
								
									
										1
									
								
								vendor/github.com/google/cadvisor/manager/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/google/cadvisor/manager/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -35,6 +35,7 @@ go_library(
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/utils/sysfs:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/version:go_default_library",
 | 
			
		||||
        "//vendor/github.com/opencontainers/runc/libcontainer/cgroups:go_default_library",
 | 
			
		||||
        "//vendor/golang.org/x/net/context:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/utils/clock:go_default_library",
 | 
			
		||||
    ],
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/google/cadvisor/manager/container.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/google/cadvisor/manager/container.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -504,7 +504,7 @@ func (c *containerData) housekeepingTick(timer <-chan time.Time, longHousekeepin
 | 
			
		||||
	err := c.updateStats()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if c.allowErrorLogging() {
 | 
			
		||||
			glog.Warning("Failed to update stats for container \"%s\": %s", c.info.Name, err)
 | 
			
		||||
			glog.Warningf("Failed to update stats for container \"%s\": %s", c.info.Name, err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	// Log if housekeeping took too long.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										37
									
								
								vendor/github.com/google/cadvisor/manager/manager.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										37
									
								
								vendor/github.com/google/cadvisor/manager/manager.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -50,6 +50,7 @@ import (
 | 
			
		||||
 | 
			
		||||
	"github.com/golang/glog"
 | 
			
		||||
	"github.com/opencontainers/runc/libcontainer/cgroups"
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
	"k8s.io/utils/clock"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -59,6 +60,8 @@ var eventStorageAgeLimit = flag.String("event_storage_age_limit", "default=24h",
 | 
			
		||||
var eventStorageEventLimit = flag.String("event_storage_event_limit", "default=100000", "Max number of events to store (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or \"default\" and the value is an integer. Default is applied to all non-specified event types")
 | 
			
		||||
var applicationMetricsCountLimit = flag.Int("application_metrics_count_limit", 100, "Max number of application metrics to store (per container)")
 | 
			
		||||
 | 
			
		||||
const dockerClientTimeout = 10 * time.Second
 | 
			
		||||
 | 
			
		||||
// The Manager interface defines operations for starting a manager and getting
 | 
			
		||||
// container and machine information.
 | 
			
		||||
type Manager interface {
 | 
			
		||||
@@ -154,11 +157,10 @@ func New(memoryCache *memory.InMemoryCache, sysfs sysfs.SysFs, maxHousekeepingIn
 | 
			
		||||
		dockerStatus info.DockerStatus
 | 
			
		||||
		rktPath      string
 | 
			
		||||
	)
 | 
			
		||||
	if tempDockerStatus, err := docker.Status(); err != nil {
 | 
			
		||||
		glog.V(5).Infof("Docker not connected: %v", err)
 | 
			
		||||
	} else {
 | 
			
		||||
		dockerStatus = tempDockerStatus
 | 
			
		||||
	}
 | 
			
		||||
	docker.SetTimeout(dockerClientTimeout)
 | 
			
		||||
	// Try to connect to docker indefinitely on startup.
 | 
			
		||||
	dockerStatus = retryDockerStatus()
 | 
			
		||||
 | 
			
		||||
	if tmpRktPath, err := rkt.RktPath(); err != nil {
 | 
			
		||||
		glog.V(5).Infof("Rkt not connected: %v", err)
 | 
			
		||||
	} else {
 | 
			
		||||
@@ -234,6 +236,31 @@ func New(memoryCache *memory.InMemoryCache, sysfs sysfs.SysFs, maxHousekeepingIn
 | 
			
		||||
	return newManager, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func retryDockerStatus() info.DockerStatus {
 | 
			
		||||
	startupTimeout := dockerClientTimeout
 | 
			
		||||
	maxTimeout := 4 * startupTimeout
 | 
			
		||||
	for {
 | 
			
		||||
		ctx, _ := context.WithTimeout(context.Background(), startupTimeout)
 | 
			
		||||
		dockerStatus, err := docker.StatusWithContext(ctx)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return dockerStatus
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch err {
 | 
			
		||||
		case context.DeadlineExceeded:
 | 
			
		||||
			glog.Warningf("Timeout trying to communicate with docker during initialization, will retry")
 | 
			
		||||
		default:
 | 
			
		||||
			glog.V(5).Infof("Docker not connected: %v", err)
 | 
			
		||||
			return info.DockerStatus{}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		startupTimeout = 2 * startupTimeout
 | 
			
		||||
		if startupTimeout > maxTimeout {
 | 
			
		||||
			startupTimeout = maxTimeout
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// A namespaced container name.
 | 
			
		||||
type namespacedContainerName struct {
 | 
			
		||||
	// The namespace of the container. Can be empty for the root namespace.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user