Revisit identifiers spec

Partially addresses #1135.

This is the result of discussions in the past few days about imprecision and confusion. Hopefully simpler. There are a few FIXME comments in the doc - discuss.
Will clarify


On Mon, Sep 8, 2014 at 3:17 PM, bgrant0607 <notifications@github.com> wrote:

> In docs/identifiers.md:
>
> >     Example: "k8s.example.com"
> >
> > -2) Each pod instance on an apiserver has a PodName string (a DNS_SUBDOMAIN) which is and unique within the Namespace.
> > -   1) If not specified by the client, the apiserver will assign this identifier
> > +2) When an object is created on an apiserver, a Name string (a DNS_SUBDOMAIN) must be provided.
> > +   1) must be non-empty and unique within the apiserver's Namespace
> > +   2) enables idempotent and space-unique creation
> > +      1) generating random names will defeat idempotentcy
> > +   3) other parts of the system (e.g. replication controller) may append to Name
>
> Other components may append to some string in order to produce unique
> Names for objects they create, such as pods created by a
> replicationController from a podTemplate. (The system isn't going to munge
> a client-provided Name and thereby change the Name of an object directly
> created via the API.)
>
> --
> Reply to this email directly or view it on GitHub
> <https://github.com/GoogleCloudPlatform/kubernetes/pull/1216/files#r17271080>
> .
>