Announcing Razor

30 views
Skip to first unread message

James Turnbull

unread,
May 23, 2012, 8:10:14 PM5/23/12
to puppet-users, puppet-dev, puppet-announce
Puppet Labs is really thrilled to announce, in conjunction with EMC, our
new open source bare metal provisioning tool: Razor.

Razor is next generation provisioning software that handles bare metal
hardware and virtual server provisioning with inventory discovery and
tagging, rule-based policy management, and extensible broker plugin
integration. It integrates closely with Puppet and Facter.

The full announcement and a module to install it is on the Puppet Labs
blog:

http://puppetlabs.com/blog/puppet-razor-module/

This excellent post from Nick Weaver, the EMC guy behind the original
idea, takes you through the history, background and workflow of Razor:

http://nickapedia.com/2012/05/21/lex-parsimoniae-cloud-provisioning-with-a-razor/

And finally - being open source - you can find the code at:

https://github.com/puppetlabs/Razor

Regards

James Turnbull

--
James Turnbull
Puppet Labs
1-503-734-8571
To schedule a meeting with me: http://tungle.me/jamtur01

Russell Jackson

unread,
May 24, 2012, 12:53:21 AM5/24/12
to puppet...@googlegroups.com, James Turnbull, puppet-dev, puppet-announce
On 05/23/2012 05:10 PM, James Turnbull wrote:
> Puppet Labs is really thrilled to announce, in conjunction with EMC, our
> new open source bare metal provisioning tool: Razor.
>
> Razor is next generation provisioning software that handles bare metal
> hardware and virtual server provisioning with inventory discovery and
> tagging, rule-based policy management, and extensible broker plugin
> integration. It integrates closely with Puppet and Facter.
>
> The full announcement and a module to install it is on the Puppet Labs
> blog:
>
> http://puppetlabs.com/blog/puppet-razor-module/
>
> This excellent post from Nick Weaver, the EMC guy behind the original
> idea, takes you through the history, background and workflow of Razor:
>
> http://nickapedia.com/2012/05/21/lex-parsimoniae-cloud-provisioning-with-a-razor/
>
> And finally - being open source - you can find the code at:
>
> https://github.com/puppetlabs/Razor
>
> Regards
>
> James Turnbull
>

I take it the actual "microkernel" isn't open source? All I can find is a ISO image.

--
Russell A. Jackson <r...@csub.edu>
Network Analyst
California State University, Bakersfield

Michael Stahnke

unread,
May 24, 2012, 2:03:47 AM5/24/12
to puppe...@googlegroups.com
The kernel is open source, I think it's just reusing something based
on busybox, and possible right off the busybox website. I'll find out
for sure and get a pointer to that source code. We certainly are not
trying to hide it.
>
> --
> Russell A. Jackson <r...@csub.edu>
> Network Analyst
> California State University, Bakersfield
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To post to this group, send email to puppe...@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-dev+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-dev?hl=en.
>

Stephen Johnson

unread,
May 24, 2012, 5:16:45 AM5/24/12
to puppe...@googlegroups.com
From what i can tell its basically a hacked version of tinycore with a
few ruby scripts and gems laid on top.

James Turnbull

unread,
May 24, 2012, 5:19:25 AM5/24/12
to puppe...@googlegroups.com
Stephen Johnson wrote:
> From what i can tell its basically a hacked version of tinycore with a
> few ruby scripts and gems laid on top.
>

It's a big more sophisticated than that IMHO :) The policy and state are
particularly exciting to me.

Stephen Johnson

unread,
May 24, 2012, 5:22:25 AM5/24/12
to puppe...@googlegroups.com
I'm just referring the the microkernel, not the service. The service
and functionality is amazing, but the microkernel part I'm just trying
to reverse engineer. Due to the lack of a formal source dump of this.

James Turnbull

unread,
May 24, 2012, 5:27:24 AM5/24/12
to puppe...@googlegroups.com
Stephen Johnson wrote:
> I'm just referring the the microkernel, not the service. The service
> and functionality is amazing, but the microkernel part I'm just trying
> to reverse engineer. Due to the lack of a formal source dump of this.

Ah! According to Mike the kernel is open source and is just reusing
something based on busybox. He's going to source the code and make sure
it's published too. We're not trying to hide - it just slipped through
the cracks I think. :)

James

Stephen Johnson

unread,
May 24, 2012, 5:36:37 AM5/24/12
to puppe...@googlegroups.com
Just working out all it all sticks together, as i have a few good
ideas (well i think they are) that i want to implement. Looks to be
based on tinycore linux using the tcz package format to deploy all the
binaries. Then fires up a few ruby services that are actually used to
run installs etc. Looking forward to being able to push a few changes
once the repo is up.

Thanks

Ashley Penney

