Gentoo Archives: gentoo-soc

From: Priit Laes <plaes@×××××.org>
To: gentoo-soc <gentoo-soc@l.g.o>
Cc: leio <leio@g.o>, ferringb <ferringb@g.o>
Subject: [gentoo-soc] Project Grumpy - Final report
Date: Fri, 20 Aug 2010 11:00:45
Message-Id: 1282302026.29912.3.camel@chi
1 This is final report for Project Grumpy regarding Google Summer of Code
2
3
4 Now that the official 'Pencils Down' date has been reached, it is time to look
5 back and sum up the things that were done and what was not.
6
7 Initial plan
8 ============
9
10 The initial plan listed following deliverables:
11 * Database storage for ebuild metadata (done)
12 * Tools for gathering and managing metadata (done)
13 * Upstream information checks (mostly done)
14 * User-interface tools (mostly done)
15
16 Project evolution
17 =================
18
19 Although I had a clear plan in the beginning of the project, there were
20 several hurdles that forced me to make several big changes to the overall
21 design of the Grumpy project and for few times brought the whole project to a
22 complete halt.
23
24 As my first approach was to use MongoDB's document-oriented storage engine,
25 devs handling Gentoo's infrastructure tasks were not too happy to support
26 one more database on their machines and also my mentor and other developers
27 who were a bit more involved with the project pointed me to several failures
28 with Mongo. So eventually I went with PostgreSQL using SQLAlchemy as
29 high-level ORM acting as middle layer between database and application.
30
31 Now getting the data model and database working was tricky and I still believe
32 that there will be a lot of upcoming changes regarding the database schema.
33
34 Unimplemented features
35 ======================
36
37 The first unimplemented 'big' feature that I could not implement was the
38 '30-day stabilization checker'. This is hard to implement. Period.
39
40 Secondly, the JSON-API and commandline utils for developers. This was because
41 I got more and more stuck with my deadline and my Grumpy backend really did
42 not have required features for commandline tools until it was too late. But
43 this will be one of the first features that will be implemented post-GSoC.
44
45 I did not implement LDAP-authentication backend and simply went with JSON and
46 @gentoo.org email check. I just went with simple enough and working solution.
47
48 I also wanted to implement Tinderbox reports support, but due to two bugs I
49 ran into on my desktop machine (e1000e NIC hang (kernel) and carrier detection
50 issue (dhcpcd)), I had to drop this idea after wasting considerable amount of
51 time.
52
53 Implemented features
54 ====================
55
56 Grumpy backend that handles syncing the portage contents with database and
57 web interface on top of it. Three QA-plugins: developer and herd checker and
58 upstream version bump check plugins for packages from GNOME and PyPi.
59
60 Future plans
61 ============
62
63 I really want to get Grumpy up and running using Gentoo's infra. So far I have
64 not had much luck dealing with infra. And of course get bug #332623 solved.
65
66 And near future todo list regarding Grumpy itself:
67 * Implement tinderbox plugin which is a huge step towards better QA.
68 * CLI tools using JSON-API
69 * Improve Web UI usability
70
71
72
73 Päikest,
74 Priit :)