[Buildbot-devel] GSoC: provide forward compatibility for Python 3

Vasily Kuz'min vasily at freedom-web.ru
Wed Apr 1 00:30:41 UTC 2015


Can I according  GSoC rules engage in the development of programs that
affect buildbot? For example, to provide compatibility Twisted and
Python 3?

2015-03-30 19:19 GMT+03:00 Pierre Tardy <tardyp at gmail.com>:
> Another point is that pb does not have a bright future in buildbot. It is
> used for slave/master communication. We have a plan to switch to something
> more modern for slave/master communication. I have a Poc using wamp and
> crossbar.io, we could easily adapt PoC that to amqp, or amp.
>
> So for the py3k work I think we can just drop the pb part our of the
> problem. There are plenty of work apart from that.
>
> I would estimate that py3k support for twisted's pb is a full GSoC by
> itself. So this might also be a solution to share work between you guys.
>
> There are currently four py3k proposals this year, several of them looks
> good for me, but there will be only one person of the projet, this is a
> clear rule from Google.
>
> The only way we can take several student on py3k is to split the project
> into clearly separated subprojects (also, provided we have enough mentors,
> and funds from Google)
>
> I would suggest for the students to take the opportunity of this thread to
> agree on who does what
>
> Regards,
> Pierre
>
> Le lun. 30 mars 2015 à 08:46, Jørn Lomax <northlomax at gmail.com> a écrit :
>>
>> On 30.03.2015 06:16, Vasily Kuz'min wrote:
>> > In my opinion, at first it is necessary to complete 40% of the
>> > Twisted, and only then to start the main objective. On an evaluation
>> > of alternative options some time will be required
>> >
>> I think it would be more important to look at the parts of twisted that
>> buildbot relies the most on, which is the Prerspective Broker proker
>> (pb). There are some parts of twisted buildbot never uses, so I don't
>> think it should be within the scope of the project to port *all* of
>> twisted. I think that would be an entire twisted GSoC project in itself.
>>
>> Unfortunately, pb is not a part of twisted I have much experience with
>> so it's hard to say how hard it would be to port it to python3. Looking
>> briefly at the source code it looks achvievable to do as part of the
>> project, but maybe someone with more experience with the pb module have
>> a better idea exactly how much work it would take
>>
>> regards,
>> Jørn Lomax
>> > 2015-03-30 2:10 GMT+03:00 Bob Hood <bhood2 at comcast.net>:
>> >> On 3/29/2015 3:29 PM, Vasily Kuz'min wrote:
>> >>> Hi Dustin,
>> >>>
>> >>> thank you for your reply. I've uploaded my proposal as PDF to my
>> >>> server[0]
>> >>> so that people who want could have a look. I've also attached it as
>> >>> text
>> >>> file.
>> >>>
>> >>> I'm quite unsure about the timeline part, since I have to better
>> >>> understand the
>> >>> structure of the source code before I can give my time estimation. I
>> >>> think
>> >>> I'll
>> >>> have to correct it once I'll understand source code structure.
>> >>>
>> >>> As for Twisted, it seems that they mention several issues on the
>> >>> corresponding
>> >>> web page[0]. I doubt that's all that we should care about: milestone
>> >>> for
>> >>> Py3K
>> >>> shows that Twisted is only 60% ready[2]. I think it means that we may
>> >>> face
>> >>> other problems except those listed. I don't think that will be a real
>> >>> problem
>> >>> though; moreover, I tend to think that means I can help both buildbot
>> >>> and
>> >>> Twisted.
>> >>>
>> >>> Generally speaking, we have two ways: create various work-arounds for
>> >>> buildbot
>> >>> or correct these issues in Twisted directly. The first is faster but I
>> >>> think
>> >>> it is incorrect, because it'll introduce backward incompatibilities
>> >>> later
>> >>> when
>> >>> Twisted will get updated its APIs. What I really think about is to
>> >>> collaborate
>> >>> with Twisted guys. I tend to think that the second way is better, but
>> >>> of
>> >>> course
>> >>> we shall concentrate on things related to buildbot. However, I'd like
>> >>> to
>> >>> know
>> >>> your opinions.
>> >>>
>> >>> [0] http://derzsky.freedom-web.ru/proposal.pdf
>> >>> [1] https://twistedmatrix.com/documents/14.0.0/core/howto/python3.html
>> >>> [2] https://twistedmatrix.com/trac/milestone/Python-3.x
>> >>
>> >> Hello, Vasily!  Thanks for your proposal.
>> >>
>> >> I'm a bit concerned about the Twisted framework. Being 60% done means
>> >> it's
>> >> 40% incomplete, and that is a large risk to your success.  As you've
>> >> pointed
>> >> out, working on Twisted yourself is certainly one option, but that then
>> >> takes time away from your focus on Buildbot.  A completed Twisted
>> >> framework
>> >> for Python 3.0 is a dependency to successfully completing your
>> >> proposal, and
>> >> on that page you provide, it actually says "No date set" for
>> >> completion.
>> >>
>> >> In light of all this (which would be setting off alarms and Big Red
>> >> Flags to
>> >> a project manager), have you given any thought to alternatives?  I
>> >> recall
>> >> reading about 'asyncio' being a viable alterntive to Twisted in Python
>> >> v3.
>> >> Do you think it would be wise to have a "plan b" available in case
>> >> Twisted
>> >> is not fully ported to Python v3 by the time your project needs to
>> >> complete?
>> >> I'm not saying Dustin would accept that ( ;) ), but it would show
>> >> recognition of that dependency and its risk to successful completion.
>> >>
>> >> Also, the schedule you include in your proposal could probably benefit
>> >> from
>> >> some additional detail.  Having a four-month block that only says
>> >> "Reimplementing the core functionality" is quite nebulous and doesn't
>> >> really
>> >> offer anything from which a metric of task success can be measured.  I
>> >> understand that you are not really familiar with the Buildbot code
>> >> base, but
>> >> I'm sure there must be some higher-level tasks that could be listed
>> >> with
>> >> time estimates, e.g.: "Familiarize myself with Buildbot's design - 1
>> >> week";
>> >> "Evaluate 'asyncio' as an alternative to the Twisted framework - 1
>> >> week";
>> >> etc.  There needs to be goals and milestones so the health of your
>> >> progress
>> >> on the task can be monitored.
>> >
>> >
>> >
>> >
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub for
>> all
>> things parallel software development, from weekly thought leadership blogs
>> to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel



-- 
С УВАЖЕНИЕМ, ВАСИЛИЙ КУЗЬМИН

Телефон:      +7 (999) 988-00-85
E-mail:           vasily at freedom-web.ru




More information about the devel mailing list