kubectl: show consistent unit format in quota describe
API returns unit format in a non deterministic manner; ie it chooses a unit format according to a resource that gets counted first Kubernetes-commit: 3f0b64ec9597488be6365f89cc82338bcb7a9feb
This commit is contained in:
parent
a66725a1e1
commit
1c26c91ee7
|
|
@ -672,10 +672,13 @@ func describeQuota(resourceQuota *corev1.ResourceQuota) (string, error) {
|
|||
|
||||
msg := "%v\t%v\t%v\n"
|
||||
for i := range resources {
|
||||
resource := resources[i]
|
||||
hardQuantity := resourceQuota.Status.Hard[resource]
|
||||
usedQuantity := resourceQuota.Status.Used[resource]
|
||||
w.Write(LEVEL_0, msg, resource, usedQuantity.String(), hardQuantity.String())
|
||||
resourceName := resources[i]
|
||||
hardQuantity := resourceQuota.Status.Hard[resourceName]
|
||||
usedQuantity := resourceQuota.Status.Used[resourceName]
|
||||
if hardQuantity.Format != usedQuantity.Format {
|
||||
usedQuantity = *resource.NewQuantity(usedQuantity.Value(), hardQuantity.Format)
|
||||
}
|
||||
w.Write(LEVEL_0, msg, resourceName, usedQuantity.String(), hardQuantity.String())
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
|
|
|||
|
|
@ -4066,7 +4066,7 @@ func TestDescribeResourceQuota(t *testing.T) {
|
|||
corev1.ResourceName(corev1.ResourceLimitsMemory): resource.MustParse("0G"),
|
||||
corev1.ResourceName(corev1.ResourceMemory): resource.MustParse("0G"),
|
||||
corev1.ResourceName(corev1.ResourceRequestsCPU): resource.MustParse("0"),
|
||||
corev1.ResourceName(corev1.ResourceRequestsMemory): resource.MustParse("0G"),
|
||||
corev1.ResourceName(corev1.ResourceRequestsMemory): resource.MustParse("1000Ki"),
|
||||
},
|
||||
},
|
||||
})
|
||||
|
|
@ -4076,7 +4076,7 @@ func TestDescribeResourceQuota(t *testing.T) {
|
|||
if err != nil {
|
||||
t.Errorf("unexpected error: %v", err)
|
||||
}
|
||||
expectedOut := []string{"bar", "foo", "limits.cpu", "2", "limits.memory", "2G", "requests.cpu", "1", "requests.memory", "1G"}
|
||||
expectedOut := []string{"bar", "foo", "limits.cpu", "2", "limits.memory", "2G", "requests.cpu", "1", "requests.memory", "1024k", "1G"}
|
||||
for _, expected := range expectedOut {
|
||||
if !strings.Contains(out, expected) {
|
||||
t.Errorf("expected to find %q in output: %q", expected, out)
|
||||
|
|
|
|||
Loading…
Reference in New Issue