Merge pull request #5814 from vmarmol/net-host

Add HostNetworking container option to API.
This commit is contained in:
Abhi Shah
2015-03-24 15:55:27 -07:00
14 changed files with 191 additions and 0 deletions

View File

@@ -641,6 +641,20 @@ func validateDNSPolicy(dnsPolicy *api.DNSPolicy) errs.ValidationErrorList {
return allErrors
}
func validateHostNetwork(hostNetwork bool, containers []api.Container) errs.ValidationErrorList {
allErrors := errs.ValidationErrorList{}
if hostNetwork {
for _, container := range containers {
for _, port := range container.Ports {
if port.HostPort != port.ContainerPort {
allErrors = append(allErrors, errs.NewFieldInvalid("containerPort", port.ContainerPort, "containerPort must match hostPort if hostNetwork is set to true"))
}
}
}
}
return allErrors
}
// ValidatePod tests if required fields in the pod are set.
func ValidatePod(pod *api.Pod) errs.ValidationErrorList {
allErrs := errs.ValidationErrorList{}
@@ -663,6 +677,7 @@ func ValidatePodSpec(spec *api.PodSpec) errs.ValidationErrorList {
allErrs = append(allErrs, validateRestartPolicy(&spec.RestartPolicy).Prefix("restartPolicy")...)
allErrs = append(allErrs, validateDNSPolicy(&spec.DNSPolicy).Prefix("dnsPolicy")...)
allErrs = append(allErrs, ValidateLabels(spec.NodeSelector, "nodeSelector")...)
allErrs = append(allErrs, validateHostNetwork(spec.HostNetwork, spec.Containers).Prefix("hostNetwork")...)
return allErrs
}