)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"c36689dba57a397976c4636569aba0851f0dbe12","unresolved":false,"context_lines":[{"line_number":10,"context_line":"scalability and he\u0027s really a bad design as it is. Let\u0027s fix that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch take out the notification handling code to a new daemon"},{"line_number":13,"context_line":"called ceilometer-notifyd. This daemon will be in charge of receiving"},{"line_number":14,"context_line":"notifications, storing them if needed, and building samples in from of"},{"line_number":15,"context_line":"it."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"AAAATn%2F%2BfLg%3D","line":13,"updated":"2013-11-25 15:53:39.000000000","message":"s/ceilometer-notifyd/ceilometer-agent-notification/\n\nor:\n\ns/ceilometer-notifyd/the notification agent/","commit_id":"f0550249d6dc1e2a3deae0e83601c38fa7b21eba"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"76fef32736e33645e4cf0a772b79394e0d360cb1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"scalability and he\u0027s really a bad design as it is. Let\u0027s fix that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch take out the notification handling code to a new daemon"},{"line_number":13,"context_line":"called ceilometer-notifyd. This daemon will be in charge of receiving"},{"line_number":14,"context_line":"notifications, storing them if needed, and building samples in from of"},{"line_number":15,"context_line":"it."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"AAAATn%2F%2BfBc%3D","line":13,"in_reply_to":"AAAATn%2F%2BfLg%3D","updated":"2013-11-25 15:58:26.000000000","message":"Done","commit_id":"f0550249d6dc1e2a3deae0e83601c38fa7b21eba"}],"ceilometer/notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f542a48ecdba6888fcf28467ec34beb24207b715","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        right exchanges and topics so we receive all of the"},{"line_number":91,"context_line":"        notifications."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        Use a connection pool so that multiple agent notification instances"},{"line_number":94,"context_line":"        can run in parallel to share load and without competing with each"},{"line_number":95,"context_line":"        other for incoming messages."},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2Bfyw%3D","line":93,"updated":"2013-11-25 13:53:16.000000000","message":"s/agent notification/notification agent/","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b2c986cb0736006589ec03cab5828f7c747fd4d9","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        right exchanges and topics so we receive all of the"},{"line_number":91,"context_line":"        notifications."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        Use a connection pool so that multiple agent notification instances"},{"line_number":94,"context_line":"        can run in parallel to share load and without competing with each"},{"line_number":95,"context_line":"        other for incoming messages."},{"line_number":96,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAATn%2F%2Bfv8%3D","line":93,"in_reply_to":"AAAATn%2F%2Bfyw%3D","updated":"2013-11-25 14:02:20.000000000","message":"Done","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"}],"ceilometer/notifier.py":[{"author":{"_account_id":2860,"name":"litong01","email":"email4tong@yahoo.com","username":"litong01"},"change_message_id":"5892214c7d3dd45961d8e06255484d8d898de6ef","unresolved":false,"context_lines":[{"line_number":34,"context_line":"def _load_notification_manager():"},{"line_number":35,"context_line":"    global _notification_manager"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    namespace \u003d \u0027ceilometer.notification\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    LOG.debug(\u0027loading notification handlers from %s\u0027, namespace)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B5gU%3D","line":37,"updated":"2013-11-18 20:50:24.000000000","message":"I prefer these not being changed. This will not sit well with other application\nread meters from the queue. I view this as an interface.","commit_id":"218cd832f938ee194ca63a0e1e5057e89fb406e1"}],"ceilometer/notifyd.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5e6d160872859b6c95d92a4872f5e2d74cc691b1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class NotifydService(rpc_service.Service):"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    NOTIFICATION_NAMESPACE \u003d \u0027ceilometer.notification\u0027"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B5oM%3D","line":58,"updated":"2013-11-18 20:11:07.000000000","message":"this should inherit DispatchedService as well since _message_to_event() references self.dispatcher_manager","commit_id":"218cd832f938ee194ca63a0e1e5057e89fb406e1"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b286afcbff64a12cb4f45b9b5a88321aa3560fad","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class NotifydService(rpc_service.Service):"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    NOTIFICATION_NAMESPACE \u003d \u0027ceilometer.notification\u0027"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B3Bs%3D","line":58,"in_reply_to":"AAAATn%2F%2B5oM%3D","updated":"2013-11-19 09:24:12.000000000","message":"Done","commit_id":"218cd832f938ee194ca63a0e1e5057e89fb406e1"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e671e298c128fef340aea9f2ef5dd2e4bb928b8c","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    Any exception is fine, but this one should make debugging"},{"line_number":54,"context_line":"    a little easier."},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class NotifydService(service.DispatchedService, rpc_service.Service):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2Bm2s%3D","line":55,"updated":"2013-11-22 15:19:11.000000000","message":"stupid python question but what happens when a class is empty... is still valid syntax?","commit_id":"0b7fdb72a68cdfe7d2fd6f565aa09264310d7ae2"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c9876c5394a3ff7b543b588906650d1a4395ecc8","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    Any exception is fine, but this one should make debugging"},{"line_number":54,"context_line":"    a little easier."},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class NotifydService(service.DispatchedService, rpc_service.Service):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BmyY%3D","line":55,"in_reply_to":"AAAATn%2F%2Bm2s%3D","updated":"2013-11-22 15:21:05.000000000","message":"Yes :)","commit_id":"0b7fdb72a68cdfe7d2fd6f565aa09264310d7ae2"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"b06efab92597465649e5b24a79ce3d3dc9babcb8","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    Any exception is fine, but this one should make debugging"},{"line_number":54,"context_line":"    a little easier."},{"line_number":55,"context_line":"    \"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"class NotifydService(service.DispatchedService, rpc_service.Service):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATn%2F%2BmxE%3D","line":55,"in_reply_to":"AAAATn%2F%2BmyY%3D","updated":"2013-11-22 15:23:48.000000000","message":"i\u0027ll remember that for next time.","commit_id":"0b7fdb72a68cdfe7d2fd6f565aa09264310d7ae2"}],"ceilometer/tests/test_notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"0079c099578a9a5c012c83511e05f5dc8eb2eb91","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                 ),"},{"line_number":141,"context_line":"             ])"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        with mock.patch(\u0027ceilometer.notification.service.LOG\u0027) as mylog:"},{"line_number":144,"context_line":"            self.srv._message_to_event(message)"},{"line_number":145,"context_line":"            self.assertFalse(mylog.exception.called)"},{"line_number":146,"context_line":"        events \u003d mock_dispatcher.record_events.call_args[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F%2BZbU%3D","line":143,"updated":"2013-11-26 14:56:58.000000000","message":"this ceilometer.notification.service.LOG doesn\u0027t seem like a real path... makes me wonder how this test even passed","commit_id":"648ee46ebc55c63e95a7c2c4df755a9b5c88ab14"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"d44d20baf9acfe29bd0afdecf13d98b2c4176eb2","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                 ),"},{"line_number":141,"context_line":"             ])"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        with mock.patch(\u0027ceilometer.notification.service.LOG\u0027) as mylog:"},{"line_number":144,"context_line":"            self.srv._message_to_event(message)"},{"line_number":145,"context_line":"            self.assertFalse(mylog.exception.called)"},{"line_number":146,"context_line":"        events \u003d mock_dispatcher.record_events.call_args[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F%2BZWQ%3D","line":143,"in_reply_to":"AAAATn%2F%2BZZM%3D","updated":"2013-11-26 15:06:37.000000000","message":"works for me. :)","commit_id":"648ee46ebc55c63e95a7c2c4df755a9b5c88ab14"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f443f7fd37ec41cbd3775f19b1438bc1772819d4","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                 ),"},{"line_number":141,"context_line":"             ])"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        with mock.patch(\u0027ceilometer.notification.service.LOG\u0027) as mylog:"},{"line_number":144,"context_line":"            self.srv._message_to_event(message)"},{"line_number":145,"context_line":"            self.assertFalse(mylog.exception.called)"},{"line_number":146,"context_line":"        events \u003d mock_dispatcher.record_events.call_args[0]"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAATn%2F%2BZZM%3D","line":143,"in_reply_to":"AAAATn%2F%2BZbU%3D","updated":"2013-11-26 15:01:30.000000000","message":"Well since the assert is assertFalse… it\u0027s kinda useless…\n\nI\u0027ll remove this.","commit_id":"648ee46ebc55c63e95a7c2c4df755a9b5c88ab14"}],"ceilometer/tests/test_notifyd.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5e6d160872859b6c95d92a4872f5e2d74cc691b1","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        self.CONF.set_override(\"connection\", \"log://\", group\u003d\u0027database\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @mock.patch(\u0027ceilometer.pipeline.setup_pipeline\u0027, mock.MagicMock())"},{"line_number":92,"context_line":"    def test_init_host(self):"},{"line_number":93,"context_line":"        # If we try to create a real RPC connection, init_host() never"},{"line_number":94,"context_line":"        # returns. Mock it out so we can establish the service"},{"line_number":95,"context_line":"        # configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B5qo%3D","line":92,"updated":"2013-11-18 20:11:07.000000000","message":"this is still being tested in test_service. i think we can remove it from here","commit_id":"218cd832f938ee194ca63a0e1e5057e89fb406e1"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b286afcbff64a12cb4f45b9b5a88321aa3560fad","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        self.CONF.set_override(\"connection\", \"log://\", group\u003d\u0027database\u0027)"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @mock.patch(\u0027ceilometer.pipeline.setup_pipeline\u0027, mock.MagicMock())"},{"line_number":92,"context_line":"    def test_init_host(self):"},{"line_number":93,"context_line":"        # If we try to create a real RPC connection, init_host() never"},{"line_number":94,"context_line":"        # returns. Mock it out so we can establish the service"},{"line_number":95,"context_line":"        # configuration."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2B3Bg%3D","line":92,"in_reply_to":"AAAATn%2F%2B5qo%3D","updated":"2013-11-19 09:24:12.000000000","message":"Done","commit_id":"218cd832f938ee194ca63a0e1e5057e89fb406e1"}],"doc/source/architecture.rst":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e671e298c128fef340aea9f2ef5dd2e4bb928b8c","unresolved":false,"context_lines":[{"line_number":398,"context_line":"storage."},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"The Ceilometer collector daemon then receives this Sample on the bus and"},{"line_number":401,"context_line":"store them into a database."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Handling Metering Messages"},{"line_number":404,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAATn%2F%2Bm0s%3D","line":401,"updated":"2013-11-22 15:19:11.000000000","message":"(nit) s/store/stores/\n\nnot important unless something else needs to be fixed","commit_id":"0b7fdb72a68cdfe7d2fd6f565aa09264310d7ae2"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"540e8c16d46747d01665e9c981b8bab2281b8e4d","unresolved":false,"context_lines":[{"line_number":398,"context_line":"storage."},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"The Ceilometer collector daemon then receives this Sample on the bus and"},{"line_number":401,"context_line":"store them into a database."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Handling Metering Messages"},{"line_number":404,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"AAAATn%2F%2BmyA%3D","line":401,"in_reply_to":"AAAATn%2F%2Bm0s%3D","updated":"2013-11-22 15:22:41.000000000","message":"Done","commit_id":"0b7fdb72a68cdfe7d2fd6f565aa09264310d7ae2"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"6d1d5836f31258a8fb6cc5bfbf043245ede15548","unresolved":false,"context_lines":[{"line_number":388,"context_line":"``compute.instance.create.end`` events under"},{"line_number":389,"context_line":"``ceilometer.collector.compute`` would be invoked for those notification"},{"line_number":390,"context_line":"events on the ``nova`` exchange using the ``notifications.info`` topic."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"The listener plugin returns an iterable with zero or more Sample instances"},{"line_number":393,"context_line":"based on the data in the incoming message. The collector framework code"},{"line_number":394,"context_line":"converts the Sample instances to metering messages and publishes them on the"}],"source_content_type":"text/x-rst","patch_set":10,"id":"AAAATn%2F%2Be4w%3D","line":391,"updated":"2013-11-25 16:16:35.000000000","message":"I think this description should talk about event collection too. Notifications are processed into samples, but they are also stored as events in the database. Maybe I\u0027ll update that in a future patch...","commit_id":"eb11da0db03ba29098fff02fecb283810f3b8dc5"}],"doc/source/install/manual.rst":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f542a48ecdba6888fcf28467ec34beb24207b715","unresolved":false,"context_lines":[{"line_number":63,"context_line":"   And adding ``ceilometer`` in the ``pipeline`` of that same file, right"},{"line_number":64,"context_line":"   before ``proxy-server``."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":67,"context_line":"   Additionally, if you want to store extra metadata from headers, you need"},{"line_number":68,"context_line":"   to set ``metadata_headers`` so it would look like::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F%2Bfys%3D","line":66,"updated":"2013-11-25 13:53:16.000000000","message":"bad merge","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b2c986cb0736006589ec03cab5828f7c747fd4d9","unresolved":false,"context_lines":[{"line_number":63,"context_line":"   And adding ``ceilometer`` in the ``pipeline`` of that same file, right"},{"line_number":64,"context_line":"   before ``proxy-server``."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":67,"context_line":"   Additionally, if you want to store extra metadata from headers, you need"},{"line_number":68,"context_line":"   to set ``metadata_headers`` so it would look like::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F%2BfwU%3D","line":66,"in_reply_to":"AAAATn%2F%2Bfys%3D","updated":"2013-11-25 14:02:20.000000000","message":"Done","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f542a48ecdba6888fcf28467ec34beb24207b715","unresolved":false,"context_lines":[{"line_number":144,"context_line":"   double: installing; collector"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"1. Install MongoDB."},{"line_number":147,"context_line":"\u003e\u003e\u003e\u003e\u003e\u003e\u003e 528e32b... Split collector"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"   Follow the instructions to install the MongoDB_ package for your"},{"line_number":150,"context_line":"   operating system, then start the service."}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F%2Bfyo%3D","line":147,"updated":"2013-11-25 13:53:16.000000000","message":"same as above","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b2c986cb0736006589ec03cab5828f7c747fd4d9","unresolved":false,"context_lines":[{"line_number":144,"context_line":"   double: installing; collector"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"1. Install MongoDB."},{"line_number":147,"context_line":"\u003e\u003e\u003e\u003e\u003e\u003e\u003e 528e32b... Split collector"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"   Follow the instructions to install the MongoDB_ package for your"},{"line_number":150,"context_line":"   operating system, then start the service."}],"source_content_type":"text/x-rst","patch_set":8,"id":"AAAATn%2F%2BfwY%3D","line":147,"in_reply_to":"AAAATn%2F%2Bfyo%3D","updated":"2013-11-25 14:02:20.000000000","message":"Done","commit_id":"3acc7979505ea86bd1eb4bda2a287f2661c901d8"}],"etc/ceilometer/ceilometer.conf.sample":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"5e6d160872859b6c95d92a4872f5e2d74cc691b1","unresolved":false,"context_lines":[{"line_number":866,"context_line":"#store_events\u003dfalse"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"# dispatcher to process metering data (multi valued)"},{"line_number":869,"context_line":"#dispatcher\u003ddatabase"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"[matchmaker_ring]"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATn%2F%2B6d8%3D","side":"PARENT","line":869,"updated":"2013-11-18 20:11:07.000000000","message":"this seems to have disappeared","commit_id":"379c55b81d0624979efe1c4a7e5c6a4282a39336"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"b286afcbff64a12cb4f45b9b5a88321aa3560fad","unresolved":false,"context_lines":[{"line_number":866,"context_line":"#store_events\u003dfalse"},{"line_number":867,"context_line":""},{"line_number":868,"context_line":"# dispatcher to process metering data (multi valued)"},{"line_number":869,"context_line":"#dispatcher\u003ddatabase"},{"line_number":870,"context_line":""},{"line_number":871,"context_line":""},{"line_number":872,"context_line":"[matchmaker_ring]"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAATn%2F%2B3A4%3D","side":"PARENT","line":869,"in_reply_to":"AAAATn%2F%2B6d8%3D","updated":"2013-11-19 09:24:12.000000000","message":"For a bad reason, no option from ceilometer/service.py are generated yeah. Fixed.","commit_id":"379c55b81d0624979efe1c4a7e5c6a4282a39336"}]}
