[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [SAGE] Naming conventions for servers, network gear, etc.



At 1:55 AM -0500 1/7/07, Rodrick Brown wrote:

>  It really depends on your definition of a long hostname? I find
>  subdomains to be really annoying in a practical sense especially in
>  environments where you can easily run into issues where you have
>  duplicate hostnames depending on your search path it can get really
>  confusing, this is very likely in larger environments. ie.
>  servera.foo1.domain.com servera.foo2.domain.com.

I guess it depends on the group that is doing the O&M for these 
machines.  But does every admin need to have full and complete access 
to every single machine?  Do you have just five admins to manage tens 
of thousands of systems, spread across the world?

Why type the thirteen character long "scsinfpladm01" each and every 
time, instead of shortening that to "padmin01" within the 
"inf.scs.example.com" domain, and the domain name portion might only 
need to be typed rarely?


RFC 1178 is old enough that they didn't really worry about always 
creating highly organized section and paragraph numbers, I guess 
because they didn't think that people would be reading and referring 
to these documents so much, and would want a quick and unambiguous 
way to refer to different parts.  And not all RFCs were 
pre-paginated, so you can't even reliably use page numbers and then 
paragraph numbers from there, or something similar.

So, I guess we have to use section and subsection names.  In the 
"Don't Do These" section, there is a short subsection entitled "Don't 
use long names."  They don't mention the fact that many OSes at the 
time had a built-in restriction of maximum hostname length of eight 
characters.  Instead, they give us the following timeless guidance:

          This is hard to quantify, but experience has shown that names
          longer than eight characters simply annoy people.

          Most systems will allow prespecified abbreviations, but why not
          choose a name that you don't have to abbreviate to begin with?
          This removes any chance of confusion.


I dunno.  Maybe us old-school vi types that value economy of typing 
over big flat namespaces are obsolete.  I mean, the economy of typing 
"creat()" over "create()" is not much, and there is enough added 
confusion, that I'm not sure it makes sense.  But "creat()" over 
"create_new_file()", that I can see.


In the "Do These" section of RFC 1178, the next-to-last subsection is 
entitled "Don't worry about reusing someone else's hostname."  Keep 
in mind that this document is old enough that many people would 
remember HOST.TXT tables, and the transition to the DNS, and 
consequently the introduction of domain names to the Internet.  Yet, 
this document already recognizes the value of not even trying to keep 
a flat namespace.


>  The OS type indication in a hostname makes automation/scripting very
>  simple across the board. I have not found a single issue with this
>  scheme over the years please enlightenment on where exactly this can
>  be problematic so far you've stated nothing but religious reasons.
>  Brad I really value your input so please don't take this response as
>  an attack in anyway I just want to see where exactly you feel this can
>  be an issue.

Why encode the OS in the name, when the OS might need to change 
overnight?  Why should the change in the OS require a change in the 
function or the name?

Does it really make a difference to the applications what OS is 
running on machine_named_fred?  If machine_named_fred_on_linux dies, 
and you end up temporarily replacing it with 
machine_named_fred_on_freebsd, and you've got lots of applications 
that would be connecting to that system, why should the hostname have 
to change just because the OS does?  Conversely, why should you have 
to continue to have an old OS encoded in the name, when the current 
OS on the box is something different?


Interestingly, this particular topic doesn't seem to be addressed by 
RFC 1178, but I was pretty sure it had been.  I had to look through 
it several times to be sure, and even now I don't quite believe it 
myself.

Of course, this issue is covered in the other reference that has been 
recommended, namely <http://www.nanog.org/mtg-0405/ringel.html>, in 
the last bullet on page 7.  However, this document also recommends 
longer names over shorter ones, too.


And this also gets back to another fundamental naming question -- do 
we name machines, or interfaces?  RFC 1178 assumes that we name only 
machines and doesn't even talk about interfaces, while Ringel clearly 
assumes that we name only interfaces and the concept of naming just 
machines is totally alien.

So, we get theme names like "tulip" or "lily" in RFC 1178 versus 
"sackler-rtr-pri-x-grafton-rtr-pri" and "anderson-rtr-pri-t-vlan80" 
with Ringel.  Nevertheless, Ringel does suggest creating CNAME 
aliases that would allow RFC 1178 style names to be used for 
occasional human convenience, while the underlying machine is 
actually named something totally different.


Personally, I think we name both types of things, and both types of 
naming conventions are useful.

If I was a network guy, where I had lots of devices each with 
potentially dozens or hundreds of interfaces, then I'd use 
Ringel-style naming.  Or, if I was managing a very large number of 
machines, either in a cluster or in a farm-like environment, then I 
would probably end up using something like Ringel -- maybe 
city-building-room-row-rack-shelf.  The latter would have worked 
pretty well at AOL, for example -- at least, for the guys who push 
the machines around and manage the physical inventory, while the 
e-mail admins could use a CNAME based system like "emoutXX" and 
"eminYY", the news admins could use something like "feedWW" and 
"readerZZ", or whatever.

But if I had a smaller shop, or didn't have to deal with a great deal 
of systems that had large numbers of interfaces, I'd most likely go 
with something much more like RFC 1178.  And I'd most definitely go 
with RFC 1178 style naming for those CNAME aliases.


In either case, I think that both documents have something useful to 
teach us about bad things you should probably avoid doing in 
selecting your naming conventions, and good things you should 
definitely consider in selecting your naming conventions, and neither 
of them is a complete stand-alone reference on this subject.

Where RFC 1178 and Ringel conflict, I guess you need to take a look 
at your particular situation and see which kind of guidance is more 
appropriate for your situation.

Otherwise, where one addresses a particular topic that the other 
doesn't, then I think I'd probably use both.

-- 
Brad Knowles, <brad@shub-internet.org>

Trend Micro has announced that they will cancel the stop.mail-abuse.org
mail forwarding service as of 15 November 2006.  If you have an old
e-mail account for me at this domain, please make sure you correct that
with the current address.