[Buildbot-devel] Nine­: support for upgrades

vasslitvinov at pisem.net vasslitvinov at pisem.net
Wed Jan 22 10:41:01 UTC 2014

I think the solution that I'd like to have (and maybe to contribute to) is this:

1) drop all old-style classes from Nine to make it shiny-new

2) write some migration script that would rely on a fact that user can install both buildbot versions in the Python simultaneously, thus the script can load all old data using classes from Buildbot 0.8.x, then write new data using classes from Buildbot 0.9.x

That way we can have all the pluses like having 0.9.x codebase clear of old classes and still have the possibility to migrate with history retained (anyway this migration is a once-done thing, so making it a little more painful than "buildbot upgrade-master" isn't that bad given that people probably would need to do a lot more work to migrate from 0.8.x to 0.9.x than to migrate between different 0.8.x versions).

If the data protocol (i.e. all the classes that handle loading/storing) are done in Nine then I'm willing to give a helping hand to the cause.



Срд 22 Янв 2014 11:53:03 +0400, Pierre Tardy  написал:

I think a simple  approach would be to use the Json api on the old running instance. This would avoid the pain of  unpicking objects with removed classes.

As far as im concern, we ll take the 2 instances approaches during the transition.

Le 22 janv. 2014 03:17, "Dustin J. Mitchell"  a écrit :

On Tue, Jan 21, 2014 at 7:53 PM, William Deegan


> I can pretty much guarantee that a few of my clients would balk at upgrading if they lose their history.

> That said if it's important to them, then they can likely pay for my time to build the upgrade tool.

> (Would it be a nightmare to create?)

> Some of them like to keep it until they run out of disk space..

I don't think it'd be a nightmare - just kind of unspecified and

fiddly.  For example, logfiles must be unicode in nine, and they're

just bytestrings in 0.8.x, so you'll have to apply an encoding.  It's

the sort of thing that will probably be easier to get right for one or

a few case than for the general case.  So, if you did end up writing

it, it'd make a good *optional* addition to Buildbot - maybe in

contrib, or protected by some --upgrade-pickles option to `buildbot

upgrade-master`, and offering lots of "proceed with caution" warnings.



CenturyLink Cloud: The Leader in Enterprise Cloud Services.

Learn Why More Businesses Are Choosing CenturyLink Cloud For

Critical Workloads, Development Environments & Everything In Between.

Get a Quote or Start a Free Trial Today.



Buildbot-devel mailing list

Buildbot-devel at lists.sourceforge.net


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20140122/e878a127/attachment.html>

More information about the devel mailing list