[Buildbot] #2622: Better property support (was: [nine] More Properties)

Buildbot trac trac at buildbot.net
Sat Feb 7 20:57:15 UTC 2015


#2622: Better property support
------------------------+--------------------
Reporter:  dustin       |       Owner:
    Type:  enhancement  |      Status:  new
Priority:  major        |   Milestone:  0.9.0
 Version:               |  Resolution:
Keywords:  simple       |
------------------------+--------------------

Comment (by dustin):

 Properties come from (from the docs):

  * global configuration
  * schedulers (including dynamic values from the force scheduler)
  * changes (assigned by the !ChangeSource)
  * buildslave configuration
  * built-in per-build properties
  * builder config
  * previous steps

 Tracing that through the process until a step starts:

  * A changesource creates a change and writes it to the DB
  * A scheduler reacts, creates a buildset and some buildrequests, and
 writes them to the DB -- with properties including those from the change.
 The properties are associated with the buildset, not the build requests
  * A builder claims the buildrequest, selects a buildslave, and starts a
 build.  The build's initial properties are a combination of global
 configuration, buildset properties, buildslave properties, the builder's
 config, and built-in per-build properties.
  * As the build proceeds steps update the properties.

 The properties land in the database in a few places:

  * `change_properties` -- properties for a change, created with the change
  * `buildset_properties` -- properties for a buildset, created with the
 buildset
  * `build_properties` -- properties for a single build; these are updated
 as necessary after each step

 Note that there's some handling for properties "original" to a build, vs.
 properties as they stand at the end of the build.

 All of this is in place in the database layer, and already broken out per
 property -- so it's not difficult to query the DB for, say, all builds
 with got_revision=1234.

 But the Data API support lacks somewhat -- not all of these property sets
 are available at all via the Data API, and there are no messages when
 properties change.  There's also no capability to query by properties.

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


More information about the bugs mailing list