Update kubectl describer for LimitRange

This commit is contained in:
derekwaynecarr 2015-08-24 15:19:29 -04:00
parent 8fbe4645e3
commit 3ee66f358f

View File

@ -175,14 +175,16 @@ func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer) {
fmt.Fprint(w, "No resource limits.\n") fmt.Fprint(w, "No resource limits.\n")
return return
} }
fmt.Fprintf(w, "Resource Limits\n Type\tResource\tMin\tMax\tDefault\n") fmt.Fprintf(w, "Resource Limits\n Type\tResource\tMin\tMax\tRequest\tLimit\tLimit/Request\n")
fmt.Fprintf(w, " ----\t--------\t---\t---\t---\n") fmt.Fprintf(w, " ----\t--------\t---\t---\t-------\t-----\t-------------\n")
for _, limitRange := range limitRanges.Items { for _, limitRange := range limitRanges.Items {
for i := range limitRange.Spec.Limits { for i := range limitRange.Spec.Limits {
item := limitRange.Spec.Limits[i] item := limitRange.Spec.Limits[i]
maxResources := item.Max maxResources := item.Max
minResources := item.Min minResources := item.Min
defaultResources := item.Default defaultLimitResources := item.Default
defaultRequestResources := item.DefaultRequest
ratio := item.MaxLimitRequestRatio
set := map[api.ResourceName]bool{} set := map[api.ResourceName]bool{}
for k := range maxResources { for k := range maxResources {
@ -191,7 +193,13 @@ func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer) {
for k := range minResources { for k := range minResources {
set[k] = true set[k] = true
} }
for k := range defaultResources { for k := range defaultLimitResources {
set[k] = true
}
for k := range defaultRequestResources {
set[k] = true
}
for k := range ratio {
set[k] = true set[k] = true
} }
@ -199,7 +207,9 @@ func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer) {
// if no value is set, we output - // if no value is set, we output -
maxValue := "-" maxValue := "-"
minValue := "-" minValue := "-"
defaultValue := "-" defaultLimitValue := "-"
defaultRequestValue := "-"
ratioValue := "-"
maxQuantity, maxQuantityFound := maxResources[k] maxQuantity, maxQuantityFound := maxResources[k]
if maxQuantityFound { if maxQuantityFound {
@ -211,13 +221,23 @@ func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer) {
minValue = minQuantity.String() minValue = minQuantity.String()
} }
defaultQuantity, defaultQuantityFound := defaultResources[k] defaultLimitQuantity, defaultLimitQuantityFound := defaultLimitResources[k]
if defaultQuantityFound { if defaultLimitQuantityFound {
defaultValue = defaultQuantity.String() defaultLimitValue = defaultLimitQuantity.String()
} }
msg := " %v\t%v\t%v\t%v\t%v\n" defaultRequestQuantity, defaultRequestQuantityFound := defaultRequestResources[k]
fmt.Fprintf(w, msg, item.Type, k, minValue, maxValue, defaultValue) if defaultRequestQuantityFound {
defaultRequestValue = defaultRequestQuantity.String()
}
ratioQuantity, ratioQuantityFound := ratio[k]
if ratioQuantityFound {
ratioValue = ratioQuantity.String()
}
msg := " %s\t%v\t%v\t%v\t%v\t%v\t%v\n"
fmt.Fprintf(w, msg, item.Type, k, minValue, maxValue, defaultRequestValue, defaultLimitValue, ratioValue)
} }
} }
} }
@ -280,13 +300,15 @@ func describeLimitRange(limitRange *api.LimitRange) (string, error) {
return tabbedString(func(out io.Writer) error { return tabbedString(func(out io.Writer) error {
fmt.Fprintf(out, "Name:\t%s\n", limitRange.Name) fmt.Fprintf(out, "Name:\t%s\n", limitRange.Name)
fmt.Fprintf(out, "Namespace:\t%s\n", limitRange.Namespace) fmt.Fprintf(out, "Namespace:\t%s\n", limitRange.Namespace)
fmt.Fprintf(out, "Type\tResource\tMin\tMax\tDefault\n") fmt.Fprintf(out, "Type\tResource\tMin\tMax\tRequest\tLimit\tLimit/Request\n")
fmt.Fprintf(out, "----\t--------\t---\t---\t---\n") fmt.Fprintf(out, "----\t--------\t---\t---\t-------\t-----\t-------------\n")
for i := range limitRange.Spec.Limits { for i := range limitRange.Spec.Limits {
item := limitRange.Spec.Limits[i] item := limitRange.Spec.Limits[i]
maxResources := item.Max maxResources := item.Max
minResources := item.Min minResources := item.Min
defaultResources := item.Default defaultLimitResources := item.Default
defaultRequestResources := item.DefaultRequest
ratio := item.MaxLimitRequestRatio
set := map[api.ResourceName]bool{} set := map[api.ResourceName]bool{}
for k := range maxResources { for k := range maxResources {
@ -295,7 +317,13 @@ func describeLimitRange(limitRange *api.LimitRange) (string, error) {
for k := range minResources { for k := range minResources {
set[k] = true set[k] = true
} }
for k := range defaultResources { for k := range defaultLimitResources {
set[k] = true
}
for k := range defaultRequestResources {
set[k] = true
}
for k := range ratio {
set[k] = true set[k] = true
} }
@ -303,7 +331,9 @@ func describeLimitRange(limitRange *api.LimitRange) (string, error) {
// if no value is set, we output - // if no value is set, we output -
maxValue := "-" maxValue := "-"
minValue := "-" minValue := "-"
defaultValue := "-" defaultLimitValue := "-"
defaultRequestValue := "-"
ratioValue := "-"
maxQuantity, maxQuantityFound := maxResources[k] maxQuantity, maxQuantityFound := maxResources[k]
if maxQuantityFound { if maxQuantityFound {
@ -315,13 +345,23 @@ func describeLimitRange(limitRange *api.LimitRange) (string, error) {
minValue = minQuantity.String() minValue = minQuantity.String()
} }
defaultQuantity, defaultQuantityFound := defaultResources[k] defaultLimitQuantity, defaultLimitQuantityFound := defaultLimitResources[k]
if defaultQuantityFound { if defaultLimitQuantityFound {
defaultValue = defaultQuantity.String() defaultLimitValue = defaultLimitQuantity.String()
} }
msg := "%v\t%v\t%v\t%v\t%v\n" defaultRequestQuantity, defaultRequestQuantityFound := defaultRequestResources[k]
fmt.Fprintf(out, msg, item.Type, k, minValue, maxValue, defaultValue) if defaultRequestQuantityFound {
defaultRequestValue = defaultRequestQuantity.String()
}
ratioQuantity, ratioQuantityFound := ratio[k]
if ratioQuantityFound {
ratioValue = ratioQuantity.String()
}
msg := "%v\t%v\t%v\t%v\t%v\t%v\t%v\n"
fmt.Fprintf(out, msg, item.Type, k, minValue, maxValue, defaultRequestValue, defaultLimitValue, ratioValue)
} }
} }
return nil return nil