[Soc-coordination] Report 1 — Lyncee - A Debian virtual image web tool
Miguel Gaiowski
miggaiowski at gmail.com
Sat Jun 2 01:55:18 UTC 2012
First Debian Report
Project: Lyncee - A Debian virtual image web tool
The idea that was proposed [0] was to create something like Suse
Studio for Debian. With that, I spent some time using this tool to see
which features we could implement. First impression was that there
would be no way I'd be able to build something like Suse Studio. Their
tool is amazing, with tons of cool features like live testing of the
created image. It lets you boot the image in their servers and show
the machine booting and everything to you.
That being said, I had to figure out which parts were the essence of
the tool, the things I should build. Plus, I got a list of
requirements from my mentor, that I will copy here:
- Program must provide export command to create an archive (contains
scripts, files,... required for generation, extracted from db);
- Program must generate a virtual image from an archive (template,
files,...);
- Program must not allow execution of user scripts on local server,
only in chroot step;
- Program must check available space before creating image from
expected image size;
- Template must allow multiple network interface definition (static,
dhcp);
- Template must allow multiple user creation with passwords;
- Template must contain packages selection;
- Template must specify where files should be put in the image (file
location);
- Included files can be compressed files;
- Template should specify if file must be uncompressed in the image;
- Template must detail, for each file, its ownership/rights
(chmod/chown);
- Program must compress generated image as final step;
- Program could export image content/file hierarchy to an external
file, for later user analysis/check (and unit test checks);
- Program must detect image generation failure;
My mentor told me to use grml-deboostrap, which he has used in the
past and has worked well for him. So I would need to figure out how to
use it first.
I decided I'd be doing all the testing inside Virtual Machines, since
I don't want any bugs to wipe out my machine. That means I needed to
get Virtual Box and install Debian inside a VM. That was easy, I'd
done that before. The problem was that I installed Debian stable, and
grml-deboostrap was not available in the default repos. Then I tried
installing Debian testing in a VM, to get grml-deboostrap. I could not
get the testing version to install with Virtual Box. There was some
problem with actual processor instructions (or something vaguely like
that, I should have written it down). After all that trouble, I went
back to Debian stable and found a repo at grml project page [1]. I
added that repo to my apt sources and finally got grml-deboostrap to
install correctly.
I read all the documentation for grml-deboostrap here [2]. This tool
will help me *a lot*.
I started a blog, where I intend to publish the difficulties and
solutions a find during the development of this project. I will also
post these reports there (here).
Around this time, we got our project created on alioth [3]. Cool, a
git repo! I had already started a github project, just in case, but
now I'll be using alioth's.
There are some *really hard* exams coming up next week for me, and I
tried explaining to my mentor that I wouldn't be coding as much these
days. I made it clear that I will fulfill the requirements later on,
and that I just needed some time to focus on studying.
Nonetheless, I started coding last week with a set of util functions,
that will take care of creating and reading the archives. These will
have all the instructions (template, configs) to create the virtual
image and all the files (e.g., scripts that run at first boot) as
well. I've been creating unit tests as I go along, hoping that this
will make for better quality code.
Next I will be coding the backend part of the tool. That is, given an
archive, extract everything you need from it, call grml-debootstrap
accordingly, customize and return the image.
----------------------------------------------------------------------
[0] http://
wiki.debian.org/SummerOfCode2012/StudentApplications/MiguelGaiowski
[1] http://grml.org/files/
[2] http://grml.org/grml-debootstrap/
[3] https://alioth.debian.org/projects/lyncee/
----------------------------------------------------------------------
--
Miguel Fco. A. de Mattos Gaiowski
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/soc-coordination/attachments/20120601/f644e482/attachment.html>
More information about the Soc-coordination
mailing list