sort node roles
parent
196884a9a8
commit
a7bfe0e638
|
|
@ -143,8 +143,7 @@ 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 := make([]string, 10)
|
ro := r.findNodeRoles(no)
|
||||||
r.nodeRoles(no, ro)
|
|
||||||
|
|
||||||
return append(ff,
|
return append(ff,
|
||||||
no.Name,
|
no.Name,
|
||||||
|
|
@ -203,28 +202,20 @@ func gatherNodeMX(no *v1.Node, mx *mv1beta1.NodeMetrics) (c metric, a metric, p
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func withPerc(v, p string) string {
|
func (_ *Node) findNodeRoles(no *v1.Node) []string {
|
||||||
return v + " (" + p + ")"
|
roles := sets.NewString()
|
||||||
}
|
for k, v := range no.Labels {
|
||||||
|
|
||||||
func (*Node) nodeRoles(node *v1.Node, res []string) {
|
|
||||||
index := 0
|
|
||||||
for k, v := range node.Labels {
|
|
||||||
switch {
|
switch {
|
||||||
case strings.HasPrefix(k, labelNodeRolePrefix):
|
case strings.HasPrefix(k, labelNodeRolePrefix):
|
||||||
if role := strings.TrimPrefix(k, labelNodeRolePrefix); len(role) > 0 {
|
if role := strings.TrimPrefix(k, labelNodeRolePrefix); len(role) > 0 {
|
||||||
res[index] = role
|
roles.Insert(role)
|
||||||
index++
|
|
||||||
}
|
}
|
||||||
case k == nodeLabelRole && v != "":
|
case k == nodeLabelRole && v != "":
|
||||||
res[index] = v
|
roles.Insert(v)
|
||||||
index++
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if empty(res) {
|
return roles.List()
|
||||||
res[index] = MissingValue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Node) getIPs(addrs []v1.NodeAddress) (iIP, eIP string) {
|
func (*Node) getIPs(addrs []v1.NodeAddress) (iIP, eIP string) {
|
||||||
|
|
@ -271,22 +262,6 @@ func (*Node) status(status v1.NodeStatus, exempt bool, res []string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func findNodeRoles(no *v1.Node) []string {
|
|
||||||
roles := sets.NewString()
|
|
||||||
for k, v := range no.Labels {
|
|
||||||
switch {
|
|
||||||
case strings.HasPrefix(k, labelNodeRolePrefix):
|
|
||||||
if role := strings.TrimPrefix(k, labelNodeRolePrefix); len(role) > 0 {
|
|
||||||
roles.Insert(role)
|
|
||||||
}
|
|
||||||
case k == nodeLabelRole && v != "":
|
|
||||||
roles.Insert(v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return roles.List()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *Node) podsResources(name string) (v1.ResourceList, v1.ResourceList, error) {
|
func (r *Node) podsResources(name string) (v1.ResourceList, v1.ResourceList, error) {
|
||||||
reqs, limits := v1.ResourceList{}, v1.ResourceList{}
|
reqs, limits := v1.ResourceList{}, v1.ResourceList{}
|
||||||
pods, err := r.Connection.NodePods(name)
|
pods, err := r.Connection.NodePods(name)
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,43 @@ func TestNodeStatus(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNodeRoles(t *testing.T) {
|
||||||
|
uu := []struct {
|
||||||
|
node v1.Node
|
||||||
|
roles []string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
node: v1.Node{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Labels: map[string]string{
|
||||||
|
"node-role.kubernetes.io/master": "true",
|
||||||
|
"node-role.kubernetes.io/worker": "true",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
roles: []string{"master", "worker"},
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
node: v1.Node{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Labels: map[string]string{
|
||||||
|
"node-role.kubernetes.io/worker": "true",
|
||||||
|
"node-role.kubernetes.io/master": "true",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
roles: []string{"master", "worker"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
no := NewNode(nil)
|
||||||
|
for _, u := range uu {
|
||||||
|
roles := no.findNodeRoles(&u.node)
|
||||||
|
assert.Equal(t, u.roles, roles)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func BenchmarkNodeFields(b *testing.B) {
|
func BenchmarkNodeFields(b *testing.B) {
|
||||||
n := NewNode(nil)
|
n := NewNode(nil)
|
||||||
no := makeNode()
|
no := makeNode()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue