Add util function to merge resource lists

This commit is contained in:
Odin Ugedal 2019-12-14 20:33:35 +01:00
parent 28f8e52f32
commit 51bff87b18
No known key found for this signature in database
GPG Key ID: AFF9C8242CF7A7AF

View File

@ -3511,20 +3511,30 @@ func getHugePageResourceList(pageSize, value string) corev1.ResourceList {
return res return res
} }
// mergeResourceLists will merge resoure lists. When two lists have the same resourece, the value from
// the last list will be present in the result
func mergeResourceLists(resourceLists ...corev1.ResourceList) corev1.ResourceList {
result := corev1.ResourceList{}
for _, rl := range resourceLists {
for resource, quantity := range rl {
result[resource] = quantity
}
}
return result
}
func TestDescribeNode(t *testing.T) { func TestDescribeNode(t *testing.T) {
holderIdentity := "holder" holderIdentity := "holder"
nodeCapacity := corev1.ResourceList{} nodeCapacity := mergeResourceLists(
for _, rl := range []corev1.ResourceList{getHugePageResourceList("2Mi", "4Gi"), getResourceList("8", "24Gi"), getHugePageResourceList("1Gi", "0")} { getHugePageResourceList("2Mi", "4Gi"),
for resource, value := range rl { getResourceList("8", "24Gi"),
nodeCapacity[resource] = value getHugePageResourceList("1Gi", "0"),
} )
} nodeAllocatable := mergeResourceLists(
nodeAllocatable := corev1.ResourceList{} getHugePageResourceList("2Mi", "2Gi"),
for _, rl := range []corev1.ResourceList{getHugePageResourceList("2Mi", "2Gi"), getResourceList("4", "12Gi"), getHugePageResourceList("1Gi", "0")} { getResourceList("4", "12Gi"),
for resource, value := range rl { getHugePageResourceList("1Gi", "0"),
nodeAllocatable[resource] = value )
}
}
fake := fake.NewSimpleClientset( fake := fake.NewSimpleClientset(
&corev1.Node{ &corev1.Node{