Gentoo Archives: gentoo-qa

From: Stanislav Ochotnicky <sochotnicky@×××××.com>
To: gentoo-soc@l.g.o
Cc: gentoo-qa@l.g.o
Subject: [gentoo-qa] Re: [GSoC-status] Collagen - database schema and further changes
Date: Sat, 15 Aug 2009 21:11:02
Message-Id: 20090815211024.GG19124@w0rm.ynet.sk
1 My final (GSoC) report on collagen is here.
2
3 First, what was going on this past week...I've focused on adding
4 documentation (docstrings, comments) and a little bit of refactoring.
5 Then there were quite a few modifications to simplify installation and
6 now I can say that simple:
7
8 # python setup.py install
9
10 plus few configuration steps afterwards will do the whole installation
11 procedure. Alternatively it's possible to use bundled ebuild instead of
12 setup.py script. This was actually first time I've created setup.py
13 script and I have to admit that for simple stuff (like collagen) it's
14 quite easy to create it from scratch in a few minutes.
15
16 So to the main summary of the project, what works, what doesn't really
17 work but is planned for post-GSoC era etc etc.
18
19 We have working end-to-end system for automatic distributed
20 compilation of packages from portage tree with information stored
21 in database. Information being contents of packages or in case
22 of compilation failure build.log, environment, emerge --info and
23 application log for good measure. We were able to catch few bugs in
24 ebuilds already even with limited resources (meaning I was mostly
25 compiling in a virtualbox on one of my machines). Even if QA like
26 this was not originally the main goal of collagen, it might later turn
27 out to be exactly that. Bug hunting monster :-)
28
29 As I mentioned in last week's report web interface for this was
30 done in django and I've implemented 3 basic use-cases for showing
31 data in database. If you've worked with Django before then you know
32 it's quite easy to add more functionality.
33
34 At least one more important use-case to be implemented is "is this package
35 colliding with something else?" or even better "show me groups of packages
36 colliding with each other". Data is there, database schema is able to
37 support these use cases so this will definitely be implemented
38 (although presumably after GSoC).
39
40 This is where we come to "what now" part. Whole collagen didn't get a
41 lot of testing yet, and I'd love to try it on more than one virtualbox
42 machine. There are a lot of places where performance could be improved
43 (read: where we would not install already installed packages and such).
44 Another unimplemented idea was using remote binary hosts. However I
45 really think that this would make much more sense if it was implemented
46 together with improved binary support for portage. Then there was
47 authentication of tinderboxes to matchbox for communication between
48 them. Right now machine able to connect to matchbox server could
49 probably run python code as user running matchbox. I haven't tried, but
50 python documentation for pickle module is pretty clear about insecurity
51 of this approach (I was assured this won't be a problem after auth is
52 done though).
53
54 All in all collagen is far from being finished, polished piece of
55 software right now. But at least in my opinion it already showed that it
56 could be useful and improvements can now be done in quite modular way.
57 One exception being of course database schema, but even changes there
58 are nothing to be afraid of (I presonally tried, it's possible without
59 destroying the data :-) ). Expect few more updates on
60 soc.gentooexperimental bugtracking/documents. Then
61
62 Now let me say big thank you to my mentor weaver and the whole
63 Gentoo team. Few examples:
64 * weaver - for changing our meeting time quite a few times because of me,
65 and for the patience.
66 * zmedico - for being portage king, always ready to help out and even
67 explain 'why', not just how
68 * robbat2|na - for becoming base unit of problem solving recently.
69 * .* - for answering quite a few of my questions and giving me ideas.
70 Most of you probably never noticed that you helped me
71 (sometimes even I didn't notice at the time :-) ).
72
73 I hope I'll work with you to further improve collagen and after
74 that, other Gentoo projects. I am not going anywhere yet, as long
75 as you won't chase me away with a stick :-) For me this is not really
76 over, I'll chill out a little bit of course, but if at all possible I'd
77 like to continue contributing.
78
79 --
80 Stanislav Ochotnicky
81 Working for Gentoo Linux http://www.gentoo.org
82 Implementing Tree-wide collision checking and provided files database
83 http://soc.gentooexperimental.org/projects/show/collision-database
84 Blog: http://inputvalidation.blogspot.com/search/label/gsoc
85
86
87 jabber: sochotnicky@×××××.com
88 icq: 74274152
89 PGP: https://dl.getdropbox.com/u/165616/sochotnicky-key.asc