

Genesis – A tool for data center automation - r721
http://tumblr.github.io/genesis/

======
dalehamel
This looks like a rewrite of
[https://tumblr.github.io/collins/tools.html#it](https://tumblr.github.io/collins/tools.html#it),
which they never released.

As a shop that uses collins, we wrote our own replacement for invisible touch
called alchemy linux. The key difference here seems to be that genesis uses
scripts embedded into the image, where as alchemy gets the scripts dynamically
from its PXE server, and is more of a dumb job runner.

~~~
maddalab
You are correct in that Tumblr did not release Invisible Touch. Genesis is the
outcome of lesson learned from IT.

Genesis does not use scripts embedded into the image. In fact this was the
original design of IT and much of the reason IT was not released and Genesis
was created.

------
vezzy-fnord
So after taking a closer look, this appears to be a PXE installation and
server provisioning tool not unlike Cobbler.

The difference is that it uses YAML for configuration instead of Red Hat's
Kickstart format that also powers their Anaconda installer, is far more
minimal, and seems to be intended for configuration on a lower level than
Cobbler is typically used for.

Quickly skimming the modules, they're actually remarkably unsophisticated.
Most of it just directly shells out to programs like Dell's firmware tools, or
ntpdate (which is officially deprecated, funnily enough).

~~~
dmourati
I thought it was more like Razor from PuppetLabs.
[http://puppetlabs.com/solutions/next-generation-
provisioning](http://puppetlabs.com/solutions/next-generation-provisioning)

~~~
maddalab
Looking through the bulleted list on Razor. One use case for Genesis that
drove its development is "Auto-Discovered Real-Time Inventory Data".

Genesis tho is intended for much more. It is both a linux image, a framework
implementing a DSL which you can use to write tasks utilizing all of ruby.

Ex: Genesis allows you to configure hardware raid based on asset
policies/attributes in Collins. Would this fall into "Policy-Based
Provisioning?"

On "Open APIs and Plug-in Architecture", it is correct to state that Genesis
is built around utilizing functionality from Collins, however there aren't
specific limitation in Genesis which cannot be addressed to support other
asset management systems, tho, this isn't a priority.

On "Dynamic Image Selection", currently we have an additional internal system
that in conjunction with Collins provides support for OS versions, some
aspects of this may at a later time be introduced into Genesis.

------
contingencies
Mistitled. Looks like DC hardware inventory taking at time of ingestion, not
overall automation of DC infrastructure.

~~~
maddalab
You are correct in that one use case for Genesis is hardware inventory taking,
however Genesis is intended for use with Collins and shares aspects of
automation with Collins and Phil (internal tool not currently Open Sourced).

On the title itself, I think it is correct, tho requires more nuanced
interpretation.

