Read BoundPods from etcd instead of ContainerManifestList

There are three values that uniquely identify a pod on a host - the    configuration source (etcd, file, http), the pod name, and the pod    namespace. This change ensures that configuration properly makes those
    names unique by changing podFullName to contain both name (currently ID in    v1beta1, Name in v1beta3) and namespace.

The Kubelet does not properly handle information requests for pods not in the default namespace at this time.

When complete, this will represent a breaking schema change for etcd. Only the last commit two commits are new, the others are covered.

Extracted from #1600
Yes, that should block this pull


> On Oct 15, 2014, at 1:05 AM, Tim Hockin <notifications@github.com> wrote:
> 
> In pkg/api/validation/validation.go:
> 
> > @@ -433,3 +433,25 @@ func ValidateReadOnlyPersistentDisks(volumes []api.Volume) errs.ErrorList {
> >  	}
> >  	return allErrs
> >  }
> > +
> > +// ValidateBoundPod tests if required fields on a bound pod are set.
> > +func ValidateBoundPod(pod *api.BoundPod) (errors []error) {
> > +	if !util.IsDNSSubdomain(pod.ID) {
> > +		errors = append(errors, errs.NewFieldInvalid("id", pod.ID))
> > +	}
> > +	if !util.IsDNSSubdomain(pod.Namespace) {
> Except in the other PR there was discussion that "" == "default" - Do we need to hold this up until that lands?
> 
> —
> Reply to this email directly or view it on GitHub.