receive sets.String as parameter and improve tests.
parent
a7bfe0e638
commit
616b068c0d
|
|
@ -3,10 +3,11 @@ package resource
|
||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
|
|
||||||
"github.com/derailed/k9s/internal/k8s"
|
"github.com/derailed/k9s/internal/k8s"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
|
||||||
mv1beta1 "k8s.io/metrics/pkg/apis/metrics/v1beta1"
|
mv1beta1 "k8s.io/metrics/pkg/apis/metrics/v1beta1"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -143,12 +144,13 @@ func (r *Node) Fields(ns string) Row {
|
||||||
|
|
||||||
sta := make([]string, 10)
|
sta := make([]string, 10)
|
||||||
r.status(no.Status, no.Spec.Unschedulable, sta)
|
r.status(no.Status, no.Spec.Unschedulable, sta)
|
||||||
ro := r.findNodeRoles(no)
|
ro := sets.NewString()
|
||||||
|
r.findNodeRoles(no, &ro)
|
||||||
|
|
||||||
return append(ff,
|
return append(ff,
|
||||||
no.Name,
|
no.Name,
|
||||||
join(sta, ","),
|
join(sta, ","),
|
||||||
join(ro, ","),
|
join(ro.List(), ","),
|
||||||
no.Status.NodeInfo.KubeletVersion,
|
no.Status.NodeInfo.KubeletVersion,
|
||||||
no.Status.NodeInfo.KernelVersion,
|
no.Status.NodeInfo.KernelVersion,
|
||||||
iIP,
|
iIP,
|
||||||
|
|
@ -202,8 +204,7 @@ func gatherNodeMX(no *v1.Node, mx *mv1beta1.NodeMetrics) (c metric, a metric, p
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (_ *Node) findNodeRoles(no *v1.Node) []string {
|
func (_ *Node) findNodeRoles(no *v1.Node, roles *sets.String) []string {
|
||||||
roles := sets.NewString()
|
|
||||||
for k, v := range no.Labels {
|
for k, v := range no.Labels {
|
||||||
switch {
|
switch {
|
||||||
case strings.HasPrefix(k, labelNodeRolePrefix):
|
case strings.HasPrefix(k, labelNodeRolePrefix):
|
||||||
|
|
@ -215,6 +216,10 @@ func (_ *Node) findNodeRoles(no *v1.Node) []string {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if roles.Len() == 0 {
|
||||||
|
roles.Insert(MissingValue)
|
||||||
|
}
|
||||||
|
|
||||||
return roles.List()
|
return roles.List()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ package resource
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
|
@ -43,7 +45,7 @@ func TestNodeRoles(t *testing.T) {
|
||||||
node: v1.Node{
|
node: v1.Node{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Labels: map[string]string{
|
Labels: map[string]string{
|
||||||
"node-role.kubernetes.io/master": "true",
|
"kubernetes.io/role": "master",
|
||||||
"node-role.kubernetes.io/worker": "true",
|
"node-role.kubernetes.io/worker": "true",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -56,18 +58,35 @@ func TestNodeRoles(t *testing.T) {
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Labels: map[string]string{
|
Labels: map[string]string{
|
||||||
"node-role.kubernetes.io/worker": "true",
|
"node-role.kubernetes.io/worker": "true",
|
||||||
"node-role.kubernetes.io/master": "true",
|
"kubernetes.io/role": "master",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
roles: []string{"master", "worker"},
|
roles: []string{"master", "worker"},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
node: v1.Node{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Labels: map[string]string{
|
||||||
|
"kubernetes.io/role": "worker",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
roles: []string{"worker"},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
node: v1.Node{},
|
||||||
|
roles: []string{"<none>"},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
no := NewNode(nil)
|
no := NewNode(nil)
|
||||||
for _, u := range uu {
|
for _, u := range uu {
|
||||||
roles := no.findNodeRoles(&u.node)
|
roles := sets.NewString()
|
||||||
assert.Equal(t, u.roles, roles)
|
no.findNodeRoles(&u.node, &roles)
|
||||||
|
assert.Equal(t, u.roles, roles.List())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue