mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-03 23:40:03 +00:00 
			
		
		
		
	Update to latest cadvisor - cleanup mesos/rkt
Change-Id: Ib5ae0cb13b93f8c87bb74e3ba33040df5f3d6a6f
This commit is contained in:
		
							
								
								
									
										8
									
								
								vendor/github.com/google/cadvisor/container/docker/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/google/cadvisor/container/docker/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -7,6 +7,7 @@ go_library(
 | 
			
		||||
        "docker.go",
 | 
			
		||||
        "factory.go",
 | 
			
		||||
        "handler.go",
 | 
			
		||||
        "plugin.go",
 | 
			
		||||
    ],
 | 
			
		||||
    importmap = "k8s.io/kubernetes/vendor/github.com/google/cadvisor/container/docker",
 | 
			
		||||
    importpath = "github.com/google/cadvisor/container/docker",
 | 
			
		||||
@@ -24,8 +25,8 @@ go_library(
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/fs:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/info/v1:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/machine:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/manager/watcher:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/utils/docker:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/watcher:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/zfs:go_default_library",
 | 
			
		||||
        "//vendor/github.com/opencontainers/runc/libcontainer/cgroups/fs:go_default_library",
 | 
			
		||||
        "//vendor/github.com/opencontainers/runc/libcontainer/configs:go_default_library",
 | 
			
		||||
@@ -43,7 +44,10 @@ filegroup(
 | 
			
		||||
 | 
			
		||||
filegroup(
 | 
			
		||||
    name = "all-srcs",
 | 
			
		||||
    srcs = [":package-srcs"],
 | 
			
		||||
    srcs = [
 | 
			
		||||
        ":package-srcs",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/container/docker/install:all-srcs",
 | 
			
		||||
    ],
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    visibility = ["//visibility:public"],
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/google/cadvisor/container/docker/factory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/google/cadvisor/container/docker/factory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -31,8 +31,8 @@ import (
 | 
			
		||||
	"github.com/google/cadvisor/fs"
 | 
			
		||||
	info "github.com/google/cadvisor/info/v1"
 | 
			
		||||
	"github.com/google/cadvisor/machine"
 | 
			
		||||
	"github.com/google/cadvisor/manager/watcher"
 | 
			
		||||
	dockerutil "github.com/google/cadvisor/utils/docker"
 | 
			
		||||
	"github.com/google/cadvisor/watcher"
 | 
			
		||||
	"github.com/google/cadvisor/zfs"
 | 
			
		||||
 | 
			
		||||
	docker "github.com/docker/docker/client"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								vendor/github.com/google/cadvisor/container/docker/install/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/google/cadvisor/container/docker/install/BUILD
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
 | 
			
		||||
 | 
			
		||||
go_library(
 | 
			
		||||
    name = "go_default_library",
 | 
			
		||||
    srcs = ["install.go"],
 | 
			
		||||
    importmap = "k8s.io/kubernetes/vendor/github.com/google/cadvisor/container/docker/install",
 | 
			
		||||
    importpath = "github.com/google/cadvisor/container/docker/install",
 | 
			
		||||
    visibility = ["//visibility:public"],
 | 
			
		||||
    deps = [
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/container:go_default_library",
 | 
			
		||||
        "//vendor/github.com/google/cadvisor/container/docker:go_default_library",
 | 
			
		||||
        "//vendor/k8s.io/klog:go_default_library",
 | 
			
		||||
    ],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
filegroup(
 | 
			
		||||
    name = "package-srcs",
 | 
			
		||||
    srcs = glob(["**"]),
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    visibility = ["//visibility:private"],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
filegroup(
 | 
			
		||||
    name = "all-srcs",
 | 
			
		||||
    srcs = [":package-srcs"],
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    visibility = ["//visibility:public"],
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										29
									
								
								vendor/github.com/google/cadvisor/container/docker/install/install.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								vendor/github.com/google/cadvisor/container/docker/install/install.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
// Copyright 2019 Google Inc. All Rights Reserved.
 | 
			
		||||
//
 | 
			
		||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
// you may not use this file except in compliance with the License.
 | 
			
		||||
// You may obtain a copy of the License at
 | 
			
		||||
//
 | 
			
		||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
//
 | 
			
		||||
// Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
// See the License for the specific language governing permissions and
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
// The install package registers docker.NewPlugin() as the "docker" container provider when imported
 | 
			
		||||
package install
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/google/cadvisor/container"
 | 
			
		||||
	"github.com/google/cadvisor/container/docker"
 | 
			
		||||
	"k8s.io/klog"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	err := container.RegisterPlugin("docker", docker.NewPlugin())
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		klog.Fatalf("Failed to register docker plugin: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										77
									
								
								vendor/github.com/google/cadvisor/container/docker/plugin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								vendor/github.com/google/cadvisor/container/docker/plugin.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
// Copyright 2019 Google Inc. All Rights Reserved.
 | 
			
		||||
//
 | 
			
		||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
// you may not use this file except in compliance with the License.
 | 
			
		||||
// You may obtain a copy of the License at
 | 
			
		||||
//
 | 
			
		||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
//
 | 
			
		||||
// Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
// See the License for the specific language governing permissions and
 | 
			
		||||
// limitations under the License.
 | 
			
		||||
 | 
			
		||||
package docker
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/google/cadvisor/container"
 | 
			
		||||
	"github.com/google/cadvisor/fs"
 | 
			
		||||
	info "github.com/google/cadvisor/info/v1"
 | 
			
		||||
	"github.com/google/cadvisor/watcher"
 | 
			
		||||
	"golang.org/x/net/context"
 | 
			
		||||
	"k8s.io/klog"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const dockerClientTimeout = 10 * time.Second
 | 
			
		||||
 | 
			
		||||
// NewPlugin returns an implementation of container.Plugin suitable for passing to container.RegisterPlugin()
 | 
			
		||||
func NewPlugin() container.Plugin {
 | 
			
		||||
	return &plugin{}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type plugin struct{}
 | 
			
		||||
 | 
			
		||||
func (p *plugin) InitializeFSContext(context *fs.Context) error {
 | 
			
		||||
	SetTimeout(dockerClientTimeout)
 | 
			
		||||
	// Try to connect to docker indefinitely on startup.
 | 
			
		||||
	dockerStatus := retryDockerStatus()
 | 
			
		||||
	context.Docker = fs.DockerContext{
 | 
			
		||||
		Root:         RootDir(),
 | 
			
		||||
		Driver:       dockerStatus.Driver,
 | 
			
		||||
		DriverStatus: dockerStatus.DriverStatus,
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (p *plugin) Register(factory info.MachineInfoFactory, fsInfo fs.FsInfo, includedMetrics container.MetricSet) (watcher.ContainerWatcher, error) {
 | 
			
		||||
	err := Register(factory, fsInfo, includedMetrics)
 | 
			
		||||
	return nil, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func retryDockerStatus() info.DockerStatus {
 | 
			
		||||
	startupTimeout := dockerClientTimeout
 | 
			
		||||
	maxTimeout := 4 * startupTimeout
 | 
			
		||||
	for {
 | 
			
		||||
		ctx, _ := context.WithTimeout(context.Background(), startupTimeout)
 | 
			
		||||
		dockerStatus, err := StatusWithContext(ctx)
 | 
			
		||||
		if err == nil {
 | 
			
		||||
			return dockerStatus
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		switch err {
 | 
			
		||||
		case context.DeadlineExceeded:
 | 
			
		||||
			klog.Warningf("Timeout trying to communicate with docker during initialization, will retry")
 | 
			
		||||
		default:
 | 
			
		||||
			klog.V(5).Infof("Docker not connected: %v", err)
 | 
			
		||||
			return info.DockerStatus{}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		startupTimeout = 2 * startupTimeout
 | 
			
		||||
		if startupTimeout > maxTimeout {
 | 
			
		||||
			startupTimeout = maxTimeout
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user