mirror of https://github.com/k3s-io/k3s
Merge pull request #1333 from pmorie/validation
Expose validation method for ReplicationControllerStatepull/6/head
commit
45f5f8d078
|
@ -341,17 +341,24 @@ func ValidateReplicationController(controller *api.ReplicationController) errs.E
|
|||
if len(controller.ID) == 0 {
|
||||
allErrs = append(allErrs, errs.NewFieldRequired("id", controller.ID))
|
||||
}
|
||||
if labels.Set(controller.DesiredState.ReplicaSelector).AsSelector().Empty() {
|
||||
allErrs = append(allErrs, errs.NewFieldRequired("desiredState.replicaSelector", controller.DesiredState.ReplicaSelector))
|
||||
}
|
||||
selector := labels.Set(controller.DesiredState.ReplicaSelector).AsSelector()
|
||||
labels := labels.Set(controller.DesiredState.PodTemplate.Labels)
|
||||
if !selector.Matches(labels) {
|
||||
allErrs = append(allErrs, errs.NewFieldInvalid("desiredState.podTemplate.labels", controller.DesiredState.PodTemplate))
|
||||
}
|
||||
if controller.DesiredState.Replicas < 0 {
|
||||
allErrs = append(allErrs, errs.NewFieldInvalid("desiredState.replicas", controller.DesiredState.Replicas))
|
||||
}
|
||||
allErrs = append(allErrs, ValidateManifest(&controller.DesiredState.PodTemplate.DesiredState.Manifest).Prefix("desiredState.podTemplate.desiredState.manifest")...)
|
||||
allErrs = append(allErrs, ValidateReplicationControllerState(&controller.DesiredState).Prefix("desiredState")...)
|
||||
return allErrs
|
||||
}
|
||||
|
||||
// ValidateReplicationControllerState tests if required fields in the replication controller state are set.
|
||||
func ValidateReplicationControllerState(state *api.ReplicationControllerState) errs.ErrorList {
|
||||
allErrs := errs.ErrorList{}
|
||||
if labels.Set(state.ReplicaSelector).AsSelector().Empty() {
|
||||
allErrs = append(allErrs, errs.NewFieldRequired("replicaSelector", state.ReplicaSelector))
|
||||
}
|
||||
selector := labels.Set(state.ReplicaSelector).AsSelector()
|
||||
labels := labels.Set(state.PodTemplate.Labels)
|
||||
if !selector.Matches(labels) {
|
||||
allErrs = append(allErrs, errs.NewFieldInvalid("podTemplate.labels", state.PodTemplate))
|
||||
}
|
||||
if state.Replicas < 0 {
|
||||
allErrs = append(allErrs, errs.NewFieldInvalid("replicas", state.Replicas))
|
||||
}
|
||||
allErrs = append(allErrs, ValidateManifest(&state.PodTemplate.DesiredState.Manifest).Prefix("podTemplate.desiredState.manifest")...)
|
||||
return allErrs
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue