<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jordan Rinke &#187; OpenStack</title>
	<atom:link href="http://www.jordanrinke.com/category/work/openstack/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jordanrinke.com</link>
	<description>Rants, revelations and other absurdities</description>
	<lastBuildDate>Mon, 06 May 2013 23:07:40 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Based36 naming scheme for OpenStack servers</title>
		<link>http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/</link>
		<comments>http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 23:05:04 +0000</pubDate>
		<dc:creator>JordanRinke</dc:creator>
				<category><![CDATA[OpenStack]]></category>

		<guid isPermaLink="false">http://www.jordanrinke.com/?p=88</guid>
		<description><![CDATA[So, I am looking at doing large scale OpenStack deployments, one of the concerns with that is a naming format. Initially I was thinking something like &#8220;nn&#8221; for nova node and &#8220;nc&#8221; for nova controller etc. My large scale enterprise experience told me that would quickly become a horrible idea, especially considering the various ways&#8230; <a href="http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So, I am looking at doing large scale OpenStack deployments, one of the concerns with that is a naming format. Initially I was thinking something like &#8220;nn&#8221; for nova node and &#8220;nc&#8221; for nova controller etc. My large scale enterprise experience told me that would quickly become a horrible idea, especially considering the various ways that people are going to deploy this. With some thought and help from various colleagues I have come up with the following naming format&#8230; let me know your thoughts&#8230;</p>
<p>Naming format XXXXXXXYYYYZZZZ<br />
All Base36 &#8211; XXXXXXX=Coded service list, YYYY=Cluster#, ZZZZ=Unit#<br />
This gives 31 service bits, 1 Million cluster #s, and 1 Million unit #s<br />
This creates a 15char unit name, the maximum allowed for MS NetBIOS names (although primarily *nix right now, we have to account for future growth into the Windows space)</p>
<p><code><br />
From Right to left, binary to based36<br />
000000000000000000000000000000000000 = 7char base36 XXXX from above.<br />
|||||||||||||||||||||||||||||||||||'-Nova-API<br />
||||||||||||||||||||||||||||||||||'-Nova-Compute<br />
|||||||||||||||||||||||||||||||||'-Nova-Network<br />
||||||||||||||||||||||||||||||||'-Nova-ObjectStore<br />
|||||||||||||||||||||||||||||||'-Nova-Scheduler<br />
||||||||||||||||||||||||||||||'-Nova-Volume<br />
|||||||||||||||||||||||||||||'-Swift-Account<br />
||||||||||||||||||||||||||||'-Swift-Auth<br />
|||||||||||||||||||||||||||'-Swift-Container<br />
||||||||||||||||||||||||||'-Swift-Object<br />
|||||||||||||||||||||||||'-Swift-Proxy<br />
||||||||||||||||||||||||'-Glance-API<br />
|||||||||||||||||||||||'-Glance-Registry<br />
||||||||||||||||||||||'-Future-Use<br />
|||||||||||||||||||||'-Future-Use<br />
||||||||||||||||||||'-Future-Use<br />
|||||||||||||||||||'-Future-Use<br />
||||||||||||||||||'-Future-Use<br />
|||||||||||||||||'-Future-Use<br />
||||||||||||||||'-Future-Use<br />
|||||||||||||||'-Future-Use<br />
||||||||||||||'-Future-Use<br />
|||||||||||||'-Future-Use<br />
||||||||||||'-Future-Use<br />
|||||||||||'-Future-Use<br />
||||||||||'-Future-Use<br />
|||||||||'-Future-Use<br />
||||||||'-Future-Use<br />
|||||||'-Future-Use<br />
||||||'-Future-Use<br />
|||||'-Future-Use<br />
||||'-Future-Use<br />
|||'-Future-Use<br />
||'-Future-Use<br />
|'-Future-Use<br />
'-Future-Use<br />
</code></p>
<p><code> </code></p>
<p><code>Common Examples:<br />
All Nova = 000001R<br />
All Swift = 00001J4<br />
All Glance = 00004QO<br />
Nova+Swift = 00001KV<br />
Swift+Glance = 000069S<br />
All current = 00006BJ<br />
All current &amp; future = VKHSVLR</code></p>
<p><code> </code></p>
<p><code>A full example of a machine running Nova and Swift, in the 1,002 cluster, unit number 12,643 (assuming this is the biggest cluster ever heh) would be...<br />
00001KV00RU09R7<br />
</code></p>
<p>There are some variations possible, we could do XX</p>
<p>In theory this naming scheme would not need to be changed for a number of years. It also allows you to at a glance understand a servers original purpose or analyze a large scale implementation without requiring auditing or configuration databases. The obvious downside is that changing the services on a box would require a name change although in large systems usually service changes would use a migration box and the naming could be done there. The size of the name is a concern for ops people as well but I would expect copy/paste to be utilized from alerting/tickets etc. This is just an idea now that I will most likely start building installation process/automation around so any thoughts?</p>
<p>Note: These unit names should be auto generated through various setup utilities, anyone doing an install by hand probably wouldn&#8217;t need a naming scheme with large scale design, although I would highly recommend it if possible.</p>
<p>If you would like to comment please visit my blog directly <a title="http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/" href="http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/">http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/</a> ping me on twitter <a title="http://www.twitter.com/JordanRinke" href="http://www.twitter.com/JordanRinke">http://www.twitter.com/JordanRinke</a> or find me on IRC on #OpenStack</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jordanrinke.com/2011/01/05/based36-naming-scheme-for-openstack-servers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
