Status of Phil Release?

297 views
Skip to first unread message

Scott Medefind

unread,
Jun 4, 2013, 11:37:12 AM6/4/13
to colli...@googlegroups.com
Does anyone have any information on the release of Phil?

http://tumblr.github.io/ mentions a release date of May 31st.

Michael Schenck

unread,
Jun 4, 2013, 11:43:27 AM6/4/13
to colli...@googlegroups.com
We've had to shift gears a bit and have been working on supporting some new hardware classes.

This is still a priority on our end and there is an on-going effort to clean up the code in preparation for open-sourcing.

Out of curiosity, is there any particular functionality you are most eager to get from Phil?

Best regards,
Michael Schenck


On Tue, Jun 4, 2013 at 11:37 AM, Scott Medefind <scott.m...@opower.com> wrote:
Does anyone have any information on the release of Phil?

http://tumblr.github.io/ mentions a release date of May 31st.

--
You received this message because you are subscribed to the Google Groups "Collins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collins-sm+...@googlegroups.com.
To post to this group, send email to colli...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/collins-sm/048A5931-6069-431C-B965-017A3C90E83A%40opower.com?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Devon Peters

unread,
Jun 5, 2013, 7:31:02 PM6/5/13
to colli...@googlegroups.com
For me, what seems the most interesting about phil, is how well it might integrate with Collins.

Things like:
  • Does it use the yaml file specified in provisioner.profiles?
  • Is it just another 'provisioner.command', or is it something more?
 I haven't seen any details, so I'm mostly just curious about it at this point.

-devon

Michael Schenck

unread,
Jun 6, 2013, 12:40:46 PM6/6/13
to colli...@googlegroups.com

There's actually a third piece, a toolset for PXE boot images called Invisible Touch.

Phil is actually an acronym for PXE HTTP Interface Layer. 

Phil is designed to work with iPXE for driving boot decisions for assets life cycle steps intake, provisioning, and maintenence.

Phil renders templates for telling iPXE where to load boot images from, and provide kernel boot parameters - some of which are used for using the invisible tools bundled in boot images.  It also supplies Collins configuration to PXE booted machine.

Phil also generates anaconda configs for workflow like provisioning hosts based on their hardware profile and Collins asset attributes, RAID controller configuration, or decommissioning process.

Invisible Touch provides the framework for making a lot of these processes very modular.
I hope that helps, and definitely let me know if you want to know more.  I love talking about this stuff, and don't have a great perspective from the outside.

Has the Puppet node terminus been released?



On Wednesday, June 5, 2013 7:31:02 PM UTC-4, Devon Peters wrote:
For me, what seems the most interesting about phil, is how well it might integrate with Collins.

Things like:
  • Does it use the yaml file specified in provisioner.profiles?
  • Is it just another 'provisioner.command', or is it something more?
 I haven't seen any details, so I'm mostly just curious about it at this point.

-devon

From: Michael Schenck <msch...@gmail.com>
Reply-To: "colli...@googlegroups.com" <colli...@googlegroups.com>
Date: Tuesday, June 4, 2013 8:43 AM
To: "colli...@googlegroups.com" <colli...@googlegroups.com>
Subject: Re: [collins] Status of Phil Release?

We've had to shift gears a bit and have been working on supporting some new hardware classes.

This is still a priority on our end and there is an on-going effort to clean up the code in preparation for open-sourcing.

Out of curiosity, is there any particular functionality you are most eager to get from Phil?

Best regards,
Michael Schenck
On Tue, Jun 4, 2013 at 11:37 AM, Scott Medefind <scott.m...@opower.com> wrote:
Does anyone have any information on the release of Phil?

http://tumblr.github.io/ mentions a release date of May 31st.

--
You received this message because you are subscribed to the Google Groups "Collins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collins-sm+...@googlegroups.com.
To post to this group, send email to coll...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "Collins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collins-sm+...@googlegroups.com.
To post to this group, send email to coll...@googlegroups.com.
Message has been deleted
Message has been deleted

Chris Burroughs

unread,
Jun 6, 2013, 3:23:56 PM6/6/13
to colli...@googlegroups.com, Michael Schenck
On 06/04/2013 11:43 AM, Michael Schenck wrote:
> Out of curiosity, is there any particular functionality you are most eager
> to get from Phil?

