)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"881684b50e86b9e3b97bf82589ba28d54f4f7e33","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-20 17:06:18 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add \u0027rate:mean\u0027 to \u0027GNOCCHI_EXTRA_SCHEMA\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_007245e6","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":41},"updated":"2019-05-21 08:29:58.000000000","message":"Maybe \"to gnocchi collector aggregation methods\" is more explicit ?","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bb2bef646161d3486bd25e2170a4cb5daa2b2b26","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-20 17:06:18 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add \u0027rate:mean\u0027 to \u0027GNOCCHI_EXTRA_SCHEMA\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_2c33c2ad","line":7,"range":{"start_line":7,"start_character":19,"end_line":7,"end_character":41},"in_reply_to":"bfb3d3c7_007245e6","updated":"2019-05-21 11:17:06.000000000","message":"Sure. Why not.\nDone.","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"881684b50e86b9e3b97bf82589ba28d54f4f7e33","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add \u0027rate:mean\u0027 to \u0027GNOCCHI_EXTRA_SCHEMA\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"},{"line_number":11,"context_line":" via Kolla-ansible."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I18cc9e4441428f3666f487d6671ccfb7b3f26f2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_c0ae6d2d","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"updated":"2019-05-21 08:29:58.000000000","message":"Whitespace","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bb2bef646161d3486bd25e2170a4cb5daa2b2b26","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add \u0027rate:mean\u0027 to \u0027GNOCCHI_EXTRA_SCHEMA\u0027"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"},{"line_number":11,"context_line":" via Kolla-ansible."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I18cc9e4441428f3666f487d6671ccfb7b3f26f2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_ec2cca48","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":1},"in_reply_to":"bfb3d3c7_c0ae6d2d","updated":"2019-05-21 11:17:06.000000000","message":"Done","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"881684b50e86b9e3b97bf82589ba28d54f4f7e33","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"},{"line_number":11,"context_line":" via Kolla-ansible."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I18cc9e4441428f3666f487d6671ccfb7b3f26f2f"},{"line_number":14,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_60ab011d","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":1},"updated":"2019-05-21 08:29:58.000000000","message":"Whitespace","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bb2bef646161d3486bd25e2170a4cb5daa2b2b26","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":" to avoid hiding a schema validation error when deploying Cloudkitty"},{"line_number":11,"context_line":" via Kolla-ansible."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I18cc9e4441428f3666f487d6671ccfb7b3f26f2f"},{"line_number":14,"context_line":"Signed-off-by: Rafael Weingärtner \u003crafael@apache.org\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_8c218e50","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":1},"in_reply_to":"bfb3d3c7_60ab011d","updated":"2019-05-21 11:17:06.000000000","message":"Done","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"22257eebbc408931ff0fa64122ce7484ffed568e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-21 08:13:23 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add \u0027rate:mean\u0027 to gnocchi collector aggregation methods"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"I also added a try/catch block in the method \u0027check_configuration\u0027"},{"line_number":10,"context_line":"to avoid hiding a schema validation error when deploying Cloudkitty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bfb3d3c7_22e2e9d6","line":7,"range":{"start_line":7,"start_character":5,"end_line":7,"end_character":14},"updated":"2019-05-21 12:36:54.000000000","message":"nit: \"rate:xxx\"","commit_id":"b8a93bfa1f0ee9a05def4051fcc5bfb51d710841"}],"cloudkitty/collector/__init__.py":[{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"22257eebbc408931ff0fa64122ce7484ffed568e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import abc"},{"line_number":19,"context_line":"import fractions"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import voluptuous"},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":"from oslo_log import log as logging"},{"line_number":24,"context_line":"import six"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_028a451a","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":17},"updated":"2019-05-21 12:36:54.000000000","message":"(pep8) add `from voluptuous import Error as VoluptuousError` between `from voluptuous import Coerce` and `from voluptuous import In`","commit_id":"b8a93bfa1f0ee9a05def4051fcc5bfb51d710841"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"22257eebbc408931ff0fa64122ce7484ffed568e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"COLLECTORS_NAMESPACE \u003d \u0027cloudkitty.collector.backends\u0027"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def MetricDict(value):"},{"line_number":66,"context_line":"    if isinstance(value, dict) and len(value.keys()) \u003e 0:"},{"line_number":67,"context_line":"        return value"}],"source_content_type":"text/x-python","patch_set":5,"id":"bfb3d3c7_a2cc9989","line":64,"updated":"2019-05-21 12:36:54.000000000","message":"(PEP8) Add an empty line here","commit_id":"b8a93bfa1f0ee9a05def4051fcc5bfb51d710841"}],"cloudkitty/collector/gnocchi.py":[{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"881684b50e86b9e3b97bf82589ba28d54f4f7e33","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        # This parameter permits to adapt the key of the resource identifier"},{"line_number":98,"context_line":"        Required(\u0027resource_key\u0027, default\u003d\u0027id\u0027): All(str, Length(min\u003d1)),"},{"line_number":99,"context_line":"        Required(\u0027aggregation_method\u0027, default\u003d\u0027max\u0027):"},{"line_number":100,"context_line":"            In([\u0027max\u0027, \u0027mean\u0027, \u0027min\u0027, \u0027rate:mean\u0027]),"},{"line_number":101,"context_line":"    },"},{"line_number":102,"context_line":"}"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_00b005f4","line":100,"range":{"start_line":100,"start_character":16,"end_line":100,"end_character":49},"updated":"2019-05-21 08:29:58.000000000","message":"Please add `rate:max` and `rate:min` as well.","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bb2bef646161d3486bd25e2170a4cb5daa2b2b26","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        # This parameter permits to adapt the key of the resource identifier"},{"line_number":98,"context_line":"        Required(\u0027resource_key\u0027, default\u003d\u0027id\u0027): All(str, Length(min\u003d1)),"},{"line_number":99,"context_line":"        Required(\u0027aggregation_method\u0027, default\u003d\u0027max\u0027):"},{"line_number":100,"context_line":"            In([\u0027max\u0027, \u0027mean\u0027, \u0027min\u0027, \u0027rate:mean\u0027]),"},{"line_number":101,"context_line":"    },"},{"line_number":102,"context_line":"}"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_ccdc6648","line":100,"range":{"start_line":100,"start_character":16,"end_line":100,"end_character":49},"in_reply_to":"bfb3d3c7_00b005f4","updated":"2019-05-21 11:17:06.000000000","message":"Done","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":23060,"name":"Luka Peschke","email":"mail@lukapeschke.com","username":"lukapeschke"},"change_message_id":"881684b50e86b9e3b97bf82589ba28d54f4f7e33","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                LOG.error(\u0027Problem while checking the configuration for metric\u0027"},{"line_number":163,"context_line":"                          \u0027[name\u003d%s, metric\u003d%s] against the Gnocchi metric\u0027"},{"line_number":164,"context_line":"                          \u0027schema.\u0027 % (metric_name, metric))"},{"line_number":165,"context_line":"                raise"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            if met[\u0027extra_args\u0027][\u0027resource_key\u0027] not in met[\u0027groupby\u0027]:"},{"line_number":168,"context_line":"                met[\u0027groupby\u0027].append(met[\u0027extra_args\u0027][\u0027resource_key\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_60fd4139","line":165,"updated":"2019-05-21 08:29:58.000000000","message":"I\u0027d rather have this exception caught here: https://github.com/openstack/cloudkitty/blob/8f3d1308924776efd55f3ed4dcf2ac0f1ca10c02/cloudkitty/collector/__init__.py#L182, so we have it for all collectors. Could you please make it a separate commit ?\n\nAlso, I\u0027d recommend to catch `voluptuous.Error`, which is the base exception for all voluptuous exceptions.","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"bb2bef646161d3486bd25e2170a4cb5daa2b2b26","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                LOG.error(\u0027Problem while checking the configuration for metric\u0027"},{"line_number":163,"context_line":"                          \u0027[name\u003d%s, metric\u003d%s] against the Gnocchi metric\u0027"},{"line_number":164,"context_line":"                          \u0027schema.\u0027 % (metric_name, metric))"},{"line_number":165,"context_line":"                raise"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"            if met[\u0027extra_args\u0027][\u0027resource_key\u0027] not in met[\u0027groupby\u0027]:"},{"line_number":168,"context_line":"                met[\u0027groupby\u0027].append(met[\u0027extra_args\u0027][\u0027resource_key\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_0c8a7e1a","line":165,"in_reply_to":"bfb3d3c7_60fd4139","updated":"2019-05-21 11:17:06.000000000","message":"Sure, I can catch the \u0027voluptuous.Error\u0027 exception.","commit_id":"27f4c9b54a75cc67f1766aab36d102a27988fe05"}]}
