Computer Club naming policy is simple.

(maybe this is useful for generating names from categories http://namingschemes.com/ )

Core concepts

Each machine has a unique "cute" name (like "whelk" or "labrador") as its hostname; the type of cute name is determined by the service the machine provides. There is also a DNS A record with that "cute" name pointing at that IP of that machine. Each service has a functional name (like "shell01" or "kerberos-2"). This functional name is tied to the service, rather than the machine. There is therefore a DNS CNAME record pointing to the "cute" name of the machine currently providing that service.

Never refer to the machine's service by the machine's hostname. Always use the CNAME to refer to the service.

Never use the CNAME to refer to the specific machine/hardware/Debian install. Always use the hostname to refer to the specific machine.

Avoid ever reusing the "cute" names of machines; when making a new machine that provides the same service as an old machine, never use the same name as the machine currently providing that service.

Naming table

Service

Machines providing this have a "cute" name like

Instances of the service have a functional CNAME like

Shell machines

Shelled creatures (whelk, oyster, clam)

shell## (shell01, shell02, shell03)

Kerberos KDCs

Dog breeds (labrador, collie)

(specified by protocol) kerberos(-#)? (kerberos, kerberos-1, kerberos-2)

Example

"labrador" is the hostname of a machine that serves as a KDC.

"labrador.club.cc.cmu.edu" is an A record that points to that machine.

"kerberos-2.club.cc.cmu.edu" is a CNAME record that points to "labrador.club.cc.cmu.edu".

Our Kerberos configuration refers to "kerberos-2.club.cc.cmu.edu" (along with the other KDCs).

Building a new machine to replace a machine currently providing some service

  1. Find the purpose of the new machine in the first column of the naming table.
  2. Observe the second column in that row.
  3. Make up a new easily-spelled and easily-pronounced name in that category.
  4. Update the service CNAME to point to the new machine's name.

For example, Bob is building a new KDC to replace "labrador". He picks "shiba" as the hostname of the new KDC, and builds the machine. When he's done building and testing it, he looks up (in the DNS configuration) what CNAME points to "labrador.club.cc.cmu.edu". He sees that it's "kerberos-2.club.cc.cmu.edu", so he points that CNAME at "shiba.club.cc.cmu.edu"; all our servers refer to the KDCs by CNAME, so this tells every server to use "shiba.club.cc.cmu.edu" instead of "labrador.club.cc.cmu.edu". After a few days with no problems, he shuts down "labrador".

Building a new machine to provide additional capacity for some service

  1. Find the purpose of the new machine in the first column of the naming table.
  2. Observe the second column in that row.
  3. Make up a new easily-spelled and easily-pronounced name in that category.
  4. Observe the third column in that row.
  5. Create a new service CNAME with that schema and point it at the new machine's name.

For example, Alice is building a new shell machine because shell machine load has increased recently. She picks "shiba" as the hostname of the new KDC, and builds the machine. When she's done building and testing it, she looks up (in the DNS configuration) what CNAME points to "labrador.club.cc.cmu.edu". She sees that it's "kerberos-2.club.cc.cmu.edu", so she points that CNAME at "shiba.club.cc.cmu.edu"; all our servers refer to the KDCs by CNAME, so this tells every server to use "shiba.club.cc.cmu.edu" instead of "labrador.club.cc.cmu.edu". After a few days with no problems, she shuts down "labrador"; after a few more days, she removes the DNS records for "labrador".

Building a new service

Are you sure you're not just making a new machine that is providing some existing service? If you're sure, then:

  1. Add a new row to the cute naming table with the service, the category for "cute" names, and the schema for functional names.
  2. Make up a new easily-spelled and easily-pronounced name in that category.
  3. Create a new service CNAME with that schema and point it at the new machine's name.

Common Maintenance Tasks/Choosing a name for a machine (last edited 2015-02-17 15:56:44 by sbaugh@CLUB.CC.CMU.EDU)