LWN.net Logo

Comments from an rPath engineer...

Comments from an rPath engineer...

Posted Aug 6, 2008 1:35 UTC (Wed) by michaelkjohnson (subscriber, #41438)
Parent article: Building custom appliance distributions with rBuilder

Thank you for this thoughtful look at rBuilder! I'll first make clear that I'm speaking on my own behalf and not as a representative of rPath, but I hope these comments are interesting and/or useful. I apologize in advance for my typically lengthy comment...

First of all, I'd like to say in particular that I think your last paragraph is spot on; we can get rid of pain regarding distribution incompatibility by making it possible to manage the whole stack intentionally. We're definitely not against compatibility between distributions. We are providing services and technology to help enable building LSB4si, and we have tried to avoid inventing new wheels when existing ones work fine. At the same time, we enable users to escape a requirement to hold to high-level compatibility; we've moved the interface lower and simpler from the developer perspective -- kernel syscall compatibility (for example, deploying on EC2) or even hypervisor compatibility (deploying on one of the many supported hypervisors).

We made rBuilder Online available as a service before we made rBuilder Appliance available for sale as a product. Recently, we have been focusing our efforts on adding some new features to rBuilder Online, so there has been some recent buzz about those new features. This is a platform that's been around and in use for several years now.

Openfiler is clearly one of the commonly-used software appliances built with rBuilder Online. However, rather than use the rPath Appliance Platform Agent (rAPA), the Conary update features were included within the pre-existing Openfiler web console. Most of the appliances do use rAPA, it's just not required and Openfiler has chosen a different path. That's fine by us.

For users interested in rAPA, I'd like to point out that any reader can try out, at no cost, a sample appliance using rAPA, and demonstrating putting custom "branding" on the appliance, by following a tour available at our web site which launches a sample appliance in EC2.

We commonly use hard drive and filesystem images (a standard feature of rBuilder Online) with KVM. Obviously, you can use qemu-img convert if you would prefer to use one of the roughly ten other image types supported by qemu (depending on how you count...) My most common use of KVM for testing involves populating qcow sparse hard drive images with "appliance ISO" CD/DVD images. These use anaconda to lay down the contents of a pre-installed tar image and then configure it, which is extremely fast; most of the time is spent in configuration, not software installation.

Regarding making source code available, that was definitely a design goal of Conary. I personally think that at least the spirit of GPL compliance isn't just about the source code being available, it's also about being able to use it. For that reason, we don't merely strongly associate binaries in a repository with the exact source used to produce the binaries. We also include the exact version of every other package required to build the package, which means in practice that we specify all the bits that need to be on the disk in order to actually build the same thing again. Furthermore, we provide as open source software and ourselves use a build tool that automates this process. We allow project owners to create complete mirrors of their software repositories (source code and binaries both), as well.

I'd like to point out that rBuilder Online is open to more than only open source or free software. Anything that is freely redistributable is allowed (whatever is accordance with our terms of service) so if you have binaries you wish to make available to the whole world without restriction, the fact that they are binaries does not per se prevent you from putting them on rBuilder Online. (With regard to source code -- a source package can contain binaries; you are not required to post your source code to post your binaries. Our source code management enables license compliance, it does not enforce source redistribution willy-nilly.)

Lastly, I'd like to mention to any reader that finds this technology intriguing, we hang out on the #conary channel on the Freenode IRC network. We're happy to answer questions.


(Log in to post comments)

Comments from an rPath engineer...

Posted Aug 7, 2008 21:21 UTC (Thu) by mdz@debian.org (subscriber, #14112) [Link]

I tried to watch the demo you linked to on the rPath website, but the Javascript it uses to
guess whether I have the Flash plugin guesses wrong.  It refuses to show me the content and
links to Adobe's download page despite having the Flash plugin installed in Firefox and
working with other sites.

It seems to work fine on Windows/IE though.

finding flash

Posted Aug 8, 2008 12:55 UTC (Fri) by michaelkjohnson (subscriber, #41438) [Link]

Thanks for letting us know!  I've forwarded this information internally at rPath.

For the record, I've only ever seen this run on Linux machines running Firefox, as far as I
recall, so it's not the case that it's broken for all Linux and/or Firefox installations.
I've seen what you describe only when running the noscript plugin (as I always do...) when I
haven't yet marked the necessary sites as allowed by noscript.

finding flash

Posted Aug 11, 2008 7:44 UTC (Mon) by mdz@debian.org (subscriber, #14112) [Link]

For the record, this has nothing to do with the noscript extension (I don't use it).  Mine is
a fairly standard Ubuntu packaged firefox with the Adobe flash plugin installed.

finding flash update

Posted Aug 8, 2008 22:19 UTC (Fri) by michaelkjohnson (subscriber, #41438) [Link]

Just a quick note: we think we know why this is happening for you, and expect our next refresh
of the tour site (I don't know exactly when that will be) to fix the problem.  There's better
flash detection javascript code out there than the older version we had deployed.  Thank you
very much for mentioning the problem!

Comments from an rPath engineer...

Posted Aug 8, 2008 3:05 UTC (Fri) by JohnNilsson (guest, #41242) [Link]

Would/will it be possible to build an appliance for special hardware such as in my case a qnap
ts-209 Pro II ? Their current "firmware" leaves much to be desired so I can see an rBuilder
based firmware being a really nice option...

Various architecture support

Posted Aug 8, 2008 13:09 UTC (Fri) by michaelkjohnson (subscriber, #41438) [Link]

We have not built support for Marvell CPUs in rPath Linux, so this would be a significant undertaking. rPath Linux currently has support only for the x86 and x86_64 instruction sets. We have demonstrated cross-compile for other architectures from time to time, but maintaining cross-builds hasn't been a business focus. An amazing member of the rBuilder community, António Meireles, has been working on cross-builds for the LSB-specified architectures, which has been working out bugs in our cross-build capability. With bugfixes, the tools rPath provides could be used to do a cross-build for Marvell CPUs, but this would be a large undertaking requiring good knowledge of cross-building and rPath's tools; it would not be a cheap and easy way to replace the firmware on your qnap unit.

Coincidentally, rPath's sysadmin just in the past few days built himself a NAS device based on an rBuilder appliance, but it was a Norco NS-520 with an Intel CPU. This significantly reduced the amount of work required...

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds