)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"2424312619fa2bb5331c26a28617be7d01331fc2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"resolves the conflict with ceilometer and other"},{"line_number":11,"context_line":"services which also consume glance notifications"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"searchlight specific topic names pattern will be"},{"line_number":14,"context_line":"service_name-sl-indexer. For glance it is"},{"line_number":15,"context_line":"glance-sl-indexer."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_765ee9ea","line":13,"updated":"2015-07-20 15:31:47.000000000","message":"This\u0027ll need changing if we use a single topic name","commit_id":"89c3b801878dbcc8a3c0a54d655d1992985dbb84"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"0399b11013f6f11f30f1798f6793a2b72bd31665","unresolved":false,"context_lines":[{"line_number":10,"context_line":"resolves the conflict with ceilometer and other"},{"line_number":11,"context_line":"services which also consume glance notifications"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"searchlight specific topic names pattern will be"},{"line_number":14,"context_line":"service_name-sl-indexer. For glance it is"},{"line_number":15,"context_line":"glance-sl-indexer."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_786f85c5","line":13,"in_reply_to":"3a50d1a3_765ee9ea","updated":"2015-07-21 11:58:38.000000000","message":"Done","commit_id":"89c3b801878dbcc8a3c0a54d655d1992985dbb84"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"2424312619fa2bb5331c26a28617be7d01331fc2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"glance-sl-indexer."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1470627"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Iae28a1527fa93bca4de59fd272eb29b5cbb30fee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_b6beb1fd","line":18,"updated":"2015-07-20 15:31:47.000000000","message":"Remove blank line, use Closes-Bug: #1470627","commit_id":"89c3b801878dbcc8a3c0a54d655d1992985dbb84"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"0399b11013f6f11f30f1798f6793a2b72bd31665","unresolved":false,"context_lines":[{"line_number":15,"context_line":"glance-sl-indexer."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Fixes Bug: 1470627"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Iae28a1527fa93bca4de59fd272eb29b5cbb30fee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a50d1a3_98a931e2","line":18,"in_reply_to":"3a50d1a3_b6beb1fd","updated":"2015-07-21 11:58:38.000000000","message":"Done","commit_id":"89c3b801878dbcc8a3c0a54d655d1992985dbb84"}],"searchlight/elasticsearch/plugins/glance/images.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7398cd7fcb3770d65dfdcf0dc5eacc1622d0de27","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    def get_notification_topics_exchanges(self):"},{"line_number":135,"context_line":"        # TODO(sjmc7): More importantly, this should come from config"},{"line_number":136,"context_line":"        return set(["},{"line_number":137,"context_line":"            (\u0027glance_sl_indexer\u0027, \u0027glance\u0027)"},{"line_number":138,"context_line":"        ])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_notification_supported_events(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_e5e477ad","line":137,"updated":"2015-07-17 14:41:26.000000000","message":"Should this just be \u0027searchlight_listener\u0027? I don\u0027t think we\u0027d want a topic per resource type.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e49ac8e87136164d26e8b2592cb601cee84e9a4f","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    def get_notification_topics_exchanges(self):"},{"line_number":135,"context_line":"        # TODO(sjmc7): More importantly, this should come from config"},{"line_number":136,"context_line":"        return set(["},{"line_number":137,"context_line":"            (\u0027glance_sl_indexer\u0027, \u0027glance\u0027)"},{"line_number":138,"context_line":"        ])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_notification_supported_events(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_b1957841","line":137,"in_reply_to":"9a41bdd9_e5e477ad","updated":"2015-07-20 04:45:04.000000000","message":"Good point. How about searchlight_indexer or searchlight_index. Other services like ceilometer name the topic based on its purpose like \"monitor\" and \"metering\"\n\nAlso i am not sure if having single topic for all the resource types will have any bottlenecks down the lane.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"2424312619fa2bb5331c26a28617be7d01331fc2","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    def get_notification_topics_exchanges(self):"},{"line_number":135,"context_line":"        # TODO(sjmc7): More importantly, this should come from config"},{"line_number":136,"context_line":"        return set(["},{"line_number":137,"context_line":"            (\u0027glance_sl_indexer\u0027, \u0027glance\u0027)"},{"line_number":138,"context_line":"        ])"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_notification_supported_events(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_36570104","line":137,"updated":"2015-07-20 15:31:47.000000000","message":"Would still like to make this the same across all plugins (as with \u0027notifications\u0027), makes configuration simpler","commit_id":"89c3b801878dbcc8a3c0a54d655d1992985dbb84"}],"searchlight/elasticsearch/plugins/glance/metadefs.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"b8f4c2a7715d80aab8ee05fdac7e2a90f6a893e2","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        )"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    def get_notification_topics_exchanges(self):"},{"line_number":141,"context_line":"        return set([(\u0027searchlight_indexer\u0027, \u0027glance\u0027)])"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def get_notification_supported_events(self):"},{"line_number":144,"context_line":"        return ["}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_bea7c3a5","line":141,"updated":"2015-08-06 22:06:52.000000000","message":"We only support Python 2.7+ right? Why not make this faster with\n\n    return {(\u0027searchlight_indexer\u0027, \u0027glance\u0027)}","commit_id":"080c8993d0fcfd7d473bd3ee5f611938eb61e518"}],"searchlight/listener.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7398cd7fcb3770d65dfdcf0dc5eacc1622d0de27","unresolved":false,"context_lines":[{"line_number":68,"context_line":"class ListenerService(os_service.Service):"},{"line_number":69,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":70,"context_line":"        super(ListenerService, self).__init__(*args, **kwargs)"},{"line_number":71,"context_line":"        self.plugins \u003d get_plugins()"},{"line_number":72,"context_line":"        self.listeners \u003d []"},{"line_number":73,"context_line":"        self.topics_exchanges_set \u003d self.topics_and_exchanges()"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_c52ff3f4","line":71,"updated":"2015-07-17 14:41:26.000000000","message":"I think if self.plugins is being set here, it makes sense to pass it to NotificationEndpoint.__init__, less reliance on global state, easier to test","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e49ac8e87136164d26e8b2592cb601cee84e9a4f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"class ListenerService(os_service.Service):"},{"line_number":69,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":70,"context_line":"        super(ListenerService, self).__init__(*args, **kwargs)"},{"line_number":71,"context_line":"        self.plugins \u003d get_plugins()"},{"line_number":72,"context_line":"        self.listeners \u003d []"},{"line_number":73,"context_line":"        self.topics_exchanges_set \u003d self.topics_and_exchanges()"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_71f2909c","line":71,"in_reply_to":"9a41bdd9_c52ff3f4","updated":"2015-07-20 04:45:04.000000000","message":"Nice catch. Done.\nAlso I removed the get_plugins() method. Seems its already in util class.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7398cd7fcb3770d65dfdcf0dc5eacc1622d0de27","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        super(ListenerService, self).__init__(*args, **kwargs)"},{"line_number":71,"context_line":"        self.plugins \u003d get_plugins()"},{"line_number":72,"context_line":"        self.listeners \u003d []"},{"line_number":73,"context_line":"        self.topics_exchanges_set \u003d self.topics_and_exchanges()"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def topics_and_exchanges(self):"},{"line_number":76,"context_line":"        topics_exchanges \u003d set()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_e548f7ce","line":73,"updated":"2015-07-17 14:41:26.000000000","message":"Any reason to set this as member state versus calling it in start?","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e49ac8e87136164d26e8b2592cb601cee84e9a4f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        super(ListenerService, self).__init__(*args, **kwargs)"},{"line_number":71,"context_line":"        self.plugins \u003d get_plugins()"},{"line_number":72,"context_line":"        self.listeners \u003d []"},{"line_number":73,"context_line":"        self.topics_exchanges_set \u003d self.topics_and_exchanges()"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def topics_and_exchanges(self):"},{"line_number":76,"context_line":"        topics_exchanges \u003d set()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_9174fcfd","line":73,"in_reply_to":"9a41bdd9_e548f7ce","updated":"2015-07-20 04:45:04.000000000","message":"Setting it in __init__ method will initialize the variable on ListenerService instantiation. start() could be called after stop() if required at which point we could save on initializing the variable again.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7398cd7fcb3770d65dfdcf0dc5eacc1622d0de27","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        transport \u003d oslo_messaging.get_transport(cfg.CONF)"},{"line_number":97,"context_line":"        targets \u003d ["},{"line_number":98,"context_line":"            oslo_messaging.Target(topic\u003dpl_topic, exchange\u003dpl_exchange)"},{"line_number":99,"context_line":"            for pl_topic, pl_exchange in self.topics_exchanges_set"},{"line_number":100,"context_line":"        ]"},{"line_number":101,"context_line":"        endpoints \u003d ["},{"line_number":102,"context_line":"            NotificationEndpoint()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_c564d34a","line":99,"updated":"2015-07-17 14:41:26.000000000","message":"call self.topics_and_exchanges() instead of the variable?","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e49ac8e87136164d26e8b2592cb601cee84e9a4f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        transport \u003d oslo_messaging.get_transport(cfg.CONF)"},{"line_number":97,"context_line":"        targets \u003d ["},{"line_number":98,"context_line":"            oslo_messaging.Target(topic\u003dpl_topic, exchange\u003dpl_exchange)"},{"line_number":99,"context_line":"            for pl_topic, pl_exchange in self.topics_exchanges_set"},{"line_number":100,"context_line":"        ]"},{"line_number":101,"context_line":"        endpoints \u003d ["},{"line_number":102,"context_line":"            NotificationEndpoint()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_f1d0e0cb","line":99,"in_reply_to":"9a41bdd9_c564d34a","updated":"2015-07-20 04:45:04.000000000","message":"Same as above.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"7398cd7fcb3770d65dfdcf0dc5eacc1622d0de27","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            for pl_topic, pl_exchange in self.topics_exchanges_set"},{"line_number":100,"context_line":"        ]"},{"line_number":101,"context_line":"        endpoints \u003d ["},{"line_number":102,"context_line":"            NotificationEndpoint()"},{"line_number":103,"context_line":"        ]"},{"line_number":104,"context_line":"        listener \u003d oslo_messaging.get_notification_listener("},{"line_number":105,"context_line":"            transport,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_85100baa","line":102,"updated":"2015-07-17 14:41:26.000000000","message":"pass in self.plugins to NotificationEndpoint?","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"},{"author":{"_account_id":8959,"name":"Lakshmi N Sampath","email":"lakshmi.sampath@hp.com","username":"lakshmi"},"change_message_id":"e49ac8e87136164d26e8b2592cb601cee84e9a4f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            for pl_topic, pl_exchange in self.topics_exchanges_set"},{"line_number":100,"context_line":"        ]"},{"line_number":101,"context_line":"        endpoints \u003d ["},{"line_number":102,"context_line":"            NotificationEndpoint()"},{"line_number":103,"context_line":"        ]"},{"line_number":104,"context_line":"        listener \u003d oslo_messaging.get_notification_listener("},{"line_number":105,"context_line":"            transport,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_d1d844f2","line":102,"in_reply_to":"9a41bdd9_85100baa","updated":"2015-07-20 04:45:04.000000000","message":"done.","commit_id":"07eb74a33dd603c9b267e00d0f2321dc59df86f8"}]}
