mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Merge pull request #21088 from derekwaynecarr/improve_helpers
Auto commit by PR queue bot
This commit is contained in:
commit
84da994d68
@ -30,7 +30,7 @@ func (self *ResourceList) Cpu() *resource.Quantity {
|
|||||||
if val, ok := (*self)[ResourceCPU]; ok {
|
if val, ok := (*self)[ResourceCPU]; ok {
|
||||||
return &val
|
return &val
|
||||||
}
|
}
|
||||||
return &resource.Quantity{}
|
return &resource.Quantity{Format: resource.DecimalSI}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the Memory limit if specified.
|
// Returns the Memory limit if specified.
|
||||||
@ -38,7 +38,7 @@ func (self *ResourceList) Memory() *resource.Quantity {
|
|||||||
if val, ok := (*self)[ResourceMemory]; ok {
|
if val, ok := (*self)[ResourceMemory]; ok {
|
||||||
return &val
|
return &val
|
||||||
}
|
}
|
||||||
return &resource.Quantity{}
|
return &resource.Quantity{Format: resource.BinarySI}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *ResourceList) Pods() *resource.Quantity {
|
func (self *ResourceList) Pods() *resource.Quantity {
|
||||||
|
@ -51,3 +51,13 @@ func TestResourceHelpers(t *testing.T) {
|
|||||||
t.Errorf("expected memorylimit %v, got %v", memoryLimit, res)
|
t.Errorf("expected memorylimit %v, got %v", memoryLimit, res)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDefaultResourceHelpers(t *testing.T) {
|
||||||
|
resourceList := ResourceList{}
|
||||||
|
if resourceList.Cpu().Format != resource.DecimalSI {
|
||||||
|
t.Errorf("expected %v, actual %v", resource.DecimalSI, resourceList.Cpu().Format)
|
||||||
|
}
|
||||||
|
if resourceList.Memory().Format != resource.BinarySI {
|
||||||
|
t.Errorf("expected %v, actual %v", resource.BinarySI, resourceList.Memory().Format)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -16,10 +16,7 @@ limitations under the License.
|
|||||||
|
|
||||||
package util
|
package util
|
||||||
|
|
||||||
import (
|
import "k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
|
||||||
"k8s.io/kubernetes/pkg/api/resource"
|
|
||||||
)
|
|
||||||
|
|
||||||
// For each of these resources, a pod that doesn't request the resource explicitly
|
// For each of these resources, a pod that doesn't request the resource explicitly
|
||||||
// will be treated as having requested the amount indicated below, for the purpose
|
// will be treated as having requested the amount indicated below, for the purpose
|
||||||
@ -32,21 +29,22 @@ import (
|
|||||||
const DefaultMilliCpuRequest int64 = 100 // 0.1 core
|
const DefaultMilliCpuRequest int64 = 100 // 0.1 core
|
||||||
const DefaultMemoryRequest int64 = 200 * 1024 * 1024 // 200 MB
|
const DefaultMemoryRequest int64 = 200 * 1024 * 1024 // 200 MB
|
||||||
|
|
||||||
|
// GetNonzeroRequests returns the default resource request if none is found or what is provided on the request
|
||||||
// TODO: Consider setting default as a fixed fraction of machine capacity (take "capacity api.ResourceList"
|
// TODO: Consider setting default as a fixed fraction of machine capacity (take "capacity api.ResourceList"
|
||||||
// as an additional argument here) rather than using constants
|
// as an additional argument here) rather than using constants
|
||||||
func GetNonzeroRequests(requests *api.ResourceList) (int64, int64) {
|
func GetNonzeroRequests(requests *api.ResourceList) (int64, int64) {
|
||||||
var out_millicpu, out_memory int64
|
var outMilliCPU, outMemory int64
|
||||||
// Override if un-set, but not if explicitly set to zero
|
// Override if un-set, but not if explicitly set to zero
|
||||||
if (*requests.Cpu() == resource.Quantity{}) {
|
if _, found := (*requests)[api.ResourceCPU]; !found {
|
||||||
out_millicpu = DefaultMilliCpuRequest
|
outMilliCPU = DefaultMilliCpuRequest
|
||||||
} else {
|
} else {
|
||||||
out_millicpu = requests.Cpu().MilliValue()
|
outMilliCPU = requests.Cpu().MilliValue()
|
||||||
}
|
}
|
||||||
// Override if un-set, but not if explicitly set to zero
|
// Override if un-set, but not if explicitly set to zero
|
||||||
if (*requests.Memory() == resource.Quantity{}) {
|
if _, found := (*requests)[api.ResourceMemory]; !found {
|
||||||
out_memory = DefaultMemoryRequest
|
outMemory = DefaultMemoryRequest
|
||||||
} else {
|
} else {
|
||||||
out_memory = requests.Memory().Value()
|
outMemory = requests.Memory().Value()
|
||||||
}
|
}
|
||||||
return out_millicpu, out_memory
|
return outMilliCPU, outMemory
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user