[Buildbot-devel] GSoC Proposal Craving Feedback: User Objects

Dustin J. Mitchell dustin at v.igoro.us
Wed Apr 6 18:22:39 UTC 2011

On Sun, Apr 3, 2011 at 3:20 PM, Derek Hurley <dzhurley at gmail.com> wrote:
> I've been talking for the past week with verm__ on irc, bouncing ideas
> around and getting feedback on some iterations of my proposal as it's
> developed. I think any feedback is good, constructive feedback, so I greatly
> appreciate any opinions/input other members of the Buildbot team have on my
> approach to User Objects:

Apologies for the delay - Mozilla had a pretty exciting weekend
planned to celebrate Firefox 4, and I was AFK for four days..

> For this project I will implement user objects to replace the current "who"
> string
> for a given Change. I'll focus on getting a basic user object running with
> git, then
> add support for web based authentication to the object. The user object will
> also
> address how to edit user data and possibly fallback to the "who" string if
> compatibility issues occur.

Sounds good.  The only think I'm missing in this description is how
this information will be persisted and edited.  Persistence will
sometimes involve a table in the Buildbot database, but many
organizations will have LDAP or another directory service that they
use for this purpose, perhaps with a complex search process.  If the
information is stored in the Buildbot database, how will users make
changes to it?

> May 15 - May 23:
>     - Implement local try server and get acquainted with Buildbot
>     - Run tests and gain understanding of "who" string

I like this quite a lot - an explicit plan for getting acquainted is good.

>     - Design User Object
>     - Address the following in design:
>         - Compatibilty (fallback methods to "who string")
>         - Flexibility (keep general for various vcs)
>         - Permission control (instances and methods)
>     - Include class methods for editing/saving object data
>     - Consider default objects

Again, this sounds too object-oriented, and perhaps this stems from
the language used on the ideas wiki page.  We are actually getting
away from using the Change class at all, preferring to access the
database directly.

>     - Integrate support for Changes objects on git
>     - Test and verify with git to get user objects created properly

Also great - getting a functional and partial implementation early in
the process is a great plan.

>     - Add support for web authentication in user objects
>     - Test and verify authentication
> July 15 - August 1:
> ### July 24 - July 31 I will be in Mongolia with a stable internet
> connection,
> ### during which time I could continue work for a few hours a day.
>     - Continue testing with metabuildbot
>     - Add support for another vcs
>     - Test and verify new vcs suport
> August 1 - August 22:
>     - Documentation and clean up code

Documentation should happen quite a bit earlier, actually.

> To address compatibility issues, there will be an option to revert to the
> "who"
> strings if a user object is not available. Testing will continue throughout
> the
> design and implementation of user objects against various versions of
> Buildbot.
> I am not sure if there are security issues that may occur, but I think the
> security
> risks of user objects are already addressed in Buildbot's lookUp. Testing
> will
> first be done locally on a try server, then integrated to Metabuildbot for
> further
> testing. Testing will also utilize various architectures via virtual machine
> buildslaves.

I'm not sure what you mean by "try server", actually -- that has a
very specific meaning in Buildbot.  Do you just mean a local
buildmaster and buildslave that you run your code on to test it out?

Your replies regarging your experience sound fine -- not quoted here.


More information about the devel mailing list