mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 07:47:56 +00:00
Improve warnings for default-container
Right now, there is no way to use these annotations, support multiple `kubectl` versions, and not give users annoying warnings every time they run `kubectl log`. If a user is setting *both* annotations, they clearly know that the old on is deprecated. Therefor, we should not warn them.
This commit is contained in:
parent
f79795d718
commit
a7882d8a42
@ -79,11 +79,15 @@ func logsForObjectWithClient(clientset corev1client.CoreV1Interface, object, opt
|
|||||||
// container. This gives users ability to preselect the most interesting container in pod.
|
// container. This gives users ability to preselect the most interesting container in pod.
|
||||||
if annotations := t.GetAnnotations(); annotations != nil && len(opts.Container) == 0 {
|
if annotations := t.GetAnnotations(); annotations != nil && len(opts.Container) == 0 {
|
||||||
var containerName string
|
var containerName string
|
||||||
if len(annotations[defaultLogsContainerAnnotationName]) > 0 {
|
if len(annotations[podutils.DefaultContainerAnnotationName]) > 0 {
|
||||||
|
containerName = annotations[podutils.DefaultContainerAnnotationName]
|
||||||
|
} else if len(annotations[defaultLogsContainerAnnotationName]) > 0 {
|
||||||
|
// Only log deprecation if we have only the old annotation. This allows users to
|
||||||
|
// set both to support multiple versions of kubectl; if they are setting both
|
||||||
|
// they must already know it is deprecated, so we don't need to add noisy
|
||||||
|
// warnings.
|
||||||
containerName = annotations[defaultLogsContainerAnnotationName]
|
containerName = annotations[defaultLogsContainerAnnotationName]
|
||||||
fmt.Fprintf(os.Stderr, "Using deprecated annotation `kubectl.kubernetes.io/default-logs-container` in pod/%v. Please use `kubectl.kubernetes.io/default-container` instead\n", t.Name)
|
fmt.Fprintf(os.Stderr, "Using deprecated annotation `kubectl.kubernetes.io/default-logs-container` in pod/%v. Please use `kubectl.kubernetes.io/default-container` instead\n", t.Name)
|
||||||
} else if len(annotations[podutils.DefaultContainerAnnotationName]) > 0 {
|
|
||||||
containerName = annotations[podutils.DefaultContainerAnnotationName]
|
|
||||||
}
|
}
|
||||||
if len(containerName) > 0 {
|
if len(containerName) > 0 {
|
||||||
if exists, _ := podutils.FindContainerByName(t, containerName); exists != nil {
|
if exists, _ := podutils.FindContainerByName(t, containerName); exists != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user