)]}'
{"ceilometer/agent/plugin_base.py":[{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"288593f9c9c67ce3f21a27121a607c3bae1bd772","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    def __init__(self, manager):"},{"line_number":93,"context_line":"        super(NotificationBase, self).__init__()"},{"line_number":94,"context_line":"        # NOTE(gordc): this is filter rule used by oslo.messaging to dispatch"},{"line_number":95,"context_line":"        # messages to an endpoint."},{"line_number":96,"context_line":"        if self.event_types and self.event_types is not []:"},{"line_number":97,"context_line":"            self.filter_rule \u003d oslo_messaging.NotificationFilter("},{"line_number":98,"context_line":"                event_type\u003d\u0027|\u0027.join(self.event_types))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_e8fd516f","line":95,"updated":"2015-07-20 08:11:22.000000000","message":"Why \"if self.event_types:\" is not enough?","commit_id":"3928a4b06efea93fb4dad708821e12ee5c2da3e7"}],"ceilometer/exchange_control.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7d7ae5894fb29dcf1f3e3232b33f832ae6d88cda","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EXCHANGE_OPTS \u003d ["},{"line_number":17,"context_line":"    cfg.StrOpt(\u0027heat_control_exchange\u0027,"},{"line_number":18,"context_line":"               default\u003d\u0027heat\u0027,"},{"line_number":19,"context_line":"               help\u003d\"Exchange name for Heat notifications\"),"},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027keystone_control_exchange\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_c2f76d89","line":17,"updated":"2015-07-22 19:57:12.000000000","message":"i\u0027m pretty sure you need to drop all the exchanges in other files or you\u0027ll be double defining them.","commit_id":"3da9fef9182a7ce6fe528188dbb63bbccfe3d242"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"d7240b85dabcd90a88b792b96998a54b9fb68386","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EXCHANGE_OPTS \u003d ["},{"line_number":17,"context_line":"    cfg.StrOpt(\u0027heat_control_exchange\u0027,"},{"line_number":18,"context_line":"               default\u003d\u0027heat\u0027,"},{"line_number":19,"context_line":"               help\u003d\"Exchange name for Heat notifications\"),"},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027keystone_control_exchange\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a50d1a3_53324df3","line":17,"in_reply_to":"3a50d1a3_c2f76d89","updated":"2015-07-22 20:48:55.000000000","message":"even if the extension is not loaded?","commit_id":"3da9fef9182a7ce6fe528188dbb63bbccfe3d242"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a2b697ba2fbba5b84fd5e340fc7693148b962126","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EXCHANGE_OPTS \u003d ["},{"line_number":17,"context_line":"    cfg.StrOpt(\u0027heat_control_exchange\u0027,"},{"line_number":18,"context_line":"               default\u003d\u0027heat\u0027,"},{"line_number":19,"context_line":"               help\u003d\"Exchange name for Heat notifications\"),"},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027keystone_control_exchange\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_20f25b07","line":17,"updated":"2015-07-24 14:40:43.000000000","message":"to be honest. it\u0027s hard to track when you partially disable and enable stuff. is there a way to do it so you: enable new heat, disable and delete old heat, etc...","commit_id":"83eb59135a68ac9430a280a4e21d4a6602e5f7f3"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"8dbb94b5a1bad4f90b275c6b7fd8eb777cd69722","unresolved":false,"context_lines":[{"line_number":14,"context_line":"from oslo_config import cfg"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"EXCHANGE_OPTS \u003d ["},{"line_number":17,"context_line":"    cfg.StrOpt(\u0027heat_control_exchange\u0027,"},{"line_number":18,"context_line":"               default\u003d\u0027heat\u0027,"},{"line_number":19,"context_line":"               help\u003d\"Exchange name for Heat notifications\"),"},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027keystone_control_exchange\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_41dd226f","line":17,"in_reply_to":"3a50d1a3_20f25b07","updated":"2015-07-24 17:47:31.000000000","message":"only way i see is to check in an empty meter.yaml and add our way up.. but since we already merged, it just seems more work to undo that and redo it again.","commit_id":"83eb59135a68ac9430a280a4e21d4a6602e5f7f3"}],"ceilometer/meter/notifications.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"a2b697ba2fbba5b84fd5e340fc7693148b962126","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    else:"},{"line_number":127,"context_line":"        LOG.debug(_LE(\"No Meter Definitions configuration file found!\""},{"line_number":128,"context_line":"                  \" Using default config.\"))"},{"line_number":129,"context_line":"        meters_config \u003d []"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    LOG.info(_LE(\"Meter Definitions: %s\"), meters_config)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_9d2e38a4","line":129,"updated":"2015-07-24 14:40:43.000000000","message":"this is weird. why do we return a list if no match, but a dict if match.","commit_id":"83eb59135a68ac9430a280a4e21d4a6602e5f7f3"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"8dbb94b5a1bad4f90b275c6b7fd8eb777cd69722","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    else:"},{"line_number":127,"context_line":"        LOG.debug(_LE(\"No Meter Definitions configuration file found!\""},{"line_number":128,"context_line":"                  \" Using default config.\"))"},{"line_number":129,"context_line":"        meters_config \u003d []"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    LOG.info(_LE(\"Meter Definitions: %s\"), meters_config)"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3a50d1a3_41c44291","line":129,"in_reply_to":"3a50d1a3_9d2e38a4","updated":"2015-07-24 17:47:31.000000000","message":"agreed","commit_id":"83eb59135a68ac9430a280a4e21d4a6602e5f7f3"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"55f8bc01c2196a832e3ac93c789bbaf106c00b8f","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # TODO(prad): this is so grenade doesnt complain on missing file"},{"line_number":100,"context_line":"        # we will remove this in the next release cycle."},{"line_number":101,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":102,"context_line":"            __name__, \"data/_meters.yaml\")"},{"line_number":103,"context_line":"    return config_file"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_045c7317","line":102,"updated":"2015-07-29 03:13:37.000000000","message":"are we not able to reference etc/ceilometer/meters.yaml? i think cdent\u0027s idea was to point to that and if that works we can just remove the TODO","commit_id":"d09e361da57e136766b57c6e8a70cf40a8fb53af"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7a6aa71444929388b6ae9d3300488932f56e4c5d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # TODO(prad): this is so grenade doesnt complain on missing file"},{"line_number":100,"context_line":"        # we will remove this in the next release cycle."},{"line_number":101,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":102,"context_line":"            __name__, \"data/_meters.yaml\")"},{"line_number":103,"context_line":"    return config_file"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_b16a8d7f","line":102,"in_reply_to":"3a50d1a3_045c7317","updated":"2015-07-29 11:08:33.000000000","message":"No, my idea was pretty much as prad\u0027s implemented it: put the code in-tree (so that it is available to an installed ceilometer without reference to the source repo).","commit_id":"d09e361da57e136766b57c6e8a70cf40a8fb53af"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"a9f5235cac4e500e394b37990042b2758101476a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # TODO(prad): this is so grenade doesnt complain on missing file"},{"line_number":100,"context_line":"        # we will remove this in the next release cycle."},{"line_number":101,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":102,"context_line":"            __name__, \"data/_meters.yaml\")"},{"line_number":103,"context_line":"    return config_file"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"3a50d1a3_822b8181","line":102,"in_reply_to":"3a50d1a3_b16a8d7f","updated":"2015-07-29 12:09:12.000000000","message":"Yea from what i remember, this is what we all agreed on.","commit_id":"d09e361da57e136766b57c6e8a70cf40a8fb53af"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"bee844b615bdd724e3df7a5c851c6bb6ff8424ff","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        config_file \u003d cfg.CONF.find_file(config_file)"},{"line_number":99,"context_line":"    if not config_file:"},{"line_number":100,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":101,"context_line":"            __name__, \"data/meters.yaml\")"},{"line_number":102,"context_line":"    return config_file"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_68ddae13","line":101,"updated":"2015-08-04 08:20:42.000000000","message":"why need this ? or just use:\nos.path.dirname(__file__) + \"data/meters.yaml\" ?","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"2a70170f1d4336c17d26ca3100bfc469fb8b7803","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        config_file \u003d cfg.CONF.find_file(config_file)"},{"line_number":99,"context_line":"    if not config_file:"},{"line_number":100,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":101,"context_line":"            __name__, \"data/meters.yaml\")"},{"line_number":102,"context_line":"    return config_file"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_775ca24b","line":101,"in_reply_to":"1a4dcd0f_0bd984f3","updated":"2015-08-04 11:19:07.000000000","message":"Chris, thanks for clarify me ;)","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"876c45ccc29d037dfc839594252a943e525bde37","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        config_file \u003d cfg.CONF.find_file(config_file)"},{"line_number":99,"context_line":"    if not config_file:"},{"line_number":100,"context_line":"        config_file \u003d pkg_resources.resource_filename("},{"line_number":101,"context_line":"            __name__, \"data/meters.yaml\")"},{"line_number":102,"context_line":"    return config_file"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_0bd984f3","line":101,"in_reply_to":"1a4dcd0f_68ddae13","updated":"2015-08-04 08:28:11.000000000","message":"because of pkg_resources, it needs to work in eggs, not just files.","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"}],"ceilometer/tests/meter/test_notifications.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f49a43f0efbbc9fe1be4572cb501d276e309d7dd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.CONF \u003d self.useFixture(fixture_config.Config()).conf"},{"line_number":85,"context_line":"        self.CONF.set_override("},{"line_number":86,"context_line":"            \u0027meter_definitions_cfg_file\u0027,"},{"line_number":87,"context_line":"            self.path_get(\u0027ceilometer/meter/data/meters.yaml\u0027), group\u003d\u0027meter\u0027)"},{"line_number":88,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_d4c7f595","line":87,"updated":"2015-07-29 16:52:28.000000000","message":"Is there a test where this isn\u0027t set at all, so that the pkg_resource pathway is tested?","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"82bf2b421c436569ad74fa1643238448ef8aa216","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.CONF \u003d self.useFixture(fixture_config.Config()).conf"},{"line_number":85,"context_line":"        self.CONF.set_override("},{"line_number":86,"context_line":"            \u0027meter_definitions_cfg_file\u0027,"},{"line_number":87,"context_line":"            self.path_get(\u0027ceilometer/meter/data/meters.yaml\u0027), group\u003d\u0027meter\u0027)"},{"line_number":88,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_a3746ece","line":87,"in_reply_to":"3a50d1a3_7d74c566","updated":"2015-07-29 18:07:09.000000000","message":"Perhaps but it seems like something the unit tests can and should confirm as well.","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"2384b826cb144c7dbd7cbcdf0c0d85a1fae38c2a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        self.CONF \u003d self.useFixture(fixture_config.Config()).conf"},{"line_number":85,"context_line":"        self.CONF.set_override("},{"line_number":86,"context_line":"            \u0027meter_definitions_cfg_file\u0027,"},{"line_number":87,"context_line":"            self.path_get(\u0027ceilometer/meter/data/meters.yaml\u0027), group\u003d\u0027meter\u0027)"},{"line_number":88,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_7d74c566","line":87,"in_reply_to":"3a50d1a3_d4c7f595","updated":"2015-07-29 17:32:26.000000000","message":"isnt that what the tempest tests already confirming to us?","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"37d35984ea502faa1a036db091501f1b59453c37","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_fallback_meter_path(self):"},{"line_number":90,"context_line":"        fall_bak_path \u003d notifications.get_config_file()"},{"line_number":91,"context_line":"        self.assertIn(\"meter/data/meters.yaml\", fall_bak_path)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_323b8ded","line":90,"updated":"2015-08-04 09:44:30.000000000","message":"is this an intentional bak instead of back?","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"8b2be1e67d78968cf7f9aa7e5674029aacff227e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_fallback_meter_path(self):"},{"line_number":90,"context_line":"        fall_bak_path \u003d notifications.get_config_file()"},{"line_number":91,"context_line":"        self.assertIn(\"meter/data/meters.yaml\", fall_bak_path)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_3db03443","line":90,"in_reply_to":"1a4dcd0f_323b8ded","updated":"2015-08-04 12:24:15.000000000","message":"lol, i give it 6 months before someone puts a spelling patch in.","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"29a314eb388f3078f5b05fec4bebf925bceacec2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.handler \u003d notifications.ProcessMeterNotifications(mock.Mock())"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def test_fallback_meter_path(self):"},{"line_number":90,"context_line":"        fall_bak_path \u003d notifications.get_config_file()"},{"line_number":91,"context_line":"        self.assertIn(\"meter/data/meters.yaml\", fall_bak_path)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def __setup_meter_def_file(self, cfg):"}],"source_content_type":"text/x-python","patch_set":20,"id":"1a4dcd0f_07871ed8","line":90,"in_reply_to":"1a4dcd0f_3db03443","updated":"2015-08-04 14:41:26.000000000","message":"lol it was not intentional. But i\u0027ll leave it in as a freebie for someone to fix :)","commit_id":"dd25c518c161c03d83f326e3ff6121b8cdf70c77"}],"ceilometer/tests/test_notification.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"c7d4a5508e1e87750b931ae3c7ed511f65293901","unresolved":false,"context_lines":[{"line_number":401,"context_line":"        fake_coord1 \u003d mock.MagicMock()"},{"line_number":402,"context_line":"        fake_coord1.extract_my_subset.side_effect \u003d lambda x, y: y"},{"line_number":403,"context_line":"        fake_coord.return_value \u003d fake_coord1"},{"line_number":404,"context_line":"        self.expected_samples \u003d 3"},{"line_number":405,"context_line":"        self._check_notification_service()"},{"line_number":406,"context_line":""},{"line_number":407,"context_line":"    @mock.patch(\u0027hmac.new\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a50d1a3_3c6918bf","line":404,"updated":"2015-07-20 19:04:52.000000000","message":"why would you get more samples?","commit_id":"4d0dad79f25e4d132339e8042a0dcf0e2a5c3578"}],"setup.cfg":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"2b8a65d9f53d92a810c38638513fe43f5f1c24b9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    volume \u003d ceilometer.volume.notifications:Volume"},{"line_number":52,"context_line":"    volume_size \u003d ceilometer.volume.notifications:VolumeSize"},{"line_number":53,"context_line":"    volume_crud \u003d ceilometer.volume.notifications:VolumeCRUD"},{"line_number":54,"context_line":"    snapshot \u003d ceilometer.volume.notifications:Snapshot"},{"line_number":55,"context_line":"    snapshot_size \u003d ceilometer.volume.notifications:SnapshotSize"},{"line_number":56,"context_line":"    snapshot_crud \u003d ceilometer.volume.notifications:SnapshotCRUD"},{"line_number":57,"context_line":"    authenticate \u003d ceilometer.identity.notifications:Authenticate"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9a41bdd9_d76d64cd","side":"PARENT","line":54,"updated":"2015-07-17 15:19:56.000000000","message":"Will you drop the code in an other patch ?","commit_id":"14d3fbb8e0058abb26d8bcd270038b155a777418"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"b6ccb8e981531f204f24e187294c0632c78aef3f","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    volume \u003d ceilometer.volume.notifications:Volume"},{"line_number":52,"context_line":"    volume_size \u003d ceilometer.volume.notifications:VolumeSize"},{"line_number":53,"context_line":"    volume_crud \u003d ceilometer.volume.notifications:VolumeCRUD"},{"line_number":54,"context_line":"    snapshot \u003d ceilometer.volume.notifications:Snapshot"},{"line_number":55,"context_line":"    snapshot_size \u003d ceilometer.volume.notifications:SnapshotSize"},{"line_number":56,"context_line":"    snapshot_crud \u003d ceilometer.volume.notifications:SnapshotCRUD"},{"line_number":57,"context_line":"    authenticate \u003d ceilometer.identity.notifications:Authenticate"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"9a41bdd9_d77b247a","side":"PARENT","line":54,"in_reply_to":"9a41bdd9_d76d64cd","updated":"2015-07-17 15:21:40.000000000","message":"yes i\u0027ll be deprecating the code in subsequent patch. Just trying to get the entry points and exchange controls to work.","commit_id":"14d3fbb8e0058abb26d8bcd270038b155a777418"},{"author":{"_account_id":7478,"name":"Nadya Shakhat","email":"nadmi4@gmail.com","username":"nprivalova"},"change_message_id":"288593f9c9c67ce3f21a27121a607c3bae1bd772","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    network.services.vpn.connections \u003d ceilometer.network.notifications:IPSecSiteConnection"},{"line_number":69,"context_line":"    objectstore.request \u003d ceilometer.objectstore.notifications:SwiftWsgiMiddleware"},{"line_number":70,"context_line":"    objectstore.request.meters \u003d ceilometer.objectstore.notifications:SwiftWsgiMiddlewareMeters"},{"line_number":71,"context_line":"    _sample \u003d ceilometer.telemetry.notifications:TelemetryApiPost"},{"line_number":72,"context_line":"    meter \u003d ceilometer.meter.notifications:ProcessMeterNotifications"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"ceilometer.discover \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":3,"id":"3a50d1a3_48bb25c5","line":71,"updated":"2015-07-20 08:11:22.000000000","message":"Some suggestions about naming: customized_meter or configurable_meter","commit_id":"3928a4b06efea93fb4dad708821e12ee5c2da3e7"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f49a43f0efbbc9fe1be4572cb501d276e309d7dd","unresolved":false,"context_lines":[{"line_number":25,"context_line":"[files]"},{"line_number":26,"context_line":"packages \u003d"},{"line_number":27,"context_line":"    ceilometer"},{"line_number":28,"context_line":"data_files \u003d"},{"line_number":29,"context_line":"    /etc/ceilometer/ \u003d"},{"line_number":30,"context_line":"        ceilometer/meter/data/meters.yaml"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":15,"id":"3a50d1a3_14079dca","line":28,"updated":"2015-07-29 16:52:28.000000000","message":"Does this do anything?\n\nIf it does, then having this here will break non sudo-installs (such as in virtenvs) on the machines of people just messing around.\n\nSo I reckon we don\u0027t want this, unless the some compelling reason.","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"},{"author":{"_account_id":6924,"name":"Pradeep Kilambi","email":"pkilambi@redhat.com","username":"pkilambi"},"change_message_id":"c2a6e74e44a2c170cf1d0ba4a785c6bcf09f7054","unresolved":false,"context_lines":[{"line_number":25,"context_line":"[files]"},{"line_number":26,"context_line":"packages \u003d"},{"line_number":27,"context_line":"    ceilometer"},{"line_number":28,"context_line":"data_files \u003d"},{"line_number":29,"context_line":"    /etc/ceilometer/ \u003d"},{"line_number":30,"context_line":"        ceilometer/meter/data/meters.yaml"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":15,"id":"3a50d1a3_bd1d6d63","line":28,"in_reply_to":"3a50d1a3_14079dca","updated":"2015-07-29 17:27:37.000000000","message":"this handles the case where when you do setup.py install it makes sure the meters.yaml is in etc/ceilometer. If we dont really need that, we can skip.","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"82bf2b421c436569ad74fa1643238448ef8aa216","unresolved":false,"context_lines":[{"line_number":25,"context_line":"[files]"},{"line_number":26,"context_line":"packages \u003d"},{"line_number":27,"context_line":"    ceilometer"},{"line_number":28,"context_line":"data_files \u003d"},{"line_number":29,"context_line":"    /etc/ceilometer/ \u003d"},{"line_number":30,"context_line":"        ceilometer/meter/data/meters.yaml"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":15,"id":"3a50d1a3_6351862f","line":28,"in_reply_to":"3a50d1a3_bd1d6d63","updated":"2015-07-29 18:07:09.000000000","message":"etc/ceilometer or /etc/ceilometer\n\nIf the former, why would we want to? If the latter, then that has all the permission issues I mentioned in my previous comment.","commit_id":"fcf42f8641fba7ff679ebd3c666afc5e23e2e859"}]}
