OOPS DateDir to AMQP republisher.
Copyright (c) 2011, Canonical Ltd
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
The oops_datedir2amqp package provides a script that will retransmit OOPS reports (http://pypi.python.org/pypi/oops) stored in a datedir repo over amqp, cleaning up the repo as it goes.
- Python 2.6+
Build the package using buildout (see under Development).
Run the script:
$ bin/datedir2amqp --host XX --username XX --password XX --vhost XX \ --exchange XX --repo XX
Note that the repo should be the same path you are supplying to your DateDirRepo in whatever process is creating OOPSes.
A common use for this setup is as a fallback: in your application report to AMQP directly, with a DateDirRepo configured as fallback, then use datedir2amqp to pickup and respool any OOPS reports that were generated while your AMQP server is unavailable.
Either run setup.py in an environment with all the dependencies available, or add the working directory to your PYTHONPATH.
Upstream development takes place at https://launchpad.net/python-oops-datedir2amqp. To setup a working area for development, if the dependencies are not immediately available, you can use ./bootstrap.py to create bin/buildout, then bin/py to get a python interpreter with the dependencies available.
To run the tests use the runner of your choice, the test suite is oops_datedir2amqp.tests.test_suite.
$ bin/py -m testtools.run oops_datedir2amqp.tests.test_suite
Alternatively, you can use testrepository:
$ testr init $ testr run