Server naming conventions

Print Friendly, PDF & Email

This is sort of a work in progress to find the best way to make use of the Bcfg2 GroupPatterns plugin. Some of the below is subject to change. Hopefully one day it will form part of a policy document.

History

Host naming convention is where a set formula is used to derive the name of a host based on metadata which best describes the purpose and location. A short name must be less than or equal to 8 characters whilst an optional aliased (CNAME) DNS record could be created which is easier to remember.

For physical machines we commonly use naming convention as follows:

on the 137.222.34.0/24 subnet the next available Star Wars character/place. Although, that’s been falling apart recently.

on the 137.222.16.0/24 subnet recently I’ve been using Moons/Celestial satellites, e.g. callisto, europa, etc.

Convention

A proposed convention which differs slightly in some cases to what is currently used:

((%prefix)-)%main-%suffix

((%loc|%team)-)%type(%app)-%dep(%N)

String in brackets denotes optional. Pipe “|” denotes OR.

Prefix (%prefix) of:

(%loc|%team)
  • A location for a physical server is required.
    • %loc – location (2 chars max)
    • Berkeley Square = bs
    • Computer Centre = cc
  • A team name is optional (and discouraged)
    • %team (2 chars max) = id, wf, jd

Main body (%main):

%type(%app)
  • Type is main purpose of server
    • %type (2 chars max)
      • tomcat server = tc
      • web server = w
      • zope server = z
      • package build = pb
      • Xen hypervisor = hv
      • Postgresql database server = pg
      • Mysql database server = my
  • Optionally including application specialisation.
    • %app (2 chars max)
      • PHP = ph
      • python = py
      • perl = pl
      • ganeti = gt
  • Optional architecture
    • %arch (2 chars max)
      • x86 32bit = 32
      • x86 64bit = 64
      • sparc = s

Suffix (%suffix) of:

%dep(%N)
  • deployment status
    • %dep – deployment status (2 chars max)
      • production = p
      • development = dv
      • demonstration = dm
      • training = t
      • content population = c
  • Number identifier if more than one in any of type, application and deployment status.
    • %N (2 chars max) = integer

Physical machines typically:

%loc-%type(%N)

Service machines typically:

%type(%app)-%dep(%N)

Examples

Internet Development team production zope box = id-zp

Development tomcat server = tc-dv

General usage php web server in Demonstration stage of Pilot release priority = wph-dm

What next

Some discussion of this maybe needed and testing with compatibility with the GroupPatterns plugin. Also full definition of the classes with a glossary. Perhaps a method of registering new classes. Any hostname modifications will include DNS aliasing the old name for convenience.