mirror of https://github.com/k3s-io/k3s
Merge pull request #4262 from vishh/api_resources
Rename ResourceRequirementSpec to ResourceRequirements.pull/6/head
commit
e27d534b87
|
@ -25,7 +25,7 @@ import (
|
||||||
func TestResourceHelpers(t *testing.T) {
|
func TestResourceHelpers(t *testing.T) {
|
||||||
cpuLimit := resource.MustParse("10")
|
cpuLimit := resource.MustParse("10")
|
||||||
memoryLimit := resource.MustParse("10G")
|
memoryLimit := resource.MustParse("10G")
|
||||||
resourceSpec := ResourceRequirementSpec{
|
resourceSpec := ResourceRequirements{
|
||||||
Limits: ResourceList{
|
Limits: ResourceList{
|
||||||
"cpu": cpuLimit,
|
"cpu": cpuLimit,
|
||||||
"memory": memoryLimit,
|
"memory": memoryLimit,
|
||||||
|
@ -38,7 +38,7 @@ func TestResourceHelpers(t *testing.T) {
|
||||||
if res := resourceSpec.Limits.Memory(); *res != memoryLimit {
|
if res := resourceSpec.Limits.Memory(); *res != memoryLimit {
|
||||||
t.Errorf("expected memorylimit %d, got %d", memoryLimit, res)
|
t.Errorf("expected memorylimit %d, got %d", memoryLimit, res)
|
||||||
}
|
}
|
||||||
resourceSpec = ResourceRequirementSpec{
|
resourceSpec = ResourceRequirements{
|
||||||
Limits: ResourceList{
|
Limits: ResourceList{
|
||||||
"memory": memoryLimit,
|
"memory": memoryLimit,
|
||||||
"kube.io/storage": memoryLimit,
|
"kube.io/storage": memoryLimit,
|
||||||
|
|
|
@ -319,8 +319,8 @@ type Capabilities struct {
|
||||||
Drop []CapabilityType `json:"drop,omitempty"`
|
Drop []CapabilityType `json:"drop,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResourceRequirementSpec describes the compute resource requirements.
|
// ResourceRequirements describes the compute resource requirements.
|
||||||
type ResourceRequirementSpec struct {
|
type ResourceRequirements struct {
|
||||||
// Limits describes the maximum amount of compute resources required.
|
// Limits describes the maximum amount of compute resources required.
|
||||||
Limits ResourceList `json:"limits,omitempty"`
|
Limits ResourceList `json:"limits,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -339,10 +339,10 @@ type Container struct {
|
||||||
Ports []Port `json:"ports,omitempty"`
|
Ports []Port `json:"ports,omitempty"`
|
||||||
Env []EnvVar `json:"env,omitempty"`
|
Env []EnvVar `json:"env,omitempty"`
|
||||||
// Compute resource requirements.
|
// Compute resource requirements.
|
||||||
Resources ResourceRequirementSpec `json:"resources,omitempty"`
|
Resources ResourceRequirements `json:"resources,omitempty"`
|
||||||
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
|
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
|
||||||
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
|
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
|
||||||
Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
|
Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
|
||||||
// Optional: Defaults to /dev/termination-log
|
// Optional: Defaults to /dev/termination-log
|
||||||
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
|
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
|
||||||
// Optional: Default to false.
|
// Optional: Default to false.
|
||||||
|
|
|
@ -319,8 +319,8 @@ func TestPullPolicyConversion(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getResourceRequirements(cpu, memory resource.Quantity) current.ResourceRequirementSpec {
|
func getResourceRequirements(cpu, memory resource.Quantity) current.ResourceRequirements {
|
||||||
res := current.ResourceRequirementSpec{}
|
res := current.ResourceRequirements{}
|
||||||
res.Limits = current.ResourceList{}
|
res.Limits = current.ResourceList{}
|
||||||
if cpu.Value() > 0 {
|
if cpu.Value() > 0 {
|
||||||
res.Limits[current.ResourceCPU] = util.NewIntOrStringFromInt(int(cpu.Value()))
|
res.Limits[current.ResourceCPU] = util.NewIntOrStringFromInt(int(cpu.Value()))
|
||||||
|
|
|
@ -259,7 +259,7 @@ type Capabilities struct {
|
||||||
Drop []CapabilityType `json:"drop,omitempty" description:"droped capabilities"`
|
Drop []CapabilityType `json:"drop,omitempty" description:"droped capabilities"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResourceRequirementSpec struct {
|
type ResourceRequirements struct {
|
||||||
// Limits describes the maximum amount of compute resources required.
|
// Limits describes the maximum amount of compute resources required.
|
||||||
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
||||||
}
|
}
|
||||||
|
@ -274,10 +274,10 @@ type Container struct {
|
||||||
// Optional: Defaults to whatever is defined in the image.
|
// Optional: Defaults to whatever is defined in the image.
|
||||||
Command []string `json:"command,omitempty" description:"command argv array; not executed within a shell; defaults to entrypoint or command in the image"`
|
Command []string `json:"command,omitempty" description:"command argv array; not executed within a shell; defaults to entrypoint or command in the image"`
|
||||||
// Optional: Defaults to Docker's default.
|
// Optional: Defaults to Docker's default.
|
||||||
WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default"`
|
WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default"`
|
||||||
Ports []Port `json:"ports,omitempty" description:"list of ports to expose from the container"`
|
Ports []Port `json:"ports,omitempty" description:"list of ports to expose from the container"`
|
||||||
Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container"`
|
Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container"`
|
||||||
Resources ResourceRequirementSpec `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
Resources ResourceRequirements `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
||||||
// Optional: Defaults to unlimited.
|
// Optional: Defaults to unlimited.
|
||||||
CPU int `json:"cpu,omitempty" description:"CPU share in thousandths of a core"`
|
CPU int `json:"cpu,omitempty" description:"CPU share in thousandths of a core"`
|
||||||
// Optional: Defaults to unlimited.
|
// Optional: Defaults to unlimited.
|
||||||
|
|
|
@ -149,8 +149,8 @@ func TestPullPolicyConversion(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getResourceRequirements(cpu, memory resource.Quantity) current.ResourceRequirementSpec {
|
func getResourceRequirements(cpu, memory resource.Quantity) current.ResourceRequirements {
|
||||||
res := current.ResourceRequirementSpec{}
|
res := current.ResourceRequirements{}
|
||||||
res.Limits = current.ResourceList{}
|
res.Limits = current.ResourceList{}
|
||||||
if cpu.Value() > 0 {
|
if cpu.Value() > 0 {
|
||||||
res.Limits[current.ResourceCPU] = util.NewIntOrStringFromInt(int(cpu.Value()))
|
res.Limits[current.ResourceCPU] = util.NewIntOrStringFromInt(int(cpu.Value()))
|
||||||
|
|
|
@ -218,7 +218,7 @@ type Capabilities struct {
|
||||||
Drop []CapabilityType `json:"drop,omitempty" description:"droped capabilities"`
|
Drop []CapabilityType `json:"drop,omitempty" description:"droped capabilities"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResourceRequirementSpec struct {
|
type ResourceRequirements struct {
|
||||||
// Limits describes the maximum amount of compute resources required.
|
// Limits describes the maximum amount of compute resources required.
|
||||||
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
||||||
}
|
}
|
||||||
|
@ -233,10 +233,10 @@ type Container struct {
|
||||||
// Optional: Defaults to whatever is defined in the image.
|
// Optional: Defaults to whatever is defined in the image.
|
||||||
Command []string `json:"command,omitempty" description:"command argv array; not executed within a shell; defaults to entrypoint or command in the image"`
|
Command []string `json:"command,omitempty" description:"command argv array; not executed within a shell; defaults to entrypoint or command in the image"`
|
||||||
// Optional: Defaults to Docker's default.
|
// Optional: Defaults to Docker's default.
|
||||||
WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default"`
|
WorkingDir string `json:"workingDir,omitempty" description:"container's working directory; defaults to image's default"`
|
||||||
Ports []Port `json:"ports,omitempty" description:"list of ports to expose from the container"`
|
Ports []Port `json:"ports,omitempty" description:"list of ports to expose from the container"`
|
||||||
Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container"`
|
Env []EnvVar `json:"env,omitempty" description:"list of environment variables to set in the container"`
|
||||||
Resources ResourceRequirementSpec `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
Resources ResourceRequirements `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
||||||
// Optional: Defaults to unlimited.
|
// Optional: Defaults to unlimited.
|
||||||
CPU int `json:"cpu,omitempty" description:"CPU share in thousandths of a core"`
|
CPU int `json:"cpu,omitempty" description:"CPU share in thousandths of a core"`
|
||||||
// Optional: Defaults to unlimited.
|
// Optional: Defaults to unlimited.
|
||||||
|
|
|
@ -337,8 +337,8 @@ type Capabilities struct {
|
||||||
Drop []CapabilityType `json:"drop,omitempty"`
|
Drop []CapabilityType `json:"drop,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResourceRequirementSpec describes the compute resource requirements.
|
// ResourceRequirements describes the compute resource requirements.
|
||||||
type ResourceRequirementSpec struct {
|
type ResourceRequirements struct {
|
||||||
// Limits describes the maximum amount of compute resources required.
|
// Limits describes the maximum amount of compute resources required.
|
||||||
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
Limits ResourceList `json:"limits,omitempty" description:"Maximum amount of compute resources allowed"`
|
||||||
}
|
}
|
||||||
|
@ -358,13 +358,13 @@ type Container struct {
|
||||||
// Optional: Defaults to whatever is defined in the image.
|
// Optional: Defaults to whatever is defined in the image.
|
||||||
Command []string `json:"command,omitempty"`
|
Command []string `json:"command,omitempty"`
|
||||||
// Optional: Defaults to Docker's default.
|
// Optional: Defaults to Docker's default.
|
||||||
WorkingDir string `json:"workingDir,omitempty"`
|
WorkingDir string `json:"workingDir,omitempty"`
|
||||||
Ports []Port `json:"ports,omitempty"`
|
Ports []Port `json:"ports,omitempty"`
|
||||||
Env []EnvVar `json:"env,omitempty"`
|
Env []EnvVar `json:"env,omitempty"`
|
||||||
Resources ResourceRequirementSpec `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
Resources ResourceRequirements `json:"resources,omitempty" description:"Compute Resources required by this container"`
|
||||||
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
|
VolumeMounts []VolumeMount `json:"volumeMounts,omitempty"`
|
||||||
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
|
LivenessProbe *Probe `json:"livenessProbe,omitempty"`
|
||||||
Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
|
Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
|
||||||
// Optional: Defaults to /dev/termination-log
|
// Optional: Defaults to /dev/termination-log
|
||||||
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
|
TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
|
||||||
// Optional: Default to false.
|
// Optional: Default to false.
|
||||||
|
|
|
@ -378,7 +378,7 @@ func TestValidateContainers(t *testing.T) {
|
||||||
{
|
{
|
||||||
Name: "resources-test",
|
Name: "resources-test",
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
api.ResourceName(api.ResourceCPU): resource.MustParse("10"),
|
api.ResourceName(api.ResourceCPU): resource.MustParse("10"),
|
||||||
api.ResourceName(api.ResourceMemory): resource.MustParse("10G"),
|
api.ResourceName(api.ResourceMemory): resource.MustParse("10G"),
|
||||||
|
@ -459,7 +459,7 @@ func TestValidateContainers(t *testing.T) {
|
||||||
{
|
{
|
||||||
Name: "abc-123",
|
Name: "abc-123",
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"disk": resource.MustParse("10G"),
|
"disk": resource.MustParse("10G"),
|
||||||
},
|
},
|
||||||
|
@ -471,7 +471,7 @@ func TestValidateContainers(t *testing.T) {
|
||||||
{
|
{
|
||||||
Name: "abc-123",
|
Name: "abc-123",
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: getResourceLimits("-10", "0"),
|
Limits: getResourceLimits("-10", "0"),
|
||||||
},
|
},
|
||||||
ImagePullPolicy: "IfNotPresent",
|
ImagePullPolicy: "IfNotPresent",
|
||||||
|
@ -481,7 +481,7 @@ func TestValidateContainers(t *testing.T) {
|
||||||
{
|
{
|
||||||
Name: "abc-123",
|
Name: "abc-123",
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: getResourceLimits("0", "-10"),
|
Limits: getResourceLimits("0", "-10"),
|
||||||
},
|
},
|
||||||
ImagePullPolicy: "IfNotPresent",
|
ImagePullPolicy: "IfNotPresent",
|
||||||
|
@ -554,7 +554,7 @@ func TestValidateManifest(t *testing.T) {
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Command: []string{"foo", "bar"},
|
Command: []string{"foo", "bar"},
|
||||||
WorkingDir: "/tmp",
|
WorkingDir: "/tmp",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": resource.MustParse("1"),
|
"cpu": resource.MustParse("1"),
|
||||||
"memory": resource.MustParse("1"),
|
"memory": resource.MustParse("1"),
|
||||||
|
@ -877,7 +877,7 @@ func TestValidatePodUpdate(t *testing.T) {
|
||||||
Containers: []api.Container{
|
Containers: []api.Container{
|
||||||
{
|
{
|
||||||
Image: "foo:V1",
|
Image: "foo:V1",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: getResourceLimits("100m", "0"),
|
Limits: getResourceLimits("100m", "0"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -890,7 +890,7 @@ func TestValidatePodUpdate(t *testing.T) {
|
||||||
Containers: []api.Container{
|
Containers: []api.Container{
|
||||||
{
|
{
|
||||||
Image: "foo:V2",
|
Image: "foo:V2",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: getResourceLimits("1000m", "0"),
|
Limits: getResourceLimits("1000m", "0"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -56,7 +56,7 @@ func newResourcePod(usage ...resourceRequest) api.Pod {
|
||||||
containers := []api.Container{}
|
containers := []api.Container{}
|
||||||
for _, req := range usage {
|
for _, req := range usage {
|
||||||
containers = append(containers, api.Container{
|
containers = append(containers, api.Container{
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": *resource.NewMilliQuantity(req.milliCPU, resource.DecimalSI),
|
"cpu": *resource.NewMilliQuantity(req.milliCPU, resource.DecimalSI),
|
||||||
"memory": *resource.NewQuantity(req.memory, resource.BinarySI),
|
"memory": *resource.NewQuantity(req.memory, resource.BinarySI),
|
||||||
|
|
|
@ -58,14 +58,14 @@ func TestLeastRequested(t *testing.T) {
|
||||||
cpuOnly := api.PodSpec{
|
cpuOnly := api.PodSpec{
|
||||||
Containers: []api.Container{
|
Containers: []api.Container{
|
||||||
{
|
{
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": resource.MustParse("1000m"),
|
"cpu": resource.MustParse("1000m"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": resource.MustParse("2000m"),
|
"cpu": resource.MustParse("2000m"),
|
||||||
},
|
},
|
||||||
|
@ -76,7 +76,7 @@ func TestLeastRequested(t *testing.T) {
|
||||||
cpuAndMemory := api.PodSpec{
|
cpuAndMemory := api.PodSpec{
|
||||||
Containers: []api.Container{
|
Containers: []api.Container{
|
||||||
{
|
{
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": resource.MustParse("1000m"),
|
"cpu": resource.MustParse("1000m"),
|
||||||
"memory": resource.MustParse("2000"),
|
"memory": resource.MustParse("2000"),
|
||||||
|
@ -84,7 +84,7 @@ func TestLeastRequested(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: api.ResourceList{
|
Limits: api.ResourceList{
|
||||||
"cpu": resource.MustParse("2000m"),
|
"cpu": resource.MustParse("2000m"),
|
||||||
"memory": resource.MustParse("3000"),
|
"memory": resource.MustParse("3000"),
|
||||||
|
|
|
@ -23,8 +23,8 @@ import (
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/resource"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getResourceRequirements(cpu, memory string) api.ResourceRequirementSpec {
|
func getResourceRequirements(cpu, memory string) api.ResourceRequirements {
|
||||||
res := api.ResourceRequirementSpec{}
|
res := api.ResourceRequirements{}
|
||||||
res.Limits = api.ResourceList{}
|
res.Limits = api.ResourceList{}
|
||||||
if cpu != "" {
|
if cpu != "" {
|
||||||
res.Limits[api.ResourceCPU] = resource.MustParse(cpu)
|
res.Limits[api.ResourceCPU] = resource.MustParse(cpu)
|
||||||
|
|
|
@ -65,7 +65,7 @@ func TestIgnoreAdmission(t *testing.T) {
|
||||||
{
|
{
|
||||||
Name: "ctr",
|
Name: "ctr",
|
||||||
Image: "image",
|
Image: "image",
|
||||||
Resources: api.ResourceRequirementSpec{
|
Resources: api.ResourceRequirements{
|
||||||
Limits: getResourceLimits("2", "750Mi"),
|
Limits: getResourceLimits("2", "750Mi"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -25,8 +25,8 @@ import (
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getResourceRequirements(cpu, memory string) api.ResourceRequirementSpec {
|
func getResourceRequirements(cpu, memory string) api.ResourceRequirements {
|
||||||
res := api.ResourceRequirementSpec{}
|
res := api.ResourceRequirements{}
|
||||||
res.Limits = api.ResourceList{}
|
res.Limits = api.ResourceList{}
|
||||||
if cpu != "" {
|
if cpu != "" {
|
||||||
res.Limits[api.ResourceCPU] = resource.MustParse(cpu)
|
res.Limits[api.ResourceCPU] = resource.MustParse(cpu)
|
||||||
|
|
Loading…
Reference in New Issue