
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Add list of pods that use a volume to multiattach events So users knows what pods are blocking a volume and can realize their error. **Release note**: ```release-note NONE ``` UX: * User can get one of following events, depending what other pod(s) are already using a volume and in which namespace they are: ``` Multi-Attach error for volume"volume-name" Volume is already exclusively attached to one node and can't be attached to another Multi-Attach error for volume "volume-name" Volume is already used by pod(s) pod3 and 1 pod(s) in different namespaces ``` * controller-manager gets always full logs: * When the node where is the volume attached is known: ``` Multi-Attach error for volume "volume-name" (UniqueName: "fake-plugin/volume-name") from node "node1" Volume is already used by pods ns2/pod2, ns1/pod3 on node node2, node3 ``` * When the node where is the volume attached is not known: ``` Multi-Attach error for volume "volume-name" (UniqueName: "fake-plugin/volume-name") from node "node1" Volume is already exclusively attached to node node2 and can't be attached to another ``` /kind bug /sig storage /assign @gnufied
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
package(default_visibility = ["//visibility:public"])
|
|
|
|
load(
|
|
"@io_bazel_rules_go//go:def.bzl",
|
|
"go_library",
|
|
"go_test",
|
|
)
|
|
|
|
go_library(
|
|
name = "go_default_library",
|
|
srcs = ["reconciler.go"],
|
|
importpath = "k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler",
|
|
deps = [
|
|
"//pkg/controller/volume/attachdetach/cache:go_default_library",
|
|
"//pkg/controller/volume/attachdetach/statusupdater:go_default_library",
|
|
"//pkg/kubelet/events:go_default_library",
|
|
"//pkg/util/goroutinemap/exponentialbackoff:go_default_library",
|
|
"//pkg/volume:go_default_library",
|
|
"//pkg/volume/util/operationexecutor:go_default_library",
|
|
"//vendor/github.com/golang/glog:go_default_library",
|
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
|
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
|
],
|
|
)
|
|
|
|
go_test(
|
|
name = "go_default_test",
|
|
srcs = ["reconciler_test.go"],
|
|
embed = [":go_default_library"],
|
|
importpath = "k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler",
|
|
deps = [
|
|
"//pkg/controller:go_default_library",
|
|
"//pkg/controller/volume/attachdetach/cache:go_default_library",
|
|
"//pkg/controller/volume/attachdetach/statusupdater:go_default_library",
|
|
"//pkg/controller/volume/attachdetach/testing:go_default_library",
|
|
"//pkg/util/strings:go_default_library",
|
|
"//pkg/volume/testing:go_default_library",
|
|
"//pkg/volume/util/operationexecutor:go_default_library",
|
|
"//pkg/volume/util/types:go_default_library",
|
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
|
"//vendor/k8s.io/apimachinery/pkg/util/wait:go_default_library",
|
|
"//vendor/k8s.io/client-go/informers:go_default_library",
|
|
"//vendor/k8s.io/client-go/tools/record:go_default_library",
|
|
],
|
|
)
|
|
|
|
filegroup(
|
|
name = "package-srcs",
|
|
srcs = glob(["**"]),
|
|
tags = ["automanaged"],
|
|
visibility = ["//visibility:private"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "all-srcs",
|
|
srcs = [":package-srcs"],
|
|
tags = ["automanaged"],
|
|
)
|