mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
kubectl: Remove duplicate selector calculation logic and add missing test cases for the 'describe DaemonSet' functionality
This commit is contained in:
parent
555efba04a
commit
3e48d143fa
@ -2527,18 +2527,14 @@ func (d *DaemonSetDescriber) Describe(namespace, name string, describerSettings
|
|||||||
events, _ = searchEvents(d.CoreV1(), daemon, describerSettings.ChunkSize)
|
events, _ = searchEvents(d.CoreV1(), daemon, describerSettings.ChunkSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
return describeDaemonSet(daemon, events, running, waiting, succeeded, failed)
|
return describeDaemonSet(daemon, selector, events, running, waiting, succeeded, failed)
|
||||||
}
|
}
|
||||||
|
|
||||||
func describeDaemonSet(daemon *appsv1.DaemonSet, events *corev1.EventList, running, waiting, succeeded, failed int) (string, error) {
|
func describeDaemonSet(daemon *appsv1.DaemonSet, selector labels.Selector, events *corev1.EventList, running, waiting, succeeded, failed int) (string, error) {
|
||||||
return tabbedString(func(out io.Writer) error {
|
return tabbedString(func(out io.Writer) error {
|
||||||
w := NewPrefixWriter(out)
|
w := NewPrefixWriter(out)
|
||||||
w.Write(LEVEL_0, "Name:\t%s\n", daemon.Name)
|
w.Write(LEVEL_0, "Name:\t%s\n", daemon.Name)
|
||||||
selector, err := metav1.LabelSelectorAsSelector(daemon.Spec.Selector)
|
w.Write(LEVEL_0, "Namespace:\t%s\n", daemon.Namespace)
|
||||||
if err != nil {
|
|
||||||
// this shouldn't happen if LabelSelector passed validation
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
w.Write(LEVEL_0, "Selector:\t%s\n", selector)
|
w.Write(LEVEL_0, "Selector:\t%s\n", selector)
|
||||||
w.Write(LEVEL_0, "Node-Selector:\t%s\n", labels.FormatLabels(daemon.Spec.Template.Spec.NodeSelector))
|
w.Write(LEVEL_0, "Node-Selector:\t%s\n", labels.FormatLabels(daemon.Spec.Template.Spec.NodeSelector))
|
||||||
printLabelsMultiline(w, "Labels", daemon.Labels)
|
printLabelsMultiline(w, "Labels", daemon.Labels)
|
||||||
|
@ -6397,6 +6397,41 @@ func TestDescribeStatefulSet(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDescribeDaemonSet(t *testing.T) {
|
||||||
|
fake := fake.NewSimpleClientset(&appsv1.DaemonSet{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "bar",
|
||||||
|
Namespace: "foo",
|
||||||
|
},
|
||||||
|
Spec: appsv1.DaemonSetSpec{
|
||||||
|
Selector: &metav1.LabelSelector{
|
||||||
|
MatchLabels: map[string]string{"node-role.kubernetes.io/control-plane": "true"},
|
||||||
|
},
|
||||||
|
Template: corev1.PodTemplateSpec{
|
||||||
|
Spec: corev1.PodSpec{
|
||||||
|
Containers: []corev1.Container{
|
||||||
|
{Image: "mytest-image:latest"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
d := DaemonSetDescriber{fake}
|
||||||
|
out, err := d.Describe("foo", "bar", DescriberSettings{ShowEvents: true})
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("unexpected error: %v", err)
|
||||||
|
}
|
||||||
|
expectedOutputs := []string{
|
||||||
|
"bar", "foo", "Containers:", "mytest-image:latest", "Selector", "node-role.kubernetes.io/control-plane=true",
|
||||||
|
}
|
||||||
|
for _, o := range expectedOutputs {
|
||||||
|
if !strings.Contains(out, o) {
|
||||||
|
t.Errorf("unexpected out: %s", out)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestDescribeEndpointSlice(t *testing.T) {
|
func TestDescribeEndpointSlice(t *testing.T) {
|
||||||
protocolTCP := corev1.ProtocolTCP
|
protocolTCP := corev1.ProtocolTCP
|
||||||
port80 := int32(80)
|
port80 := int32(80)
|
||||||
|
Loading…
Reference in New Issue
Block a user