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
_______________________________________________ Soc-coordination mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination
