diff --git a/pkg/api/resource/quantity.go b/pkg/api/resource/quantity.go index c92f47ff74a..4ae4d38148c 100644 --- a/pkg/api/resource/quantity.go +++ b/pkg/api/resource/quantity.go @@ -102,14 +102,14 @@ const ( DecimalSI = Format("DecimalSI") // e.g., 12M (12 * 10^6) ) -// ParseOrDie turns the given string into a quantity or panics; for tests +// MustParse turns the given string into a quantity or panics; for tests // or others cases where you know the string is valid. -func ParseOrDie(str string) *Quantity { +func MustParse(str string) Quantity { q, err := ParseQuantity(str) if err != nil { panic(fmt.Errorf("cannot parse '%v': %v", str, err)) } - return q + return *q } const ( @@ -403,10 +403,7 @@ func (qf qFlag) String() string { // QuantityFlag is a helper that makes a quantity flag (using standard flag package). // Will panic if defaultValue is not a valid quantity. func QuantityFlag(flagName, defaultValue, description string) *Quantity { - q, err := ParseQuantity(defaultValue) - if err != nil { - panic(fmt.Errorf("can't use %v as a quantity: %v", defaultValue, err)) - } - flag.Var(qFlag{q}, flagName, description) - return q + q := MustParse(defaultValue) + flag.Var(qFlag{&q}, flagName, description) + return &q } diff --git a/pkg/api/resource/quantity_example_test.go b/pkg/api/resource/quantity_example_test.go index 5442cb546c4..f9cbe862f5b 100644 --- a/pkg/api/resource/quantity_example_test.go +++ b/pkg/api/resource/quantity_example_test.go @@ -38,17 +38,17 @@ func ExampleFormat() { // cores = 5300m } -func ExampleParseOrDie() { - memorySize := resource.ParseOrDie("5Gi") +func ExampleMustParse() { + memorySize := resource.MustParse("5Gi") fmt.Printf("memorySize = %v (%v)\n", memorySize.Value(), memorySize.Format) - diskSize := resource.ParseOrDie("5G") + diskSize := resource.MustParse("5G") fmt.Printf("diskSize = %v (%v)\n", diskSize.Value(), diskSize.Format) - cores := resource.ParseOrDie("5300m") + cores := resource.MustParse("5300m") fmt.Printf("milliCores = %v (%v)\n", cores.MilliValue(), cores.Format) - cores2 := resource.ParseOrDie("5.4") + cores2 := resource.MustParse("5.4") fmt.Printf("milliCores = %v (%v)\n", cores2.MilliValue(), cores2.Format) // Output: diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 3cb6f183331..827aa40ad53 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -373,8 +373,8 @@ func TestValidateManifest(t *testing.T) { Image: "image", Command: []string{"foo", "bar"}, WorkingDir: "/tmp", - Memory: *resource.Q("1"), - CPU: *resource.Q("1"), + Memory: resource.MustParse("1"), + CPU: resource.MustParse("1"), Ports: []api.Port{ {Name: "p1", ContainerPort: 80, HostPort: 8080}, {Name: "p2", ContainerPort: 81}, @@ -624,7 +624,7 @@ func TestValidatePodUpdate(t *testing.T) { Containers: []api.Container{ { Image: "foo:V1", - CPU: *resource.Q("100m"), + CPU: resource.MustParse("100m"), }, }, }, @@ -635,7 +635,7 @@ func TestValidatePodUpdate(t *testing.T) { Containers: []api.Container{ { Image: "foo:V2", - CPU: *resource.Q("1000m"), + CPU: resource.MustParse("1000m"), }, }, }, @@ -1301,8 +1301,8 @@ func TestValidateMinionUpdate(t *testing.T) { }, Spec: api.NodeSpec{ Capacity: api.ResourceList{ - api.ResourceCPU: *resource.Q("10000"), - api.ResourceMemory: *resource.Q("100"), + api.ResourceCPU: resource.MustParse("10000"), + api.ResourceMemory: resource.MustParse("100"), }, }, }, api.Node{ @@ -1311,8 +1311,8 @@ func TestValidateMinionUpdate(t *testing.T) { }, Spec: api.NodeSpec{ Capacity: api.ResourceList{ - api.ResourceCPU: *resource.Q("100"), - api.ResourceMemory: *resource.Q("10000"), + api.ResourceCPU: resource.MustParse("100"), + api.ResourceMemory: resource.MustParse("10000"), }, }, }, true}, @@ -1323,8 +1323,8 @@ func TestValidateMinionUpdate(t *testing.T) { }, Spec: api.NodeSpec{ Capacity: api.ResourceList{ - api.ResourceCPU: *resource.Q("10000"), - api.ResourceMemory: *resource.Q("100"), + api.ResourceCPU: resource.MustParse("10000"), + api.ResourceMemory: resource.MustParse("100"), }, }, }, api.Node{ @@ -1334,8 +1334,8 @@ func TestValidateMinionUpdate(t *testing.T) { }, Spec: api.NodeSpec{ Capacity: api.ResourceList{ - api.ResourceCPU: *resource.Q("100"), - api.ResourceMemory: *resource.Q("10000"), + api.ResourceCPU: resource.MustParse("100"), + api.ResourceMemory: resource.MustParse("10000"), }, }, }, true}, diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index 4283d5217aa..c4d01d717f7 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -734,8 +734,8 @@ func TestCreateMinion(t *testing.T) { }, Spec: api.NodeSpec{ Capacity: api.ResourceList{ - api.ResourceCPU: *resource.Q("1000m"), - api.ResourceMemory: *resource.Q("1Mi"), + api.ResourceCPU: resource.MustParse("1000m"), + api.ResourceMemory: resource.MustParse("1Mi"), }, }, } diff --git a/pkg/cloudprovider/openstack/openstack.go b/pkg/cloudprovider/openstack/openstack.go index f546b2baf40..4e5947d6cca 100644 --- a/pkg/cloudprovider/openstack/openstack.go +++ b/pkg/cloudprovider/openstack/openstack.go @@ -170,10 +170,10 @@ func (os *OpenStack) Instances() (cloudprovider.Instances, bool) { rsrc := api.NodeResources{ Capacity: api.ResourceList{ api.ResourceCPU: *resource.NewMilliQuantity(int64(flavor.VCPUs*1000), resource.DecimalSI), - api.ResourceMemory: *resource.Q(fmt.Sprintf("%dMi", flavor.RAM)), - "openstack.org/disk": *resource.Q(fmt.Sprintf("%dG", flavor.Disk)), + api.ResourceMemory: resource.MustParse(fmt.Sprintf("%dMi", flavor.RAM)), + "openstack.org/disk": resource.MustParse(fmt.Sprintf("%dG", flavor.Disk)), "openstack.org/rxTxFactor": *resource.NewQuantity(int64(flavor.RxTxFactor*1000), resource.DecimalSI), - "openstack.org/swap": *resource.Q(fmt.Sprintf("%dMiB", flavor.Swap)), + "openstack.org/swap": resource.MustParse(fmt.Sprintf("%dMi", flavor.Swap)), }, } flavor_to_resource[flavor.ID] = &rsrc diff --git a/pkg/scheduler/priorities_test.go b/pkg/scheduler/priorities_test.go index 1081709d90c..23f932e0a0d 100644 --- a/pkg/scheduler/priorities_test.go +++ b/pkg/scheduler/priorities_test.go @@ -56,14 +56,14 @@ func TestLeastRequested(t *testing.T) { } cpuOnly := api.PodSpec{ Containers: []api.Container{ - {CPU: *resource.Q("1000m")}, - {CPU: *resource.Q("2000m")}, + {CPU: resource.MustParse("1000m")}, + {CPU: resource.MustParse("2000m")}, }, } cpuAndMemory := api.PodSpec{ Containers: []api.Container{ - {CPU: *resource.Q("1000m"), Memory: *resource.Q("2000")}, - {CPU: *resource.Q("2000m"), Memory: *resource.Q("3000")}, + {CPU: resource.MustParse("1000m"), Memory: resource.MustParse("2000")}, + {CPU: resource.MustParse("2000m"), Memory: resource.MustParse("3000")}, }, } tests := []struct {