unread,
May 24, 2012, 8:44:29 AM5/24/12
to puppe...@googlegroups.com
My only question is:  Does this really need Ruby 1.9?  As a Redhat user I firmly live years in the past, lumbered with ancient versions of everything we use in our toolchain.  The module appears to only support Ubuntu in the first place but it doesn't look easily portable with the references to Ruby 1.9.  If so we'll be unable to move to Razor, which is a shame because it looks -awesome-.  Maybe when it makes it to a PE release we can use it. :)

Michael Stahnke

unread,
May 24, 2012, 11:17:59 AM5/24/12
to puppe...@googlegroups.com
On Thu, May 24, 2012 at 5:44 AM, Ashley Penney <ape...@gmail.com> wrote:
> My only question is:  Does this really need Ruby 1.9?  As a Redhat user I
> firmly live years in the past, lumbered with ancient versions of everything
> we use in our toolchain.  The module appears to only support Ubuntu in the
> first place but it doesn't look easily portable with the references to Ruby
> 1.9.  If so we'll be unable to move to Razor, which is a shame because it
> looks -awesome-.  Maybe when it makes it to a PE release we can use it. :)
>
It's Ruby 1.9 right now. In some very small discussions we've had, I
think porting to 1.8.7 is something will be attempting to undertake,
but it hasn't been officially placed on the roadmap, that I know of
yet. I know a few devs have mentioned it probably wouldn't be too bad
to fix up. So, keep your eyes on the project and hopefully we'll be
having 1.8.7 support. I won't promise it, but we will certainly
communicate out if it can't happen for some reason.

Mike

Nan Liu

unread,
May 24, 2012, 12:38:34 PM5/24/12
to puppe...@googlegroups.com
On Thu, May 24, 2012 at 8:17 AM, Michael Stahnke <sta...@puppetlabs.com> wrote:
> On Thu, May 24, 2012 at 5:44 AM, Ashley Penney <ape...@gmail.com> wrote:
>> My only question is:  Does this really need Ruby 1.9?  As a Redhat user I
>> firmly live years in the past, lumbered with ancient versions of everything
>> we use in our toolchain.  The module appears to only support Ubuntu in the
>> first place but it doesn't look easily portable with the references to Ruby
>> 1.9.  If so we'll be unable to move to Razor, which is a shame because it
>> looks -awesome-.  Maybe when it makes it to a PE release we can use it. :)
>>
> It's Ruby 1.9 right now.  In some very small discussions we've had, I
> think porting to 1.8.7 is something will be attempting to undertake,
> but it hasn't been officially placed on the roadmap, that I know of
> yet.  I know a few devs have mentioned it probably wouldn't be too bad
> to fix up.  So, keep your eyes on the project and hopefully we'll be
> having 1.8.7 support.  I won't promise it, but we will certainly
> communicate out if it can't happen for some reason.

In terms of porting to 1.8.7, there's a few lines of Ruby 1.9 regex
syntax issues. All the ruby gem dependencies exist in Ruby 1.8.7. The
problem is we don't know for sure what are all the gotchas without
further testing. I certainly would not be opposed if someone wants to
take a shot and report back any issues. You can use the puppet module
to install all the components and run update-alternatives and switch
back to 1.8.7 on Ubuntu.

Thanks,

Nan

Tom McSweeney

unread,
May 24, 2012, 5:27:20 PM5/24/12
to Puppet Developers
The Microkernel is based on TinyCore Linux, but we've pre-installed a
number of standard TCL extensions as part of the ISO so that they will
be available when the ISO boots (ruby, bash, dmidecode, lshw, and
scsci-3.0.21-tinycore) rather than having to pull them and install
them on every boot. We've also add a number of Ruby scripts and
objects of our own creation (the Razor Microkernel code, if you want
to think of it that way), and we've modified some of the
initialization scripts a few of the kernel services. All of our
changes are in a GitHub project, but we haven't included them as part
of the Razor project because we're still trying to figure out the
best way to enable users to build their own TCL ISOs from that "source
code" (and any modifications they might make to it).

The process of taking this source code and using it to build a new ISO
isn't any easier than it is to build any other ISO, and in some cases
it might be a bit harder because of the way that TCL works (they try
to compress everything then can down as small as possible). I'll work
with Nan to try to put together a blog post (mine or his) that
describes how the Microkernel works, what it does, what makes it
different from a "standard" TCL ISO, and (if I can sort it out), how
to build your own ISO from scratch. I'll also work with Nan to figure
out how best to make this "source" available as part of the Razor
project (right now we can make it available as a snapshot in the
Downloads tab, but that's not really satisfactory to me).

Hopefully that clarifies things a bit.

Cheers,

Tom
Reply all
Reply to author
Forward
0 new messages