log bitten/master.py @ 872:f320205ca1f9

age author description
Tue, 19 Oct 2010 20:55:13 +0000 osimons Ensure that master only sends utf-8 bodies (especially errors are prone to contain strings of unknown origin, potentially unicode).
Sun, 10 Oct 2010 20:20:37 +0000 osimons 0.6dev: Merged [912:913] from trunk. 0.6.x
Sun, 10 Oct 2010 20:18:53 +0000 osimons Slave attachment support via `<attach />` is totally redone to use multi-part form post instead of inlining it in the XML (ie. like a web file upload form). For larger binaries the previous inlining would effectively be an internal denial-of-service attack...
Wed, 06 Oct 2010 09:51:06 +0000 osimons 0.6dev: Merged [910] from trunk. 0.6.x
Wed, 06 Oct 2010 09:49:05 +0000 osimons Updated copyright to 2010.
Tue, 21 Sep 2010 00:47:43 +0000 wbell 0.6dev: Merged [903] from trunk. 0.6.x
Tue, 21 Sep 2010 00:43:18 +0000 wbell Stop sending the 'Location' header on keepalive responses, which is against the http spec and confuses some proxies.
Thu, 26 Aug 2010 23:23:43 +0000 osimons 0.6dev: Merged [884] from trunk 0.6.x
Thu, 26 Aug 2010 23:20:35 +0000 osimons Improved documentation for the quick-status in navigation. See performance discussion at #536.
Thu, 26 Aug 2010 22:52:47 +0000 osimons 0.6dev: Merged [882] from trunk. Basic Trac 0.12 support. 0.6.x
Thu, 26 Aug 2010 22:48:37 +0000 osimons Basic Trac 0.12 support, supporting just a `(default)` repository - essentially Trac 0.11 behaviour. Thanks to those that have contributed to #480 to get this working and tested.
Thu, 29 Apr 2010 18:19:48 +0000 wbell Port of [864] to 0.6.x 0.6.x
Thu, 29 Apr 2010 18:17:05 +0000 wbell Adding keepalives to the bitten client/server protocol.
Sat, 24 Apr 2010 15:16:12 +0000 wbell Port of [638], [639], [640] to 0.6.x 0.6.x
Sat, 24 Apr 2010 15:11:23 +0000 wbell Add new last_activity field to build. I considered reusing stopped, but this seemed cleaner and more obvious, which seems like the right way to go.
Sat, 24 Apr 2010 15:03:56 +0000 wbell Master now creates next step as in progress when the previous step is complete. While a build is running, the currently running build step now shows up in the ui as in-progress with an updating duration, which makes it much easier to figure out what's going on or if a build is hanging.
Sat, 24 Apr 2010 14:30:06 +0000 wbell Port of [836] to 0.6.x 0.6.x
Sat, 24 Apr 2010 14:28:41 +0000 wbell Make all times be generated by the server. This eliminates a number of inconsistencies you'll see when the clocks on the slaves are skewed from the master.
Sat, 24 Apr 2010 13:38:25 +0000 wbell Merge of [832] from trunk. 0.6.x
Sat, 24 Apr 2010 13:37:26 +0000 wbell Adding the ability to modify the default ''onerror'' property in the ''<build>'' element. If not specified, the behavior is unchanged; by default any step failure will result in the build failing and stopping.
Thu, 22 Apr 2010 22:24:47 +0000 hodgestar Merge [821,822,823,824,825,826] from trunk. Thanks Walter\! 0.6.x
Thu, 22 Apr 2010 01:50:34 +0000 wbell Missing the actual goal of previous checkin.
Thu, 22 Apr 2010 01:46:25 +0000 wbell Delete attachments when builds are cancelled/invalidated.
Wed, 25 Nov 2009 08:12:04 +0000 osimons Add a `referer=` argument when logging in, and redirect to a Bitten URL so that slave doesn't need non-build permissions. Closes #459.
Fri, 16 Oct 2009 16:36:23 +0000 osimons Set the `'Content-Length'` header on master-slave communication. Needed to be http/1.1 compatible. Fixes #475.
Tue, 25 Aug 2009 09:09:26 +0000 osimons 0.6dev: Moved a constant declaration so that master should still work with Python 2.4. Updated docs with regards to Python requirements + added a changelog message from cmlenz.
Mon, 24 Aug 2009 22:41:08 +0000 osimons 0.6dev: Switching to use the new cookie-support, and using trac auth/session ID as unique identification for linking builds with slaves. This overcomes problems with IP address not being unique behind NAT, and also where IP address may change during a build. Closes #421.
Mon, 24 Aug 2009 12:00:43 +0000 osimons 0.6dev: Switching `master.py` to use new `self._send_response()` and `self._send_error() methods. Simplifies code, but most importantly for errors it allows a consistent method for transmitting plain-text error messages to the slave (that the slave will now output as part of debug logging).
Tue, 11 Aug 2009 23:57:57 +0000 osimons 0.6dev: Cleaning all usage of tabs (replaced with spaces).
Tue, 11 Aug 2009 22:47:55 +0000 osimons 0.6dev: Adding support for attachments to configurations and build - full web implementation that mirrors what is available in Ticket and Wiki. Also added a new generic `<attach/>` command that enables attaching files to be part of a recipe and uploaded by slaves as part of build.
Sat, 01 Aug 2009 01:56:14 +0000 osimons 0.6dev: Adding `${name}` and `${basedir}` (#325) for recipe substitution. Updated docs + new test.
Tue, 07 Jul 2009 22:10:19 +0000 osimons 0.6dev: The `logs_dir` option is not a real `PathOption` as for that it would need to support config-relative path with possibly chained configs following trac:ticket:8358 (for 0.11.5). The fix just makes it a regular `Option` to keep current behaviour for all Trac 0.11+ versions.
Sun, 05 Jul 2009 11:23:22 +0000 osimons 0.6dev: Adding Bitten version info to About Trac.
Mon, 11 May 2009 09:26:10 +0000 dfraser Alter the appearance of the ''Build Status'' button, to show the current build status [eblot] - fixes #373
Wed, 08 Apr 2009 05:16:55 +0000 dfraser Supply the target platform as a variable `platform` for build recipes, and adjust test accordingly - fixes #376
Mon, 23 Mar 2009 19:19:17 +0000 wbell Small documentation fixes.
Fri, 13 Mar 2009 08:52:47 +0000 dfraser Switch to storing log messages in files rather than in database rows:
Tue, 08 Jul 2008 15:17:16 +0000 cmlenz Apply patch by Emmanuel Blot to allow a single slave to connect to multiple masters. Closes #271.
Tue, 08 Jul 2008 09:58:55 +0000 cmlenz Log errors when build master encounters an XML parse error.
Thu, 13 Mar 2008 23:24:32 +0000 wbell Don't accept build step results for invalidated builds or from the wrong slave. Remerge of [520] with fixed tests and new functional tests.
Thu, 13 Mar 2008 02:45:15 +0000 wbell Reverting part of [520] until I make the tests work properly.
Wed, 05 Mar 2008 20:09:58 +0000 wbell Only accept build results from the slave that's supposed to be processing this build. Additional logging.
Tue, 23 Oct 2007 16:23:52 +0000 cmlenz Add stabilization time parameter to build master. Closes #189. Many thanks to Allen Bierbaum for the patch.
Tue, 23 Oct 2007 15:36:06 +0000 cmlenz Applied patch to #188 for stable/configurable names of build directories. Thanks to Allen Bierbaum for the patch.
Mon, 24 Sep 2007 15:30:29 +0000 cmlenz Make slave names available for use in target platform rules, and added some documentation to the admin panel. Closes #190.
Wed, 19 Sep 2007 09:35:20 +0000 cmlenz Clarify `last_step` logic in master.
Wed, 19 Sep 2007 09:32:18 +0000 cmlenz Fix build listener invocation.
Thu, 23 Aug 2007 16:58:37 +0000 cmlenz Another minor improvement to logging in the build master.
Fri, 17 Aug 2007 10:43:09 +0000 cmlenz Finish the move of build configuration management into the admin interface.
Wed, 15 Aug 2007 13:44:49 +0000 cmlenz Started some tests for the new admin interface.
Sun, 12 Aug 2007 21:46:48 +0000 cmlenz Applied patch by Sam Steele for #167.
Wed, 08 Aug 2007 17:53:18 +0000 cmlenz Slaves now attempt to explicitly cancel builds when they are interrupted.
Wed, 08 Aug 2007 13:55:13 +0000 cmlenz Fix resetting of builds when multiple slaves are building simultaneously, and implement the `slave_timeout` trac.ini option.
Tue, 07 Aug 2007 11:29:11 +0000 cmlenz Use reStructuredText as the API documentation syntax.
Tue, 07 Aug 2007 09:49:08 +0000 cmlenz More restructuring: got rid of the `trac_ext` subpackage, which makes no sense now that the master is also coupled to Trac.
Tue, 07 Aug 2007 08:58:38 +0000 cmlenz Update file headers and other stuff pointing to the old home.
Fri, 03 Aug 2007 14:44:29 +0000 cmlenz Switch to urllib2 in slave so that we can support basic and digest authentication.
Fri, 03 Aug 2007 13:29:05 +0000 cmlenz Use POST for submitting step results, instead of PUT.
Fri, 03 Aug 2007 08:48:47 +0000 cmlenz Merged HTTP branch into trunk.
Tue, 24 Jul 2007 17:32:02 +0000 cmlenz Use UTF-8 as encoding of source files.
Tue, 24 Jul 2007 14:37:04 +0000 cmlenz Tabs and line length.
Mon, 23 Jul 2007 21:59:47 +0000 wbell Don't accept build results from a slave if the build has been invalidated or it's being built by another slave. Closes #100.
Mon, 23 Jul 2007 21:53:16 +0000 wbell Flush pipes to the master before after each step so it shows up in the UI immediately, not just at the end of the build. Closes #18, #96
Mon, 23 Jul 2007 13:12:24 +0000 cmlenz Use modern syntax for raising exceptions.
Tue, 18 Apr 2006 10:28:43 +0000 cmlenz Updated change log for [milestone:0.5.3].
Mon, 13 Feb 2006 11:57:36 +0000 cmlenz Fix for #106. Thanks to Walter Bell for the report and patch.
Thu, 24 Nov 2005 12:34:27 +0000 cmlenz More and improved docstrings (using epydoc format).
Wed, 23 Nov 2005 12:10:18 +0000 cmlenz Fix UTC timestamp handling in build master.
Wed, 23 Nov 2005 11:13:28 +0000 cmlenz Transmit source archives as `tar.bz2` instead of as zip. See #76.
Mon, 07 Nov 2005 10:51:58 +0000 cmlenz Normalize the path names of environments passed to the `bitten-master` script. Previously, a path with a trailing slash would cause the master to assume an empty string as the base name of the project.
Sat, 15 Oct 2005 13:39:23 +0000 cmlenz The build slave now stores snapshot archives and the corresponding work directories in project folders of the main work folder, to keep build configurations from different projects that share the same name separate. This also requires transmitting the project name (simply the name of the environment directory) with the build initiation.
Fri, 14 Oct 2005 21:12:45 +0000 cmlenz Fix a bug in the build master (introduced in [289]) where multiple slaves matching the same target platform would potentially start the same build. This is done by setting the build to `IN_PROGRESS` as soon as the build initiation is sent, as opposed to when the slave accepts the build request.
Fri, 14 Oct 2005 19:50:08 +0000 cmlenz * If a slave disconnects after the master has started to create a snapshot archive for it, just remain calm and keep the archive in place.
Fri, 14 Oct 2005 12:50:21 +0000 cmlenz Changes to snapshot archive creation/transmission:
Thu, 06 Oct 2005 23:55:14 +0000 cmlenz * Fix some typos.
Wed, 05 Oct 2005 09:17:47 +0000 cmlenz Provide hooks for build notification. Closes #62.
Mon, 03 Oct 2005 21:15:31 +0000 cmlenz Store the reason(s) for build step failure in the database.
Sun, 02 Oct 2005 17:59:15 +0000 cmlenz * Fixes to the `<c:configure>` command added in [247]: Set current directory when invoking the script, and correctly pass `CFLAGS` and `CXXFLAGS`.
Wed, 28 Sep 2005 15:49:27 +0000 cmlenz * Cleanup and documentation for the `BuildQueue` class added in [236].
Tue, 27 Sep 2005 23:14:48 +0000 cmlenz * Factor build queue logic into a class separate from the build master.
Tue, 20 Sep 2005 22:16:41 +0000 cmlenz * Refactoring of build recipes, the file format has changed slightly:
Mon, 19 Sep 2005 17:56:29 +0000 cmlenz * Make deletion of build steps compatible with PySQLite2: records cannot be deleted inside a `select()` loop.
Mon, 19 Sep 2005 15:22:14 +0000 cmlenz Huge refactoring to remove dependency on BDB XML. Report data is now stored in the Trac database (SQLite/PostgreSQL).
Wed, 14 Sep 2005 19:39:53 +0000 cmlenz Fix another glitch introduced in [209].
Wed, 14 Sep 2005 18:55:51 +0000 cmlenz Changes to the BDB XML report store to support transactions. Closes #47.
Tue, 13 Sep 2005 10:32:25 +0000 cmlenz * Don't schedule/display builds for revisions where the repository directory is empty. Fixes #46.
Mon, 12 Sep 2005 21:59:14 +0000 cmlenz In preparation for supporting BDB XML transactions, move the report store backend selection away from using Trac extension points, and use a plain Python object instead of a component to represent a store backend.
Mon, 12 Sep 2005 16:01:08 +0000 cmlenz Fix target platform matching when a rule references a property not provided by the build slave. Closes #45.
Wed, 31 Aug 2005 17:24:35 +0000 cmlenz Add a `--dry-run` option to the build slave. This will result in the slave being registered and executing builds, but without submitting the progress and results of the build back to the server. Useful for getting the configuration of new slaves right without polluting the database with invalid builds.
Wed, 31 Aug 2005 16:43:05 +0000 cmlenz Allow invalidation of builds from the web interface. This results in the build being reset to ''PENDING'' status, and all build logs, slave information and reports deleted. Basically initiates a rebuild for a specific revision and target platform.
Sat, 27 Aug 2005 07:58:12 +0000 cmlenz Flip the switch: Bitten is now BSD-licensed.
Mon, 22 Aug 2005 18:25:52 +0000 cmlenz Some style/documentation improvements to make Pylint happier.
Mon, 22 Aug 2005 08:52:27 +0000 cmlenz Fix global/local ref name conflict introduced in [159].
Mon, 22 Aug 2005 08:30:45 +0000 cmlenz Don't removing pending builds when starting/stopping the master. Just reset in-progress builds so that they become pending.
Sun, 21 Aug 2005 17:49:20 +0000 cmlenz Build recipes are now stored in the database with the build configuration. This means that it is no longer necessary to store the recipe in the repository. Closes #41.
Sat, 13 Aug 2005 10:59:42 +0000 cmlenz Bump up version number. release-0.3
Fri, 12 Aug 2005 17:17:17 +0000 cmlenz Add a {{{--timewarp}}} option to the build master. If provided, the build master will adjust the timestamps of all builds to shortly after the time of the corresponding changeset. This is mostly for building the history of a project while keeping a chronological association between changeset and build.
Wed, 10 Aug 2005 11:51:52 +0000 cmlenz Add option for specifying a [wiki:SlaveConfiguration configuration file] for the build slave. Closes #29.
Mon, 08 Aug 2005 14:24:56 +0000 cmlenz * More logging in master and slave about the build status.
Mon, 08 Aug 2005 08:32:26 +0000 cmlenz Delete build steps when cleaning up pending builds.
Sun, 07 Aug 2005 18:12:43 +0000 cmlenz Store report data in BDB XML database. Closes #31.
Sun, 07 Aug 2005 10:03:56 +0000 cmlenz Add support for XML fragments to the {{{xmlio}}} module, so that build output and reports don't need to be nested in a meaningless element (such as {{{<log type="distutils"><messages><message ...>}}}).
Thu, 04 Aug 2005 20:15:39 +0000 cmlenz * Store build logs in a structured way, for example to highlight messages on the error stream.
Wed, 03 Aug 2005 12:00:06 +0000 cmlenz Remove bad import
Wed, 03 Aug 2005 11:54:34 +0000 cmlenz Transmit build log and generated data back to the build master in XML format. Closes #23.
Sun, 17 Jul 2005 20:14:43 +0000 cmlenz Change model class pattern:
Fri, 15 Jul 2005 16:07:11 +0000 cmlenz Make the repository poll interval configurable. It now defaults to 2 minutes instead of 10 seconds.
Fri, 15 Jul 2005 14:11:29 +0000 cmlenz Cleanup and records when a build is aborted.
Fri, 15 Jul 2005 13:59:54 +0000 cmlenz Improved logging; the build master can now optionally log to a file. Closes #13.
Thu, 14 Jul 2005 21:56:17 +0000 cmlenz Delete snapshots for builds that have been completed by all configured target platforms, and are thus no longer needed. Closes #20.
Thu, 14 Jul 2005 17:10:44 +0000 cmlenz The build master now transmits snapshot archives without blocking while reading the file and sending the BEEP frames. Closes #17.
Thu, 14 Jul 2005 14:20:42 +0000 cmlenz Some refactoring of the BEEP implementation:
Sun, 10 Jul 2005 20:44:05 +0000 cmlenz Slaves were getting associated with the wrong target platform.
Fri, 08 Jul 2005 18:21:59 +0000 cmlenz Fix matching of slave properties against target platform rules.
Fri, 08 Jul 2005 18:05:20 +0000 cmlenz Fix var name in slave registration.
Fri, 08 Jul 2005 17:02:28 +0000 cmlenz Perform slave/platform matching at slave registration. Use builtin {{{set}}} type on Python >= 2.4.
Fri, 08 Jul 2005 10:54:19 +0000 cmlenz Include timing information in the build messages transmitted from slave to master for better accuracy.
Wed, 06 Jul 2005 19:44:10 +0000 cmlenz Record the output of build steps in the database. See #12. Still need to get better granularity in transmitting the log output from slave to master before #12 can be closed.
Tue, 05 Jul 2005 17:52:15 +0000 cmlenz * Implement basic slave selection based on configured target platforms. Closes #15.
Sun, 03 Jul 2005 21:11:59 +0000 cmlenz Implemented basic management of target platforms. Closes #14.
Copyright (C) 2012-2017 Edgewall Software