Opened 5 years ago

Last modified 4 years ago

#2558 new defect

regression: sequence of builders in waterfall and builders list is scrambled and can not be configured

Reported by: aton Owned by:
Priority: major Milestone: 0.9.+
Version: 0.8.6p1 Keywords: webstatus, database, sprint
Cc: twm@…

Description

In older releases the sequence of the builders in waterfall was configured by the sequence in master.cfg.

In this way the sequence was under control of the admin of the master. Now it is sorted by name. But sometimes this is not the intension of the admin.

It should be configurable if the sequence of the master.cfg is used or if it is sorted by name.

Attachments (1)

bug2558_waterfall.py (630 bytes) - added by cyrilj 4 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 5 years ago by aton

  • Summary changed from list of builders in waterfall and builders list should be configurable to sequence of builders in waterfall and builders list should be configurable

comment:2 Changed 5 years ago by aton

  • Keywords web added

comment:3 Changed 5 years ago by dustin

  • Keywords database sprint added
  • Milestone changed from undecided to 0.9.+
  • Type changed from undecided to enhancement

This was a frequent complaint, although I can't find an actual bug on the topic.

The truth is, the earlier order was only stable if you never added or removed builders during reconfiguration. The new order is stable.

The easy solution for users is to prefix builders with something to enforce the ordering - 01-foo, 02-bar, etc.

As we enter the multi-master, shared world of nine, the order in the master doesn't have a meaning anymore: the set of builders is configured across all masters, possibly in different orders or with some builders only on some masters.

Perhaps the best solution within the Buildbot codebase is to add a "display_order" integer for each builder, and then sort builders by (display_order, name). I'll leave this bug open for someone to implement such a thing.

comment:4 Changed 4 years ago by dchichkov

This is a bug. And perhaps the best solution is to restore previous behaviour. That is restore the natural sequence of the builders in waterfall. This behaviour was intuitive and was working well for thousands of users for about a decade. I do not see any reasons why it should have been changed.

The argument of 'multi-master' is a rather weak argument as a multi-master configuration is/[& will be] used by only a few users in the world, while a simple, single masted configuration is already being used by thousands. And scrambling that display order creates an issue for all these users. A hotfix of adding '00-', '01-' etc. is ridiculous; it kills build history, displays internal bowls to users and just a bad style. Adding a "display_order" parameter also a bit redundant and have that non-pythonic feel, but at least an acceptable solution.

Again, previous behaviour was intuitive and was working well for thousands of users for about a decade. I do not see any reasons why it should be changed.

comment:5 Changed 4 years ago by dchichkov

  • Type changed from enhancement to defect
  • Version changed from 0.8.8 to 0.8.6p1

Changing from an enhancement to defect in 0.8.6p1, as it applies to that version and affects a large number of users.

comment:6 Changed 4 years ago by dchichkov

  • Summary changed from sequence of builders in waterfall and builders list should be configurable to regression: sequence of builders in waterfall and builders list is scrambled and can not be configured

comment:7 Changed 4 years ago by dustin

You sound very motivated - are you willing to take a crack at the display_order suggestion in comment 3? You could probably make the default display_order follow the order in the configuration file, which should roughly replicate the older behavior.

Multi-master isn't an add-on feature -- it's core to the design of Buildbot nine, and will be used even for simple installs in order to do graceful restarts.

comment:8 Changed 4 years ago by twm

  • Cc twm@… added

comment:9 Changed 4 years ago by dustin

This sorting can now be done on the client side, either with a display_order field that comes from the DB, or with a custom JS function.

comment:10 Changed 4 years ago by tardyp

  • Keywords webstatus added; web removed

Changed 4 years ago by cyrilj

comment:11 Changed 4 years ago by cyrilj

As a workaround, we added a category to our builders and patched buildbot.status.master.Status.getBuilderNames to sort the builders by category first then by builder.

Note: See TracTickets for help on using tickets.