A summary of things we did, achieved, and tried at this years FAI Workshop - DeveloperWorkshopNovember2007
- 1 Introduction
- 2 Participant's summaries
- 2.1 Christoffer Kugg
- 2.2 Thomas Lange
- 2.3 Michael Tautschnig
- 2.4 Henning Sprang(lazyboy)
- 2.4.1 Discussing/Reviewing the Concept of the FAIGUI and it's frontend's design
- 2.4.2 listening to and looking at OO Perl
- 2.4.3 Working on a OO Design for the new StorageMagic
- 2.4.4 Getting the newest beta version working together with Xen network installation
- 2.4.5 Testing StorageMagic
- 2.4.6 Gentoo-Vserver installs with FAI
- 2.4.7 Finally - Future things to do
In the end, quite some people who wanted to come did not arrive at the meeting because of several troubles. So, we were only 5 persons.
We discussed many things and got some work done.
Here a summary from every particpants view:
My long term goal with my contributions to FAI is to make it easier to understand use and implement. Therefore I am devoting a big part of my time spent on FAI to implementing icons graphics and writing information text to various interfaces in FAI.
My intentions for the work meeting was to mainly work with the FAI user interface. I wanted to get input and guidelines from other FAI developers. I wanted to have a graphical template for how it the interface should look like, done by the end of the weekend. Further I wanted to have it in some way accepted by the developer(s) whom will write the back end for the same interface. I wanted to have defined what should be needed to proceed the work on a automatic host detection tool for fai. I wanted to fix at least one bug.
I managed to finish most of the templates for FAI User Interface and have got them accepted. During my upcoming evenings (after the event) I will polish them and write hint text to the interface to make it easier to understand.
I have a quite clear idea of how the client detection tool will look like and work and are now ready to start implementing parts of its functionality.
I fixed one minor bug in FAI related to licensing issues.
I also started working on a local FAI monitoring interface to be able to view a installation in a more civilised fashion than the current flashing text.
All in all I am very happy with the well spent time in Essen Linux Hotel and as usual I am very impressed by the work done by the rest of the FAI team.
Thank you FAI developers and contributors, and thanks to all sponsors whom made this happen.
Best of regards Christoffer Jerkeby
I had a list of small todo's which I mostly could finish or discuss with others. The discussion of several bugs in the BTS helped me a lot to know how to handle similar bugs in the future. I gave some hints to Michael about my coding standards for the new partition tool. I pointed Christoffer to some perl packages for rewriting my faimond that run on the local machine completely in perl (currently using ugly systme calls).
We all got good introduction to OO programming in Perl and about the Corebiz software.
There are several topic we did not work on like I expected (e.g. roadmap for lenny, wiki review, new config hierachy, squashfs for fai-cd).
I was impressed about the implementation of simple tests via hooks and the progress for StorageMagic which will be included in 3.3.
Summary: a great meeting. We should think about doing this more than once a year, even if not a lot of people can attend.
For the workshop it hoped to get the new partitioning tool ready for integration with mainline FAI. However, as software development often fails to meet the timelines, this was not fully achieved. Instead, the following advances happend:
- Mrfai had already reviewed the entire code and suggested a number of changes, primarily of cosmetic nature. During the workshop and in the week following it, these were mostly integrated, apart from splitting the larger functions into smaller pieces.
- The pretty large data structures used inside the perl scripts would call for an object oriented approach. After Ingo Wichmann's short introduction to OO perl coding, lazyb0y, michael and Ingo had an extensive discussion about viable designs following this paradigm. However, no satisfying solution has been found yet and it was agreed that the current (non-OO) design should serve as the first implementation. Later, the tool will slowly migrate to an object-oriented code base. This decision was mainly based on the idea that the user interface would not be change in such a (partial) re-implementation.
- To improve the quality of the tool and FAI in general, Sebastian proposed a regression testing suite. This is essentially a config space that has dedicated testing classes an scripts to perform checks on the installed system.
- Finally, I was decided to give the tool a new name, now calling it Storage Magic
I came to the workshop with quite a full bag of ideas and things I wanted to work on - as can be seen on the Workshop's main page.
Finally, the things I really worked on and got done, were:
Discussing/Reviewing the Concept of the FAIGUI and it's frontend's design
Kugg showed the state of hiw workings on the GUI HTML templates for the application, he got them some steps further, and we discussed some details about them.
Then, I explained all the guys the details about my concept, what I want do and how I want to it, and fromt his discussion I could work out a more clear way to go from now, which is written in the Wiki page for the GUI: GUIConcept#Planning
listening to and looking at OO Perl
Ingo gave a great introduction to OO Perl. Even if I'm still in a love-hate relationship with Perl in general, I was nearly persuaded to write the FAI GUI which is still in the planning stage, in OO Perl.
I will think about it.
After that, Ingo gave me some hints on problems which I had when trying OO Perl on my own.
Working on a OO Design for the new StorageMagic
After his OO Perl Tutorial, Ingo proposed that we sit together and work on an OO Design for storage magic. We sat together for quite some while, figured about the Data Entities the design will need, and got quite lost in the jungle of abstractions for Entities representing the various properties of a hard disk configuration.
As I did not think about how to represent a disk config in OO terms before, my main job in this process was to ask a lot of questions.
In the end, we were really a bit lost, and as we didn't see a good way out, for now, we concluded to stay with the current, non-OO Design where the data is stored in "normal" Perl data structures, and the programs are not written OO-style.
TODO: I have to upload the photo of the papers on which we painted the design!
Getting the newest beta version working together with Xen network installation
I finally got, with the help of Thomas, the things sorted out that made FAI 3.2.x beta versions break the network installation of Xen DomU's.
The results can be found in a little note(as always: it take some time to find things out, and in the end the solution is only a one-liner :) ) on Using FAI to set up XEN domains#Changes_in_3.2.X
On my way home, I also treid to test the storage magic implementation. Sadly, without success, as I was missing a package and couldn't fetch the missing thing on the train (no internet in them, here in germany), but i guess I had some input for Michael to improve the docs in the wiki about how to install and test it.
Gentoo-Vserver installs with FAI
At the last VirtualizationWorkshop at the Linuxhotel (https://wiki.villa-vogelsang.de/doku.php?id=virtualisierung:start) , I told the People from Mark5, who mainly use Gentoo on their systems, that FAI is an excellent solution fpor installing all kinds of OS.
So, they came to the workshop to talk with us about how to use FAI for their stuff. Mainly, Thomas needs to add some lines for the package manager handling in install_packages, and they need to get a base image built somehow. We showed them how FAI basically works, and they even set up a Debian system, to see FAI working in it's native environment, first (probably they will not need to work on an gentoo implementation anymore, as they will become debian addicted, soon :) ).
Finally - Future things to do
We discussed quite some things, including some bugs and how they should be handled/fixed, the idea of hacing more than one FAI Workshop a year, and others.
And I have some things on my todo list to work on:
- Upload the photos from the OO Design for storage magic
- Work on some bugs:
- Check again my XENU FAI classes for installation of Xen guests via FAI
That was it. So, we had a great and productive workshop, got some work done. Even if not everything on my plkan was achieved, we did some other interesting things in place of that.