After our intake procedure we have a bunch of assets and a spreadsheet
with some out of band info to add (static ip of the out of band
management interface, etc). We also have a script that assignes IPs,
and generated dhcp configs & dns zones.

At this point we have a buch of assets, know all about them, and have
remote ipmi ready to go. To actually provision (this is all centos if
that helps the vocabulary) a box we have a command line workflow tool
that handles interaction with collins/cobbler/chef. They steps are:
* Decide which asset I want to use and which profile it should get
* Decide on a hostname
* `add-asset` {asset-tag,cobbler-profile,hostname}. Adds a cobbler
entry for the host with the mac address pulled from collins. Status is
now Provisioning.
* `kick-now` {asset-tag} make sure cobbler netboot is enabled and
restart the server with ipmi
* `add-chef-roles`{asset-tag,roles} Use knife to add the chef roles
and run chef-client.
* `signoff` {asset-tag} Set the status in collins to Allocated.
* regenerate dns

Usually for a cluster of boxes we will make a csv with
{asset,hostname,profile,roles} prepared ahead of time. All of those
workflow commands bail if the asset is in the wrong status and general
provide carrots and sticks for keeping the status accurate.

Would I would most like out of phil (either because it does it or
because it's a useful example of working with other parts of the stack):
* Deciding on boxes and hostnames is annoying right now.
* I wish I had added a phone-home to move from Provisioning to
Provisioned. Manually checking long raid builds for failures is lame.
* A gui might be nice.
* better handling of cluster provisioning than making a spreadsheet
* A workflow for handling "un-allocating" assets
* I hear iPXE is a cooler PXE, but have not been able to find many good
examples of using it for better things
* Maybe: stop using cobbler

Joshua Hoffman

unread,
Jun 6, 2013, 7:33:01 PM6/6/13
to colli...@googlegroups.com
...phil and ipxe get together and make sweet, sweet music...

The nice thing about ipxe is that it that it is a scriptable, dynamic boot loader. More like grub (where pxelinux is more like lilo). ipxe allows us to have a very simple dhcp server configuration that almost never changes.

This is the ipxe portion of dhcpd.conf:

# If a request comes in from ipxe send the phil url
    if exists user-class and option user-class = "iPXE" {
        filename "http://A.B.C.D:8000/ipxe/${net0/mac}";
    # otherwise send the ipxe image
    } else {
        next-server W.X.Y.Z;
        filename "/ipxe/undionly.kpxe";
    }

When ipxe loads, it fetches the configuration from the url sent as <filename> from the dhcp server, replacing ${net0/mac} with the mac address of the host on which ipxe is running.

Phil is an ipxe "dispatcher" that dynamically builds an ipxe config for the requesting server based on that server's details in collins.

For example, if a server is Allocated, phil would direct it to boot the local drive. If the server is Provisioning, phil will configure ipxe to boot an install image.

Phil also generates kickstart files based on details in collins (and information it knows about our server profiles). We don't use cobbler anymore. Essentially, to provision a server we just change the state in collins and remote power cycle it.

Hopefully that gives you some ideas about what you can do with Phil.

Regards,
-Joshua

--
You received this message because you are subscribed to the Google Groups "Collins" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collins-sm+...@googlegroups.com.
To post to this group, send email to colli...@googlegroups.com.




--
Joshua Hoffman
Director of Infrastructure
Tumblr, Inc

Scott Medefind

unread,
Jun 7, 2013, 11:28:17 AM6/7/13
to colli...@googlegroups.com
We're in the process of setting up a workflow with Collins and would need to integrate it with Cobbler.

Preferably we'd like to take that time/energy and contribute it towards Phil if it was being released soon.
Similar with Invisible Touch, we have made our own version already. But it would be nice to have something with community support behind it.




Michael Schenck

unread,
Jun 11, 2013, 10:31:54 AM6/11/13
to colli...@googlegroups.com

Scott,

I think Phil and Invisible Touch would fit that need, we actually started with Cobbler and wound up creating Phil+IT.

I really hope we can make some headway in the near future, and I'll do my best to give updates as we progress. 

In the interim, having a solid Cobbler+Collins integration would probably be beneficial to a lot of people.  It would provide an easy migration for anyone who is already using Cobbler. 

So, I feel like even if you complete that around the time we get these released, it would still be incredibly worthwhile for years to come.

Best regards,
Michael Schenck

Reply all
Reply to author
Forward
0 new messages