From e5fd877052af2fccf740b9c65443c6dcdef635ec Mon Sep 17 00:00:00 2001 From: derekwaynecarr Date: Mon, 4 Aug 2014 15:02:51 -0400 Subject: [PATCH] Validate on replicas being non-negative --- pkg/api/validation.go | 3 +++ pkg/api/validation_test.go | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/pkg/api/validation.go b/pkg/api/validation.go index f16dd50ede..f281cefdf2 100644 --- a/pkg/api/validation.go +++ b/pkg/api/validation.go @@ -318,6 +318,9 @@ func ValidateReplicationController(controller *ReplicationController) []error { if labels.Set(controller.DesiredState.ReplicaSelector).AsSelector().Empty() { errors = append(errors, makeInvalidError("ReplicationController.ReplicaSelector", controller.DesiredState.ReplicaSelector)) } + if controller.DesiredState.Replicas < 0 { + errors = append(errors, makeInvalidError("ReplicationController.Replicas", controller.DesiredState.Replicas )) + } errors = append(errors, ValidateManifest(&controller.DesiredState.PodTemplate.DesiredState.Manifest)...) return errors } diff --git a/pkg/api/validation_test.go b/pkg/api/validation_test.go index 451fd7d8b8..9d4ec61b43 100644 --- a/pkg/api/validation_test.go +++ b/pkg/api/validation_test.go @@ -417,6 +417,13 @@ func TestValidateReplicationController(t *testing.T) { ReplicaSelector: validSelector, }, }, + "negative_replicas": { + JSONBase: JSONBase{ID: "abc"}, + DesiredState: ReplicationControllerState{ + Replicas: -1, + ReplicaSelector: validSelector, + }, + }, } for k, v := range errorCases { if errs := ValidateReplicationController(&v); len(errs) == 0 {