)]}'
{"ceilometer/api/controllers/v2/root.py":[{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"1166462a59fd221368ed78cef55c6333e60220d1","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                self._gnocchi_is_enabled \u003d cfg.CONF.api.gnocchi_is_enabled"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            elif (\"gnocchi\" not in cfg.CONF.meter_dispatchers"},{"line_number":113,"context_line":"                  or \"database\" in cfg.CONF.meter_dispatchers):"},{"line_number":114,"context_line":"                self._gnocchi_is_enabled \u003d False"},{"line_number":115,"context_line":"            else:"},{"line_number":116,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_a6e52fa9","line":113,"updated":"2015-09-25 13:55:58.000000000","message":"Do we also need to check for other dispatcher types (eg file, http) here?","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"}],"ceilometer/collector.py":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"e3739a011589cd02012f6357ce55beb404706e5e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.BoolOpt(\u0027record_events\u0027,"},{"line_number":59,"context_line":"                default\u003d\u0027${notification.store_events}\u0027,"},{"line_number":60,"context_line":"                help\u003d\u0027Enable the collector to use dispatchers to record \u0027"},{"line_number":61,"context_line":"                \u0027the events.\u0027)"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_2068b986","line":61,"updated":"2015-09-01 03:21:51.000000000","message":"why don\u0027t just use notification.store_events option directly for checking ?","commit_id":"7ac467d0259ff7aadf89fc657e849b445e5bc0f8"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"0fbaee2a94101617b6b9daf24afc2c850860d261","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    cfg.BoolOpt(\u0027record_events\u0027,"},{"line_number":59,"context_line":"                default\u003d\u0027${notification.store_events}\u0027,"},{"line_number":60,"context_line":"                help\u003d\u0027Enable the collector to use dispatchers to record \u0027"},{"line_number":61,"context_line":"                \u0027the events.\u0027)"},{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"LOG \u003d log.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_4b42e53f","line":61,"in_reply_to":"da20952f_2068b986","updated":"2015-09-24 14:19:14.000000000","message":"agree. i think this is beyond scope of bug.","commit_id":"7ac467d0259ff7aadf89fc657e849b445e5bc0f8"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"0a1ae85b76c98f60dfd79a73645dd8b7af52c68e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":65,"context_line":"CONF \u003d cfg.CONF"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"CONF.register_opts(OPTS, group\u003d\"collector\")"},{"line_number":68,"context_line":"CONF.import_opt(\u0027metering_topic\u0027, \u0027ceilometer.publisher.messaging\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_5e60a035","line":65,"updated":"2015-08-27 09:17:26.000000000","message":"Just a note: doing this change at the same time as doing the change you\u0027re actually doing is making this diff a bit harder to read as there are plenty of unrelated changes.\n\nI do however agree that assigning to CONF is a nice cleanup.","commit_id":"7ac467d0259ff7aadf89fc657e849b445e5bc0f8"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"1166462a59fd221368ed78cef55c6333e60220d1","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \"\"\"Bind the UDP socket and handle incoming data.\"\"\""},{"line_number":74,"context_line":"        # ensure dispatcher is configured before starting other services"},{"line_number":75,"context_line":"        dispatcher_managers \u003d dispatcher.load_dispatcher_manager()"},{"line_number":76,"context_line":"        (self.sample_dispatchers, self.event_dispatchers) \u003d dispatcher_managers"},{"line_number":77,"context_line":"        self.rpc_server \u003d None"},{"line_number":78,"context_line":"        self.sample_listener \u003d None"},{"line_number":79,"context_line":"        self.event_listener \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_66d07754","line":76,"updated":"2015-09-25 13:55:58.000000000","message":"the prefix sample in self.sample_dispatchers when meter is passed as arg to_load_dispatcher_manager, it would be consistent to stick with one.","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"93888f93147d47d1393483a61df49b5bccb29267","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \"\"\"Bind the UDP socket and handle incoming data.\"\"\""},{"line_number":74,"context_line":"        # ensure dispatcher is configured before starting other services"},{"line_number":75,"context_line":"        dispatcher_managers \u003d dispatcher.load_dispatcher_manager()"},{"line_number":76,"context_line":"        (self.sample_dispatchers, self.event_dispatchers) \u003d dispatcher_managers"},{"line_number":77,"context_line":"        self.rpc_server \u003d None"},{"line_number":78,"context_line":"        self.sample_listener \u003d None"},{"line_number":79,"context_line":"        self.event_listener \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_7de3f833","line":76,"in_reply_to":"9a1a9d01_66d07754","updated":"2015-09-28 05:58:29.000000000","message":"Done","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0a8ae27aaedeaefa71cfd813da5a6b22b7b0d0de","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                sample_target \u003d oslo_messaging.Target("},{"line_number":95,"context_line":"                    topic\u003dcfg.CONF.publisher_notifier.metering_topic)"},{"line_number":96,"context_line":"                self.sample_listener \u003d messaging.get_notification_listener("},{"line_number":97,"context_line":"                    transport, [sample_target],"},{"line_number":98,"context_line":"                    [SampleEndpoint(self.meter_dispatchers)],"},{"line_number":99,"context_line":"                    allow_requeue\u003d(cfg.CONF.collector."},{"line_number":100,"context_line":"                                   requeue_sample_on_dispatcher_error))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_759d1bbb","line":97,"updated":"2015-09-29 07:17:22.000000000","message":"I\u0027m not sure it\u0027s ok to send a list of dispatchers into SampleEndpoint. In the line 178 map_method will be applied to list","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"053969b1e905f9e721c20c2cbf5d4767969426bb","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                sample_target \u003d oslo_messaging.Target("},{"line_number":95,"context_line":"                    topic\u003dcfg.CONF.publisher_notifier.metering_topic)"},{"line_number":96,"context_line":"                self.sample_listener \u003d messaging.get_notification_listener("},{"line_number":97,"context_line":"                    transport, [sample_target],"},{"line_number":98,"context_line":"                    [SampleEndpoint(self.meter_dispatchers)],"},{"line_number":99,"context_line":"                    allow_requeue\u003d(cfg.CONF.collector."},{"line_number":100,"context_line":"                                   requeue_sample_on_dispatcher_error))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_d2796f83","line":97,"in_reply_to":"9a1a9d01_759d1bbb","updated":"2015-09-30 01:54:08.000000000","message":"actually, the meter_dispatchers and event_dispatchers are stevedore extension manager. I\u0027ll change change the variable name because it\u0027s confusing.","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"23531a7d6f2951442ef8bf9114d692a89d38676e","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                            \u0027Please switch to notifier publisher.\u0027)"},{"line_number":90,"context_line":"                self.rpc_server \u003d messaging.get_rpc_server("},{"line_number":91,"context_line":"                    transport, cfg.CONF.publisher_rpc.metering_topic, self)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            if list(self.meter_manager):"},{"line_number":94,"context_line":"                sample_target \u003d oslo_messaging.Target("},{"line_number":95,"context_line":"                    topic\u003dcfg.CONF.publisher_notifier.metering_topic)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_df534a6b","line":92,"updated":"2015-10-02 08:06:37.000000000","message":"Why do you use \u0027list\u0027 here?","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"d682e40263bc1d079bbd201e770106386db83d20","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                            \u0027Please switch to notifier publisher.\u0027)"},{"line_number":90,"context_line":"                self.rpc_server \u003d messaging.get_rpc_server("},{"line_number":91,"context_line":"                    transport, cfg.CONF.publisher_rpc.metering_topic, self)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"            if list(self.meter_manager):"},{"line_number":94,"context_line":"                sample_target \u003d oslo_messaging.Target("},{"line_number":95,"context_line":"                    topic\u003dcfg.CONF.publisher_notifier.metering_topic)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_45b42434","line":92,"in_reply_to":"9a1a9d01_df534a6b","updated":"2015-10-03 09:18:28.000000000","message":"Just in case the user set meter_dispatchers\u003d[], in that case, we don\u0027t need to enable it because we don\u0027t have any available dispatcher at all.","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"}],"ceilometer/dispatcher/__init__.py":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"e3739a011589cd02012f6357ce55beb404706e5e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def _hasname(ext):"},{"line_number":41,"context_line":"    return ext.name in cfg.CONF.dispatcher"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def load_dispatcher_manager(need_samples\u003dTrue, need_events\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_c02e9d42","line":41,"updated":"2015-09-01 03:21:51.000000000","message":"this method isn\u0027t needed and the method name is weird ;(","commit_id":"7ac467d0259ff7aadf89fc657e849b445e5bc0f8"},{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"1166462a59fd221368ed78cef55c6333e60220d1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                    default\u003d[\u0027database\u0027],"},{"line_number":35,"context_line":"                    deprecated_name\u003d\u0027dispatcher\u0027,"},{"line_number":36,"context_line":"                    help\u003d\u0027Dispatcher to process event data.\u0027),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":"cfg.CONF.register_opts(OPTS)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_cba70c4e","line":37,"updated":"2015-09-25 13:55:58.000000000","message":"the new config opts here probably need a DocImpact flag?","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"93888f93147d47d1393483a61df49b5bccb29267","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                    default\u003d[\u0027database\u0027],"},{"line_number":35,"context_line":"                    deprecated_name\u003d\u0027dispatcher\u0027,"},{"line_number":36,"context_line":"                    help\u003d\u0027Dispatcher to process event data.\u0027),"},{"line_number":37,"context_line":"]"},{"line_number":38,"context_line":"cfg.CONF.register_opts(OPTS)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_1dd19c57","line":37,"in_reply_to":"9a1a9d01_cba70c4e","updated":"2015-09-28 05:58:29.000000000","message":"Done","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0a8ae27aaedeaefa71cfd813da5a6b22b7b0d0de","unresolved":false,"context_lines":[{"line_number":28,"context_line":"OPTS \u003d ["},{"line_number":29,"context_line":"    cfg.MultiStrOpt(\u0027meter_dispatchers\u0027,"},{"line_number":30,"context_line":"                    deprecated_name\u003d\u0027dispatcher\u0027,"},{"line_number":31,"context_line":"                    default\u003d[\u0027database\u0027],"},{"line_number":32,"context_line":"                    help\u003d\u0027Dispatcher to process metering data.\u0027),"},{"line_number":33,"context_line":"    cfg.MultiStrOpt(\u0027event_dispatchers\u0027,"},{"line_number":34,"context_line":"                    default\u003d[\u0027database\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_5a3e04db","line":31,"updated":"2015-09-29 07:17:22.000000000","message":"I\u0027m confused about amount of dispatchers. It is a list, right? Please fix \u0027help\u0027: \u0027DispatcherS to process metering data\u0027. The same about event_dispatchers","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"053969b1e905f9e721c20c2cbf5d4767969426bb","unresolved":false,"context_lines":[{"line_number":28,"context_line":"OPTS \u003d ["},{"line_number":29,"context_line":"    cfg.MultiStrOpt(\u0027meter_dispatchers\u0027,"},{"line_number":30,"context_line":"                    deprecated_name\u003d\u0027dispatcher\u0027,"},{"line_number":31,"context_line":"                    default\u003d[\u0027database\u0027],"},{"line_number":32,"context_line":"                    help\u003d\u0027Dispatcher to process metering data.\u0027),"},{"line_number":33,"context_line":"    cfg.MultiStrOpt(\u0027event_dispatchers\u0027,"},{"line_number":34,"context_line":"                    default\u003d[\u0027database\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_726743b7","line":31,"in_reply_to":"9a1a9d01_5a3e04db","updated":"2015-09-30 01:54:08.000000000","message":"Done","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"ae941629fc69a8b341ef11ee299bcbb6f5b9d634","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    # to propagate exceptions."},{"line_number":48,"context_line":"    dispatcher_manager \u003d named.NamedExtensionManager("},{"line_number":49,"context_line":"        namespace\u003dnamespace,"},{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name) or cfg.CONF.dispatcher,"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_44ae5d86","line":50,"updated":"2015-09-28 09:20:01.000000000","message":"nit: doesn\u0027t need the \"or cfg.CONF.dispatcher\", the meter_dispatcher and event_dispatcher will always exist.","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"053969b1e905f9e721c20c2cbf5d4767969426bb","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    # to propagate exceptions."},{"line_number":48,"context_line":"    dispatcher_manager \u003d named.NamedExtensionManager("},{"line_number":49,"context_line":"        namespace\u003dnamespace,"},{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name) or cfg.CONF.dispatcher,"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_122e0743","line":50,"in_reply_to":"9a1a9d01_44ae5d86","updated":"2015-09-30 01:54:08.000000000","message":"Done","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"23531a7d6f2951442ef8bf9114d692a89d38676e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name),"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"},{"line_number":54,"context_line":"    if not list(dispatcher_manager):"},{"line_number":55,"context_line":"        LOG.warning(_LW(\u0027Failed to load any dispatchers for %s\u0027),"},{"line_number":56,"context_line":"                    namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_ff73aee5","line":53,"updated":"2015-10-02 08:06:37.000000000","message":"The same question here... What if we have no dispatcher_managers? Would we have list(None)? If yes, we will get \"TypeError: \u0027NoneType\u0027 object is not iterable\" here","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"d682e40263bc1d079bbd201e770106386db83d20","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name),"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"},{"line_number":54,"context_line":"    if not list(dispatcher_manager):"},{"line_number":55,"context_line":"        LOG.warning(_LW(\u0027Failed to load any dispatchers for %s\u0027),"},{"line_number":56,"context_line":"                    namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_25b9f02e","line":53,"in_reply_to":"9a1a9d01_ebdc5076","updated":"2015-10-03 09:18:28.000000000","message":"True. If we have configurations like event_dispatchers\u003d[], the dispatcher_manager will still be existing, but having no extensions in it. That\u0027s where list(dispatcher_manager) will return [].","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"992e20cea1a93f5bde06fb3fa1888b80b94cb41b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name),"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"},{"line_number":54,"context_line":"    if not list(dispatcher_manager):"},{"line_number":55,"context_line":"        LOG.warning(_LW(\u0027Failed to load any dispatchers for %s\u0027),"},{"line_number":56,"context_line":"                    namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_80846ab1","line":53,"in_reply_to":"9a1a9d01_ebdc5076","updated":"2015-10-03 14:06:36.000000000","message":"seems my previous thought is wrong...","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"facbf65c2866d08fb137a1c5d2d5120caf67238a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        names\u003dgetattr(cfg.CONF, conf_name),"},{"line_number":51,"context_line":"        invoke_on_load\u003dTrue,"},{"line_number":52,"context_line":"        invoke_args\u003d[cfg.CONF],"},{"line_number":53,"context_line":"        propagate_map_exceptions\u003dTrue)"},{"line_number":54,"context_line":"    if not list(dispatcher_manager):"},{"line_number":55,"context_line":"        LOG.warning(_LW(\u0027Failed to load any dispatchers for %s\u0027),"},{"line_number":56,"context_line":"                    namespace)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_ebdc5076","line":53,"in_reply_to":"9a1a9d01_ff73aee5","updated":"2015-10-02 09:37:35.000000000","message":"I think at lease file, http dispatcher can be loaded, database may fail because back end may not be ready yet. so I think the dispatcher_manager will always not be none, if it does, something more terrible than this TypeError has already happened.","commit_id":"adaa57f062e13de47076f897411f2825ac3219ea"}],"ceilometer/dispatcher/file.py":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0a8ae27aaedeaefa71cfd813da5a6b22b7b0d0de","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    To enable this dispatcher, the following section needs to be present in"},{"line_number":50,"context_line":"    ceilometer.conf file"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    [DEFAULT]"},{"line_number":53,"context_line":"    meter_dispatcher \u003d file"},{"line_number":54,"context_line":"    event_dispatcher \u003d file"},{"line_number":55,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_b51bb372","line":52,"updated":"2015-09-29 07:17:22.000000000","message":"dispatcherS","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"053969b1e905f9e721c20c2cbf5d4767969426bb","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    To enable this dispatcher, the following section needs to be present in"},{"line_number":50,"context_line":"    ceilometer.conf file"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    [DEFAULT]"},{"line_number":53,"context_line":"    meter_dispatcher \u003d file"},{"line_number":54,"context_line":"    event_dispatcher \u003d file"},{"line_number":55,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_5218ff1d","line":52,"in_reply_to":"9a1a9d01_b51bb372","updated":"2015-09-30 01:54:08.000000000","message":"Done","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"}],"ceilometer/dispatcher/gnocchi.py":[{"author":{"_account_id":13560,"name":"Rohit Jaiswal","email":"rohit.jaiswal@gmail.com","username":"rjaiswal"},"change_message_id":"1166462a59fd221368ed78cef55c6333e60220d1","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        return metrics"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"class GnocchiDispatcher(dispatcher.MeterDispatcherBase):"},{"line_number":175,"context_line":"    def __init__(self, conf):"},{"line_number":176,"context_line":"        super(GnocchiDispatcher, self).__init__(conf)"},{"line_number":177,"context_line":"        self.conf \u003d conf"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_26827f01","line":174,"updated":"2015-09-25 13:55:58.000000000","message":"probably need a docstring comment (like other dispatchers) to indicate what values for each dispatcher type to use gnocchi for samples?","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"93888f93147d47d1393483a61df49b5bccb29267","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        return metrics"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"class GnocchiDispatcher(dispatcher.MeterDispatcherBase):"},{"line_number":175,"context_line":"    def __init__(self, conf):"},{"line_number":176,"context_line":"        super(GnocchiDispatcher, self).__init__(conf)"},{"line_number":177,"context_line":"        self.conf \u003d conf"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_3dd4a045","line":174,"in_reply_to":"9a1a9d01_26827f01","updated":"2015-09-28 05:58:29.000000000","message":"Done","commit_id":"1b17e9021f9754cbffeee374c9c7343903bb14e1"}],"ceilometer/dispatcher/http.py":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"0a8ae27aaedeaefa71cfd813da5a6b22b7b0d0de","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    To enable this dispatcher, the following option needs to be present in"},{"line_number":58,"context_line":"    ceilometer.conf file::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        [DEFAULT]"},{"line_number":61,"context_line":"        meter_dispatcher \u003d http"},{"line_number":62,"context_line":"        event_dispatcher \u003d http"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_f53ccbc9","line":60,"updated":"2015-09-29 07:17:22.000000000","message":"dispatcherS","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"053969b1e905f9e721c20c2cbf5d4767969426bb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    To enable this dispatcher, the following option needs to be present in"},{"line_number":58,"context_line":"    ceilometer.conf file::"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        [DEFAULT]"},{"line_number":61,"context_line":"        meter_dispatcher \u003d http"},{"line_number":62,"context_line":"        event_dispatcher \u003d http"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_12d5a71a","line":60,"in_reply_to":"9a1a9d01_f53ccbc9","updated":"2015-09-30 01:54:08.000000000","message":"Done","commit_id":"ce12222d11a4fb2cf45f3044a344c633b304a50a"}]}
