)]}'
{"ceilometer/publisher/messaging.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c9565c9b8ee3c6217adb5a145bb523e2204d93ab","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.priority \u003d options.pop(\u0027priority\u0027, \u0027sample\u0027)"},{"line_number":237,"context_line":"        self.url \u003d None"},{"line_number":238,"context_line":"        if parsed_url.netloc !\u003d \u0027\u0027:"},{"line_number":239,"context_line":"            self.url \u003d urlparse.urlunsplit([driver, parsed_url.netloc,"},{"line_number":240,"context_line":"                                            parsed_url.path,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_ced0f956","line":237,"updated":"2017-07-20 14:13:21.000000000","message":"Why self.url? url seemed enough.","commit_id":"1cb03f67d89673099cbfb6f289bd58ee37c91a27"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"a2adb67ac60e9d9f431e40cbbce6ee3f647d9464","unresolved":false,"context_lines":[{"line_number":234,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"        self.priority \u003d options.pop(\u0027priority\u0027, \u0027sample\u0027)"},{"line_number":237,"context_line":"        self.url \u003d None"},{"line_number":238,"context_line":"        if parsed_url.netloc !\u003d \u0027\u0027:"},{"line_number":239,"context_line":"            self.url \u003d urlparse.urlunsplit([driver, parsed_url.netloc,"},{"line_number":240,"context_line":"                                            parsed_url.path,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_793d162b","line":237,"in_reply_to":"1f1a1f67_ced0f956","updated":"2017-07-21 03:56:39.000000000","message":"I used it directly in test for convenience, ok to change it. seems I have to change the correlated test too :)","commit_id":"1cb03f67d89673099cbfb6f289bd58ee37c91a27"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c9565c9b8ee3c6217adb5a145bb523e2204d93ab","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def _send(self, event_type, data):"},{"line_number":253,"context_line":"        try:"},{"line_number":254,"context_line":"            self.notifier._notify("},{"line_number":255,"context_line":"                {},"},{"line_number":256,"context_line":"                event_type\u003devent_type,"},{"line_number":257,"context_line":"                payload\u003ddata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_ce3599aa","line":254,"updated":"2017-07-20 14:13:21.000000000","message":"are we using a private function here?","commit_id":"1cb03f67d89673099cbfb6f289bd58ee37c91a27"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"a2adb67ac60e9d9f431e40cbbce6ee3f647d9464","unresolved":false,"context_lines":[{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    def _send(self, event_type, data):"},{"line_number":253,"context_line":"        try:"},{"line_number":254,"context_line":"            self.notifier._notify("},{"line_number":255,"context_line":"                {},"},{"line_number":256,"context_line":"                event_type\u003devent_type,"},{"line_number":257,"context_line":"                payload\u003ddata,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f1a1f67_593a5a34","line":254,"in_reply_to":"1f1a1f67_ce3599aa","updated":"2017-07-21 03:56:39.000000000","message":"Done","commit_id":"1cb03f67d89673099cbfb6f289bd58ee37c91a27"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f0ab6ea3a8dac578e5fc9d79ad135343fe169020","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    def __init__(self, conf, parsed_url, default_topic):"},{"line_number":228,"context_line":"        super(NotifierPublisher, self).__init__(conf, parsed_url)"},{"line_number":229,"context_line":"        options \u003d urlparse.parse_qs(parsed_url.query)"},{"line_number":230,"context_line":"        topics \u003d options.pop(\u0027topic\u0027, [default_topic])"},{"line_number":231,"context_line":"        driver \u003d options.pop(\u0027driver\u0027, [\u0027rabbit\u0027])[0]"},{"line_number":232,"context_line":"        if driver \u003d\u003d \u0027kafka\u0027:"},{"line_number":233,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_692783b8","line":230,"updated":"2017-07-21 06:38:46.000000000","message":"not related but ok.","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"4dceb0ee16e7ea39763add8f98ad909289040d8d","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    def __init__(self, conf, parsed_url, default_topic):"},{"line_number":228,"context_line":"        super(NotifierPublisher, self).__init__(conf, parsed_url)"},{"line_number":229,"context_line":"        options \u003d urlparse.parse_qs(parsed_url.query)"},{"line_number":230,"context_line":"        topics \u003d options.pop(\u0027topic\u0027, [default_topic])"},{"line_number":231,"context_line":"        driver \u003d options.pop(\u0027driver\u0027, [\u0027rabbit\u0027])[0]"},{"line_number":232,"context_line":"        if driver \u003d\u003d \u0027kafka\u0027:"},{"line_number":233,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_49e167d0","line":230,"in_reply_to":"1f1a1f67_692783b8","updated":"2017-07-21 07:09:17.000000000","message":"the variable passed is really \u0027topics\u0027","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f0ab6ea3a8dac578e5fc9d79ad135343fe169020","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        topics \u003d options.pop(\u0027topic\u0027, [default_topic])"},{"line_number":231,"context_line":"        driver \u003d options.pop(\u0027driver\u0027, [\u0027rabbit\u0027])[0]"},{"line_number":232,"context_line":"        if driver \u003d\u003d \u0027kafka\u0027:"},{"line_number":233,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        url \u003d None"},{"line_number":236,"context_line":"        if parsed_url.netloc !\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_0926cfb8","line":233,"updated":"2017-07-21 06:38:46.000000000","message":"Why is this kafka specific? it seems it could work with any driver","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"4dceb0ee16e7ea39763add8f98ad909289040d8d","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        topics \u003d options.pop(\u0027topic\u0027, [default_topic])"},{"line_number":231,"context_line":"        driver \u003d options.pop(\u0027driver\u0027, [\u0027rabbit\u0027])[0]"},{"line_number":232,"context_line":"        if driver \u003d\u003d \u0027kafka\u0027:"},{"line_number":233,"context_line":"            self.max_retry \u003d int(options.get(\u0027max_retry\u0027, [100])[-1])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        url \u003d None"},{"line_number":236,"context_line":"        if parsed_url.netloc !\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_69a0a3a6","line":233,"in_reply_to":"1f1a1f67_0926cfb8","updated":"2017-07-21 07:09:17.000000000","message":"not sure 100 is ok for all driver, but I agree it has little impact","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"f0ab6ea3a8dac578e5fc9d79ad135343fe169020","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _send(self, event_type, data):"},{"line_number":251,"context_line":"        try:"},{"line_number":252,"context_line":"            self.notifier.sample("},{"line_number":253,"context_line":"                {},"},{"line_number":254,"context_line":"                event_type\u003devent_type,"},{"line_number":255,"context_line":"                payload\u003ddata,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_a91b5b71","line":252,"updated":"2017-07-21 06:38:46.000000000","message":"sadly you change lines for nothing. not a big deal but it\u0027s better to avoid and pollute git history.","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"4dceb0ee16e7ea39763add8f98ad909289040d8d","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _send(self, event_type, data):"},{"line_number":251,"context_line":"        try:"},{"line_number":252,"context_line":"            self.notifier.sample("},{"line_number":253,"context_line":"                {},"},{"line_number":254,"context_line":"                event_type\u003devent_type,"},{"line_number":255,"context_line":"                payload\u003ddata,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1f1a1f67_c9e21702","line":252,"in_reply_to":"1f1a1f67_a91b5b71","updated":"2017-07-21 07:09:17.000000000","message":"Done","commit_id":"013a611b022e641d25640fb4a7cbb6478fbebb3f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"16ee74e27ebf079b34577bf97e2354e099ccb475","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    \"\"\"Publish metering data from notifer publisher."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    The ip address and port number of notifer should be configured in"},{"line_number":192,"context_line":"    ceilometer pipeline configuration file. If an ip address is not specified,"},{"line_number":193,"context_line":"    this notifier will not publish any meters."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    User can customize the transport driver such as rabbit, kafka and"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_f22f763c","line":192,"updated":"2017-07-27 15:45:45.000000000","message":"i don\u0027t think ip is mandatory? or at least i don\u0027t have it defined and my environment works... is this new?","commit_id":"b9271a9e76d8d58ec8bec2614bca8818e590c6a3"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"b5c33177b376c183472e4d18a1e15eec3c5a0c25","unresolved":false,"context_lines":[{"line_number":189,"context_line":"    \"\"\"Publish metering data from notifer publisher."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"    The ip address and port number of notifer should be configured in"},{"line_number":192,"context_line":"    ceilometer pipeline configuration file. If an ip address is not specified,"},{"line_number":193,"context_line":"    this notifier will not publish any meters."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    User can customize the transport driver such as rabbit, kafka and"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_4687a0b6","line":192,"in_reply_to":"ff346bd7_f22f763c","updated":"2017-07-27 17:53:15.000000000","message":"ip and notifier_port should be pointed for the specified target server. I\u0027m not sure if it will push notifications to any server without a specified one.","commit_id":"b9271a9e76d8d58ec8bec2614bca8818e590c6a3"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"16ee74e27ebf079b34577bf97e2354e099ccb475","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    so on. The Notifer uses `sample` method as default method to send"},{"line_number":197,"context_line":"    notifications."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    Topic name and notifier_port are required for this publisher to work"},{"line_number":200,"context_line":"    properly. This publisher has transmit options such as queue, drop, and"},{"line_number":201,"context_line":"    retry. These options are specified using policy field of URL parameter."},{"line_number":202,"context_line":"    When queue option could be selected, local queue length can be determined"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_32197e21","line":199,"updated":"2017-07-27 15:45:45.000000000","message":"same. pretty sure we default to something.","commit_id":"b9271a9e76d8d58ec8bec2614bca8818e590c6a3"},{"author":{"_account_id":22752,"name":"Hanxi Liu","email":"apolloliuhx@gmail.com","username":"Hanxi_Liu"},"change_message_id":"b5c33177b376c183472e4d18a1e15eec3c5a0c25","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    so on. The Notifer uses `sample` method as default method to send"},{"line_number":197,"context_line":"    notifications."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    Topic name and notifier_port are required for this publisher to work"},{"line_number":200,"context_line":"    properly. This publisher has transmit options such as queue, drop, and"},{"line_number":201,"context_line":"    retry. These options are specified using policy field of URL parameter."},{"line_number":202,"context_line":"    When queue option could be selected, local queue length can be determined"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff346bd7_018ce27c","line":199,"in_reply_to":"ff346bd7_32197e21","updated":"2017-07-27 17:53:15.000000000","message":"yeah, topic is needed if there is a the messaging target. Otherwise, it could be omitted.","commit_id":"b9271a9e76d8d58ec8bec2614bca8818e590c6a3"}],"ceilometer/tests/unit/publisher/test_messaging_publisher.py":[{"author":{"_account_id":16034,"name":"soumiyajit","email":"somya.rock@gmail.com","username":"soumiyajit"},"change_message_id":"68e63c865666805d9f26d910c688ab67695ddef8","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            netutils.urlsplit(\u0027notifier://foo:foo@127.0.0.1:1234\u0027))"},{"line_number":132,"context_line":"        cgt.assert_called_with(self.CONF, \u0027rabbit://foo:foo@127.0.0.1:1234\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    @mock.patch(\u0027ceilometer.messaging.get_transport\u0027)"},{"line_number":135,"context_line":"    def test_publish_with_kafka_driver(self, cgt):"},{"line_number":136,"context_line":"        msg_publisher.SampleNotifierPublisher("},{"line_number":137,"context_line":"            self.CONF,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba2be162_74db4a7c","line":134,"range":{"start_line":134,"start_character":51,"end_line":134,"end_character":53},"updated":"2017-03-06 11:28:03.000000000","message":"++","commit_id":"a2cc73f24139b1876ca366e8f0402d16451bf700"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"8f30bbb6bb3bbf37787de5506c15314939e62416","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            netutils.urlsplit(\u0027notifier://foo:foo@127.0.0.1:1234\u0027))"},{"line_number":132,"context_line":"        cgt.assert_called_with(self.CONF, \u0027rabbit://foo:foo@127.0.0.1:1234\u0027)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    @mock.patch(\u0027ceilometer.messaging.get_transport\u0027)"},{"line_number":135,"context_line":"    def test_publish_with_kafka_driver(self, cgt):"},{"line_number":136,"context_line":"        msg_publisher.SampleNotifierPublisher("},{"line_number":137,"context_line":"            self.CONF,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_564f956a","line":134,"updated":"2017-02-22 22:22:44.000000000","message":"this test really seems useless","commit_id":"a2cc73f24139b1876ca366e8f0402d16451bf700"}]}
