| | 2 | |
|---|
| | 3 | * Release 0.3.2 (14 Oct 2008) |
|---|
| | 4 | |
|---|
| | 5 | ** Compatibility: same as 0.2.6 |
|---|
| | 6 | |
|---|
| | 7 | Incident classifier functions (introduced in 0.3.0) have been changed: if you |
|---|
| | 8 | have written custom functions for an Incident Gatherer, you will need to |
|---|
| | 9 | modify them upon upgrading to this release. |
|---|
| | 10 | |
|---|
| | 11 | ** Logging Changes |
|---|
| | 12 | |
|---|
| | 13 | The log.msg counter now uses a regular Python integer/bigint. The counter in |
|---|
| | 14 | 0.3.1 used itertools.count(), which, despite its documentation, stores the |
|---|
| | 15 | counter in a C signed int, and thus throws an exception when the message |
|---|
| | 16 | number exceeds 2**31-1 . This exception would pretty much kill any program |
|---|
| | 17 | which ran long enough to emit this many messages, a situation which was |
|---|
| | 18 | observed in a busy production server with an uptime of about three or four |
|---|
| | 19 | weeks. The 0.3.2 counter will be promoted to a bigint when necessary, |
|---|
| | 20 | removing this limitation. (ticket #99) |
|---|
| | 21 | |
|---|
| | 22 | The Incident-Gatherer now imports classification functions from files named |
|---|
| | 23 | 'classify_*.py' in the gatherer's directory. This effectively adds |
|---|
| | 24 | "classifier plugins". The signature of the functions has changed since the |
|---|
| | 25 | 0.3.0 release, making them easier to use. If you have written custom |
|---|
| | 26 | functions (and edited the gatherer.tac file to activate them, using |
|---|
| | 27 | gs.add_classifier()), you will need to modify the functions to take a single |
|---|
| | 28 | 'trigger' argument. |
|---|
| | 29 | |
|---|
| | 30 | These same 'classify_*.py' plugins are used by a new "flogtool |
|---|
| | 31 | classify-incident" subcommand, which can be pointed at an incident file, and |
|---|
| | 32 | performs the same kind of classification as the Incident Gatherer. (#102). |
|---|
| | 33 | |
|---|
| | 34 | The logfiles produced by the "flogtool tail" command and the internal |
|---|
| | 35 | incident-reporter now include the PID of the reporting process. This can be |
|---|
| | 36 | seen by passing the --verbose option to "flogtool dump", and will be made |
|---|
| | 37 | more visible in later releases. (#80). |
|---|
| | 38 | |
|---|
| | 39 | The "flogtool web-viewer" tool now marks Incident triggers (#79), and |
|---|
| | 40 | features a "Reload Logfile" button to re-read the logfile on disk (#103). |
|---|
| | 41 | This is most useful when running unit tests, in conjunction with the |
|---|
| | 42 | FLOGFILE= environment variable. |
|---|
| | 43 | |
|---|
| | 44 | ** Other Changes |
|---|
| | 45 | |
|---|
| | 46 | When running unit tests, if the #62 bug is encountered (pyopenssl >= 0.7 and |
|---|
| | 47 | twisted <= 8.1.0 and selectreactor), the test process will emit a warning and |
|---|
| | 48 | pause for ten seconds to give the operator a chance to halt the test and |
|---|
| | 49 | re-run it with --reactor=poll. This may help to reduce the confusion of a |
|---|
| | 50 | hanging+failing test run. |
|---|
| | 51 | |
|---|
| | 52 | The xfer-client.py example tool (in doc/listings/) has been made more |
|---|
| | 53 | useable, by calling os.path.expanduser() on its input files, and by doing |
|---|
| | 54 | sys.exit(1) on failure (instead of hanging), so that external programs can |
|---|
| | 55 | react appropriately. |
|---|
| | 56 | |
|---|