[Buildbot] #3084: convert all services to BuildbotService

Buildbot trac trac at buildbot.net
Mon Dec 1 17:31:58 UTC 2014


#3084: convert all services to BuildbotService
------------------------+--------------------
Reporter:  tardyp       |       Owner:
    Type:  enhancement  |      Status:  new
Priority:  major        |   Milestone:  0.9.+
 Version:  master       |  Resolution:
Keywords:               |
------------------------+--------------------
Changes (by tardyp):

 * version:  0.8.9 => master
 * type:  undecided => enhancement
 * milestone:  undecided => 0.9.+


Old description:

> We have a bunch of services in buildbot each of them are deriving from
> different base
>
> * twisted.application.service.Service
> * twisted.application.service.MultiService
> * buildbot.util.service.AsyncService
> * buildbot.util.service.AsyncMultiService
> * buildbot.util.service.ReconfigurableServiceMixin
> * buildbot.util.service.ClusteredService
>
> Goal of this meta task is to convert all of our services to
> BuildbotService or ClusteredBuildbotService.
> This will make the code easier to understand and maintain, all our
> services will be
> - async
> - reconfigurable
> - (multi) potentially a parent
>
> The most tricky thing to do there is to move from
> reconfigService(new_config) which takes ConfigObject in argument, and
> thus configured service must know where it is configured, to a
> reconfigService(*args, **kwargs), which takes the constructor argument
> the service was configured.
>
> Some pattern have been written in BuildbotService, to handle the problem
> for user defined custom services, but this may not fit all the internal
> usecases (in buildbot everything is configured services)

New description:

 We have a bunch of services in buildbot each of them are deriving from
 different base

 * twisted.application.service.Service
 * twisted.application.service.MultiService
 * buildbot.util.service.AsyncService
 * buildbot.util.service.AsyncMultiService
 * buildbot.util.service.ReconfigurableServiceMixin
 * buildbot.util.service.ClusteredService

 Goal of this meta task is to convert all of our services to
 BuildbotService or ClusteredBuildbotService.
 This will make the code easier to understand and maintain, all our
 services will be
 - async
 - reconfigurable
 - (multi) potentially a parent

 The most tricky thing to do there is to move from
 reconfigService(new_config) which takes ConfigObject in argument, and thus
 configured service must know where it is configured, to a
 reconfigService(*args, **kwargs), which takes the constructor argument the
 service was configured.

 Some pattern have been written in BuildbotService, to handle the problem
 for user defined custom services, but this may not fit all the internal
 usecases (in buildbot everything is configured services)

 Please don't resolve this bug directly, but create subtasks

--

--
Ticket URL: <http://trac.buildbot.net/ticket/3084#comment:1>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the bugs mailing list