
The new /health endpoint of v1.1 is different from the /health of v1.0. In v1.1 /health endpoint we will return a set of KPI (Key Performance Indicator) of the target Marconi server. The API response will be like below: { "mongo_pool_1": { "message_volume": { "claimed": 0, "total": 0, "free": 0 }, "storage_reachable": true, "operation_status": { "create_queue": { "seconds": 0.0021300315856933594, "ref": null, "succeeded": true }, "post_messages": { "seconds": 0.033502817153930664, "ref": null, "succeeded": true }, "list_messages": { "seconds": 0.000013113021850585938, "ref": null, "succeeded": true }, "claim_messages": { "seconds": 0.0013759136199951172, "ref": "3f515f37-58a0-4c81-8214-3e92979b82e7", "succeeded": false }, "delete_queue": { "seconds": 0.0030739307403564453, "ref": null, "succeeded": true } } }, "mongo_pool_2": { "message_volume": { "claimed": 0, "total": 0, "free": 0 }, "storage_reachable": true, "operation_status": { "create_queue": { "seconds": 0.0011799335479736328, "ref": null, "succeeded": true }, "post_messages": { "seconds": 0.024316072463989258, "ref": null, "succeeded": true }, "list_messages": { "seconds": 0.000008106231689453125, "ref": null, "succeeded": true }, "claim_messages": { "seconds": 0.000576019287109375, "ref": "68629fda-b4ce-4cf9-978a-df0df8df36a7", "succeeded": false }, "delete_queue": { "seconds": 0.003300905227661133, "ref": null, "succeeded": true } } }, "catalog_reachable": true } docImpact Implements: blueprint detailed-health Change-Id: I6b281132e2fef8ce65ce54b9d6be297571f8b170
Zaqar
Message queuing service for OpenStack. To find more information read our wiki.
Running a local Zaqar server with MongoDB
Note: These instructions are for running a local instance of Zaqar and not all of these steps are required. It is assumed you have MongoDB installed and running.
From your home folder create the
~/.zaqar
folder and clone the repo:$ cd $ mkdir .zaqar $ git clone https://github.com/openstack/zaqar.git
Copy the Zaqar config files to the directory
~/.zaqar
:$ cp zaqar/etc/zaqar.conf.sample ~/.zaqar/zaqar.conf $ cp zaqar/etc/logging.conf.sample ~/.zaqar/logging.conf
Find
[drivers]
section in~/.zaqar/zaqar.conf
and specify to use mongodb storage:storage = mongodb
Then find the
[drivers:storage:mongodb]
section and modify the URI to point to your local mongod instance:uri = mongodb://$MONGODB_HOST:$MONGODB_PORT
By default, you will have:
uri = mongodb://127.0.0.1:27017
For logging, find the
[DEFAULT]
section in~/.zaqar/zaqar.conf
and modify as desired:log_file = server.log
Change directories back to your local copy of the repo:
$ cd zaqar
Run the following so you can see the results of any changes you make to the code without having to reinstall the package each time:
$ pip install -e .
Start the Zaqar server with logging level set to INFO so you can see the port on which the server is listening:
$ zaqar-server -v
Test out that Zaqar is working by creating a queue:
$ curl -i -X PUT http://127.0.0.1:8888/v1/queues/samplequeue -H "Content-type: application/json"
You should get an HTTP 201 along with some headers that will look similar to this:
HTTP/1.0 201 Created
Date: Fri, 25 Oct 2013 15:34:37 GMT
Server: WSGIServer/0.1 Python/2.7.3
Content-Length: 0
Location: /v1/queues/samplequeue
Running tests
First install additional requirements:
pip install tox
And then run tests:
tox -e py27
You can read more about running functional tests in separate TESTS_README.