log bitten/slave.py @ 897:ce35ae342a66

age author description
Wed, 09 Mar 2011 15:00:49 +0000 hodgestar Remove second import of os module.
Wed, 09 Mar 2011 14:48:35 +0000 hodgestar Use our own HTTPBasicAuthHandler under Python 2.6 to avoid issue http://bugs.python.org/issue8797. Fixes #658.
Sat, 05 Mar 2011 02:15:03 +0000 osimons Set 'Content-Length' header on keep-alive requests. Fixes #667. Thanks eblot.
Fri, 21 Jan 2011 08:13:15 +0000 osimons Make sure slave reads attachments as binary files. Fixes #657.
Mon, 18 Oct 2010 14:03:20 +0000 hodgestar Fix docstring complaints from epydoc.
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:49:05 +0000 osimons Updated copyright to 2010.
Fri, 14 May 2010 10:48:04 +0000 osimons Don't initialize the keep-alive thread when running a local build (it will fail trying to get the opener).
Thu, 29 Apr 2010 18:17:05 +0000 wbell Adding keepalives to the bitten client/server protocol.
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: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.
Wed, 09 Dec 2009 11:37:58 +0000 osimons Updating protocol version counter following change in [793] / #459, and also improved errors so that the reason is output on console without verbose logging enabled. Fixes #511.
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.
Thu, 10 Sep 2009 06:54:20 +0000 osimons 0.6dev: Adding some error-handling to bitten-slave for config files. It now reports errors and exists gracefully if a) config file isn't found, or b) problem parsing content (wrong format).
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.
Tue, 25 Aug 2009 00:16:58 +0000 osimons 0.6dev: Removing code and updated docs related to Trac < 0.11 and Python < 2.4 (base requirements for Bitten 0.6).
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 22:33:26 +0000 osimons 0.6dev: Adding real authentication by making a request to `/login` and storing and reusing cookies provided by Trac (#208). Additionally, support for account-manager form authentication is added to the slave (#219).
Mon, 24 Aug 2009 13:19:27 +0000 osimons 0.6dev: Follow-up to [719]. Seems some http errors don't populate `headers` (at least apache digest auth challenge didn't).
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 22:05:53 +0000 osimons 0.6dev: Implement a `subprocess` implementation of `execute()` that is now the default for all slaves where this is available - essentially all slaves with Python 2.4 and higher, or where module is installed separately. This fixes:
Sat, 01 Aug 2009 01:43:56 +0000 osimons 0.6dev: Logging start + stop time for the slave. Closes #268.
Sat, 25 Jul 2009 00:37:23 +0000 osimons 0.6dev: Adding `-P` option to bitten-slave to prompt for password as alternative to command-line option or configuration file. Closes #402.
Sun, 12 Jul 2009 21:51:23 +0000 osimons 0.6dev: In the event that loading Recipe fails, `basedir` would not yet have been defined, and removing it would fail.
Tue, 07 Jul 2009 15:10:29 +0000 osimons 0.6dev: Fixing #229 again - keeping `slave.work_dir` if either `--keep_files` or `--work_dir=` are part of options.
Sun, 05 Jul 2009 11:41:52 +0000 osimons 0.6dev: Fixing keep_files (`-k`) option, closing #229.
Sun, 05 Jul 2009 11:33:09 +0000 osimons 0.6dev: Fixing digest authentication in #330. Instead of having a single `urllib2` opener for the life of the slave, a new opener object is created for each request.
Mon, 11 May 2009 11:16:15 +0000 dfraser Fixed up misapplied patch from r633 to have real base class for error processor (see #163)
Mon, 11 May 2009 11:01:34 +0000 dfraser Apply patch to allow Python 2.3 compatibility (remy blank) - fixes #163
Fri, 03 Apr 2009 07:41:28 +0000 dfraser Only actually run `rmtree` if the root directory exists (fixes #381; patch is from there)
Tue, 31 Mar 2009 17:25:40 +0000 dfraser Allow authentication credentials to be specified in the configuration file `[Remy Blank]`.
Fri, 27 Mar 2009 10:43:12 +0000 dfraser Pass `--no-loop` option to the `BuildSlave` (fixes #375, from the patch there - thanks!)
Mon, 23 Mar 2009 19:19:17 +0000 wbell Small documentation fixes.
Tue, 17 Mar 2009 06:53:58 +0000 dfraser Added option for not looping after check. Fixes #371
Wed, 11 Mar 2009 12:52:44 +0000 dfraser Added missing `sys` import - fixes #345
Mon, 14 Jul 2008 14:49:19 +0000 dfraser `os.EX_OK` etc are only defined on UNIX and Mac. Replace with fallback constants. Fixes #298 so Windows slaves now run successfully
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.
Wed, 18 Jun 2008 18:19:35 +0000 mgood make `bitten-slave` return a meaningful exit code
Fri, 14 Mar 2008 20:57:08 +0000 wbell Slaves should continue to run builds without sleeping as long as new builds are available. Applied patch from Thomas Mueller. Closes #181
Wed, 05 Mar 2008 20:43:55 +0000 wbell Committing rmtree patch for windows submitted by Doug Patterson. Thanks! Closes #211, #183, #236.
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.
Wed, 17 Oct 2007 23:10:10 +0000 mgood handle HTTPErrors separately to work around them not having a "reason" attribute like URLError
Mon, 24 Sep 2007 12:56:41 +0000 cmlenz When the slave is run in `--dry-run` mode, it now also sends a build cancellation message to the master in case of failed builds. Closes #187.
Tue, 18 Sep 2007 12:18:34 +0000 jonas Make the slave differentiate between benign and fatal network errors and
Wed, 12 Sep 2007 19:42:11 +0000 cmlenz Add debug log message for enabling authentication.
Thu, 30 Aug 2007 08:07:22 +0000 cmlenz Fix default for poll interval of slave.
Thu, 23 Aug 2007 19:41:22 +0000 cmlenz Make the interval the slave sleeps between requesting builds configurable from the commandline.
Tue, 21 Aug 2007 16:42:53 +0000 cmlenz Improve the still experimental support for using `coverage.py`.
Fri, 17 Aug 2007 10:43:09 +0000 cmlenz Finish the move of build configuration management into the admin interface.
Sat, 11 Aug 2007 19:20:27 +0000 cmlenz Rudimentary implementation of ``dry-run`` option in build slave. Builds are still put in in progress mode, but no results are transmitted back, and the build is automatically invalidated after the slave is done.
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:10:58 +0000 cmlenz Fix build slave error introduced in [461].
Wed, 08 Aug 2007 13:09:32 +0000 cmlenz Change the default log verbosity of the build slave, and remove the `--debug` option.
Wed, 08 Aug 2007 12:10:46 +0000 cmlenz The build slave can now run locally against a recipe file, which is useful for testing recipes. Simply pass the path to the recipe instead of the URL of the build master to the script.
Tue, 07 Aug 2007 11:29:11 +0000 cmlenz Use reStructuredText as the API documentation syntax.
Tue, 07 Aug 2007 08:58:38 +0000 cmlenz Update file headers and other stuff pointing to the old home.
Fri, 03 Aug 2007 16:37:51 +0000 cmlenz The slave logs each request at DEBUG level.
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.
Thu, 26 Jul 2007 19:40:55 +0000 cmlenz Default behavior of slaves is now to stop building when an error is raised by a step set to onerror='fail'. onerror='continue' can be used to get the old behavior, while onerror='ignore' is also still available for completely ignoring failed steps.
Tue, 24 Jul 2007 19:11:00 +0000 wbell Remove overzealous partial merge of heartbeating code.
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: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 21:43:48 +0000 wbell Add new --single option that has slaves exit after they complete a single build
Mon, 23 Jul 2007 13:12:24 +0000 cmlenz Use modern syntax for raising exceptions.
Tue, 25 Jul 2006 09:28:37 +0000 cmlenz Fix some unit tests that were broken when running against Trac 0.10-dev.
Wed, 12 Apr 2006 09:38:09 +0000 cmlenz * Don't use `os.path.commonprefix()` to detect the base directory in the snapshort archive. Fixes #103.
Mon, 13 Feb 2006 21:21:06 +0000 cmlenz Add a logfile option to the slave. Thanks to Walter Bell for the patch.
Mon, 28 Nov 2005 11:27:05 +0000 cmlenz Minor cleanup.
Thu, 24 Nov 2005 12:34:27 +0000 cmlenz More and improved docstrings (using epydoc format).
Wed, 23 Nov 2005 11:13:28 +0000 cmlenz Transmit source archives as `tar.bz2` instead of as zip. See #76.
Wed, 26 Oct 2005 00:03:28 +0000 cmlenz * Store executable bit in ZIP archives (from `svn:executable`).
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 14:19:19 +0000 cmlenz * Fix snapshot deletion after build on Windows.
Fri, 14 Oct 2005 12:50:21 +0000 cmlenz Changes to snapshot archive creation/transmission:
Mon, 03 Oct 2005 19:35:21 +0000 cmlenz * Allowing specifying the main entry point of a module in `<python:exec>`. This can be used to execute Python scripts in modules that don't map to files on the file system. See #49.
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`.
Sun, 02 Oct 2005 17:16:20 +0000 cmlenz * Add an option to `bitten-slave` that tells it to keep any files in the working directory.
Fri, 30 Sep 2005 15:42:50 +0000 cmlenz * Moved SlaveConfiguration logic into new module ([source:/trunk/bitten/build/config.py bitten.build.config]).
Sat, 24 Sep 2005 12:21:34 +0000 cmlenz * Get rid of `xmlio.SubElement`.
Mon, 19 Sep 2005 23:28:38 +0000 cmlenz * Slave now removes build working directories when done.
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 18:52:12 +0000 cmlenz * Improve error handling in the snapshot archive packing/unpacking code. Specificially, when a build slave fails to unpack a snapshot it received from the master, it'll report the error back to the master (and thereby reject the build request), instead of just bailing and leaving the master waiting for a reply.
Wed, 31 Aug 2005 17:57:33 +0000 cmlenz If no explicit name is provided for the slave, use the first part of the host name (i.e. the part up to the first dot).
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.
Sat, 27 Aug 2005 07:58:12 +0000 cmlenz Flip the switch: Bitten is now BSD-licensed.
Mon, 22 Aug 2005 18:33:12 +0000 cmlenz Fix initialization of ''family'' variable in slave registration.
Mon, 22 Aug 2005 18:25:52 +0000 cmlenz Some style/documentation improvements to make Pylint happier.
Sun, 21 Aug 2005 20:11:49 +0000 cmlenz Another fix to recipe handling by build slave.
Sun, 21 Aug 2005 20:04:33 +0000 cmlenz Fixes to problems in recipe handling introduced in [155].
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.
Fri, 12 Aug 2005 19:11:16 +0000 cmlenz Fix error handling so that reports are still generated even if a command has failed.
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.
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.
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 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 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.
Fri, 01 Jul 2005 11:09:12 +0000 cmlenz Allow individual steps of a recipe to be marked as optional, i.e. that an error in such a step should not mean that the build failed.
Fri, 01 Jul 2005 10:28:46 +0000 cmlenz Updated DTD for orchestration profile.
Thu, 30 Jun 2005 18:27:12 +0000 cmlenz Record build slave properties in database.
Thu, 30 Jun 2005 12:28:54 +0000 cmlenz Fixes for Windows compatibility:
Tue, 28 Jun 2005 23:15:55 +0000 cmlenz Use the standard {{{platform}}} module for reporting of system info by slaves. Closes #6.
Tue, 28 Jun 2005 13:53:27 +0000 cmlenz * Allow specifying a different name for a build slave (default is the host name).
Tue, 28 Jun 2005 10:47:07 +0000 cmlenz Moved {{{BuildError}}} class into package {{{bitten.build}}}.
Mon, 27 Jun 2005 21:50:58 +0000 cmlenz * Pass a {{{Context}}} object to recipe commands as the first argument. Currently this only has the basedir, but will be extended to also provide output recording etc.
Mon, 27 Jun 2005 11:19:54 +0000 cmlenz Added simple helper class for executing commandline programs.
Sun, 26 Jun 2005 17:34:27 +0000 cmlenz Build slave now executes the build. Closes #10.
Sun, 26 Jun 2005 16:06:30 +0000 cmlenz Proper archive format negotiation; improved representation of parsed XML content in {{{bitten.util.xmlio}}}.
Fri, 24 Jun 2005 17:26:47 +0000 cmlenz Build slave now also handles snapshot archives in bzip2 and zip format.
Fri, 24 Jun 2005 17:13:07 +0000 cmlenz * Simplify code for making snapshot archives.
Fri, 24 Jun 2005 15:35:23 +0000 cmlenz * Improvements to the model classes, and a couple of unit tests.
Thu, 23 Jun 2005 20:38:48 +0000 cmlenz Fix typo in build slave.
Thu, 23 Jun 2005 20:35:54 +0000 cmlenz Basic infrastructure for transmission of snapshot archives to build slaves. See #8.
Tue, 21 Jun 2005 13:38:31 +0000 cmlenz The build master now gracefully exits by first terminating all active sessions. Fixes #7.
Copyright (C) 2012-2017 Edgewall Software