)]}'
{"doc/source/rest.j2":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"78e75cfc8ccea49d5b1c671c05bd68fe5bb5842c","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Existing archive policies can be modified to capture more or less data"},{"line_number":163,"context_line":"depending on requirements. The timespan coverage of an archive policy can be"},{"line_number":164,"context_line":"changed only if it contains a matching granularity:"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"{{ scenarios[\u0027update-archive-policy\u0027][\u0027doc\u0027] }}"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5a18252c_2b08ff2c","line":164,"updated":"2016-04-13 09:52:40.000000000","message":"You need to indicate what\u0027s going to happen on existing metric using this.","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"059c8d07b44e17136208f54cc2b281f1070428d8","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"{{ scenarios[\u0027list-archive-policy\u0027][\u0027doc\u0027] }}"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Existing archive policies can be modified to capture more or less data"},{"line_number":163,"context_line":"depending on requirements. Aggregated measures are updated when a new matching"},{"line_number":164,"context_line":"datapoint is received. If policy coverage is expanded, measures are not"},{"line_number":165,"context_line":"retroactively calculated as backfill to accommodate the new timespan:"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"5a18252c_869d7dbe","line":162,"range":{"start_line":162,"start_character":45,"end_line":162,"end_character":52},"updated":"2016-04-14 12:51:48.000000000","message":"\"retain\"?\n\nI don\u0027t know, capture makes me think of wild animals and nets.","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f5962f401bab0d847f338c400915db1451a2bb6a","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"{{ scenarios[\u0027list-archive-policy\u0027][\u0027doc\u0027] }}"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Existing archive policies can be modified to capture more or less data"},{"line_number":163,"context_line":"depending on requirements. Aggregated measures are updated when a new matching"},{"line_number":164,"context_line":"datapoint is received. If policy coverage is expanded, measures are not"},{"line_number":165,"context_line":"retroactively calculated as backfill to accommodate the new timespan:"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"5a18252c_fd431b11","line":162,"range":{"start_line":162,"start_character":45,"end_line":162,"end_character":52},"in_reply_to":"5a18252c_869d7dbe","updated":"2016-04-14 15:02:31.000000000","message":"Done","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"059c8d07b44e17136208f54cc2b281f1070428d8","unresolved":false,"context_lines":[{"line_number":160,"context_line":"{{ scenarios[\u0027list-archive-policy\u0027][\u0027doc\u0027] }}"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Existing archive policies can be modified to capture more or less data"},{"line_number":163,"context_line":"depending on requirements. Aggregated measures are updated when a new matching"},{"line_number":164,"context_line":"datapoint is received. If policy coverage is expanded, measures are not"},{"line_number":165,"context_line":"retroactively calculated as backfill to accommodate the new timespan:"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"{{ scenarios[\u0027update-archive-policy\u0027][\u0027doc\u0027] }}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"5a18252c_a67fd964","line":164,"range":{"start_line":163,"start_character":26,"end_line":164,"end_character":22},"updated":"2016-04-14 12:51:48.000000000","message":"This is true even outside the scope of its patch so I don\u0027t think it helps understanding what this next REST call will imply.","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f5962f401bab0d847f338c400915db1451a2bb6a","unresolved":false,"context_lines":[{"line_number":160,"context_line":"{{ scenarios[\u0027list-archive-policy\u0027][\u0027doc\u0027] }}"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Existing archive policies can be modified to capture more or less data"},{"line_number":163,"context_line":"depending on requirements. Aggregated measures are updated when a new matching"},{"line_number":164,"context_line":"datapoint is received. If policy coverage is expanded, measures are not"},{"line_number":165,"context_line":"retroactively calculated as backfill to accommodate the new timespan:"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"{{ scenarios[\u0027update-archive-policy\u0027][\u0027doc\u0027] }}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"5a18252c_1db25706","line":164,"range":{"start_line":163,"start_character":26,"end_line":164,"end_character":22},"in_reply_to":"5a18252c_a67fd964","updated":"2016-04-14 15:02:31.000000000","message":"Done","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"}],"doc/source/rest.yaml":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"78e75cfc8ccea49d5b1c671c05bd68fe5bb5842c","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    PATCH /v1/archive_policy/{{ scenarios[\u0027create-archive-policy\u0027][\u0027response\u0027].json[\u0027name\u0027] }} HTTP/1.1"},{"line_number":51,"context_line":"    Content-Type: application/json"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    {"},{"line_number":54,"context_line":"      \"granularity\": \"1s\","},{"line_number":55,"context_line":"      \"timespan\": \"24 hour\""},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: create-archive-policy-to-delete"},{"line_number":59,"context_line":"  request: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a18252c_0e58b131","line":56,"range":{"start_line":53,"start_character":4,"end_line":56,"end_character":5},"updated":"2016-04-13 09:52:40.000000000","message":"So I don\u0027t like this format. It\u0027s not really REST-y as you do patch something but it\u0027s not clear at all what your patching.\n\nI understand you match on granularity and only allow to change the timespan, but this is not made clear by the usage of PATCH here.\n\nWe need to find a better way to express that modification.","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7e8fcc0de912d2d81b2790f53931722a4b8c2e4e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    PATCH /v1/archive_policy/{{ scenarios[\u0027create-archive-policy\u0027][\u0027response\u0027].json[\u0027name\u0027] }} HTTP/1.1"},{"line_number":51,"context_line":"    Content-Type: application/json"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    {"},{"line_number":54,"context_line":"      \"granularity\": \"1s\","},{"line_number":55,"context_line":"      \"timespan\": \"24 hour\""},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: create-archive-policy-to-delete"},{"line_number":59,"context_line":"  request: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a18252c_889b0c72","line":56,"range":{"start_line":53,"start_character":4,"end_line":56,"end_character":5},"in_reply_to":"5a18252c_0e58b131","updated":"2016-04-13 13:00:52.000000000","message":"{\n      \"definition\": [\n        {\n          \"granularity\": \"1s\",\n          \"timespan\": \"1 hour\"\n        },\n        {\n          \"points\": 48,\n          \"timespan\": \"1 day\"\n        }\n      ]\n}\n\ngranularity isn\u0027t really required since it can be calculated from the other two attr... i\u0027m just assuming most people would use granularity as that is what is required to be matched on?","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1a3463ebd92378607395c718ebd538d00553bc88","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    PATCH /v1/archive_policy/{{ scenarios[\u0027create-archive-policy\u0027][\u0027response\u0027].json[\u0027name\u0027] }} HTTP/1.1"},{"line_number":51,"context_line":"    Content-Type: application/json"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    {"},{"line_number":54,"context_line":"      \"granularity\": \"1s\","},{"line_number":55,"context_line":"      \"timespan\": \"24 hour\""},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: create-archive-policy-to-delete"},{"line_number":59,"context_line":"  request: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a18252c_a34f0bbc","line":56,"range":{"start_line":53,"start_character":4,"end_line":56,"end_character":5},"in_reply_to":"5a18252c_835e4f10","updated":"2016-04-13 13:18:30.000000000","message":"right, that was the reason i chose original format. i wouldn\u0027t allow ability to remove granularity and this format might imply it\u0027s possible?\n\ni\u0027m good either way.","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"6157edd5a5ae98e51839e9deb582e4475ca33a92","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    PATCH /v1/archive_policy/{{ scenarios[\u0027create-archive-policy\u0027][\u0027response\u0027].json[\u0027name\u0027] }} HTTP/1.1"},{"line_number":51,"context_line":"    Content-Type: application/json"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    {"},{"line_number":54,"context_line":"      \"granularity\": \"1s\","},{"line_number":55,"context_line":"      \"timespan\": \"24 hour\""},{"line_number":56,"context_line":"    }"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: create-archive-policy-to-delete"},{"line_number":59,"context_line":"  request: |"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5a18252c_835e4f10","line":56,"range":{"start_line":53,"start_character":4,"end_line":56,"end_character":5},"in_reply_to":"5a18252c_889b0c72","updated":"2016-04-13 13:08:15.000000000","message":"Yeah that would be a better format for a PATCH, but careful because this also allows to remove a granularity entirely.","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"}],"gnocchi/indexer/__init__.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"cec32f3bc893daaa92d229c575f14068a97244f5","unresolved":false,"context_lines":[{"line_number":296,"context_line":"        raise exceptions.NotImplementedError"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"    @staticmethod"},{"line_number":299,"context_line":"    def update_archive_policy(self, name, ap_item):"},{"line_number":300,"context_line":"        raise exceptions.NotImplementedError"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_e8492e90","line":299,"range":{"start_line":299,"start_character":30,"end_line":299,"end_character":34},"updated":"2016-04-12 08:10:41.000000000","message":"the no self","commit_id":"8b5de7ea7ba765116983faebd6e40ad38bb70911"}],"gnocchi/indexer/sqlalchemy.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"78e75cfc8ccea49d5b1c671c05bd68fe5bb5842c","unresolved":false,"context_lines":[{"line_number":311,"context_line":"        with self.facade.independent_reader() as session:"},{"line_number":312,"context_line":"            return session.query(ArchivePolicy).get(name)"},{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def update_archive_policy(self, name, ap_item):"},{"line_number":315,"context_line":"        with self.facade.independent_writer() as session:"},{"line_number":316,"context_line":"            ap \u003d session.query(ArchivePolicy).get(name)"},{"line_number":317,"context_line":"            if not ap:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_0e6f11c6","line":314,"range":{"start_line":314,"start_character":8,"end_line":314,"end_character":29},"updated":"2016-04-13 09:52:40.000000000","message":"update_archive_policy_definition_by_granularity? :p","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e1abaff6d2d0e5764905d08f8f3b916717b0ca38","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        abort(404, indexer.NoSuchArchivePolicy(self.archive_policy))"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":261,"context_line":"    def patch(self):"},{"line_number":262,"context_line":"        ap \u003d pecan.request.indexer.get_archive_policy(self.archive_policy)"},{"line_number":263,"context_line":"        if not ap:"},{"line_number":264,"context_line":"            abort(404, indexer.NoSuchArchivePolicy(self.archive_policy))"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_28d2b8d2","line":261,"updated":"2016-04-13 13:03:09.000000000","message":"or i can just add a new path to:\n\n  PATCH archive_policy/name/granularity/\u003cgranularity\u003e","commit_id":"b8b6f4b4caf39d2b98cee604e8b7d6898fe3257e"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"059c8d07b44e17136208f54cc2b281f1070428d8","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            abort(400, e)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        try:"},{"line_number":282,"context_line":"            ap \u003d pecan.request.indexer.update_archive_policy("},{"line_number":283,"context_line":"                self.archive_policy, ap_items)"},{"line_number":284,"context_line":"        except indexer.UnsupportedArchivePolicyChange as e:"},{"line_number":285,"context_line":"            abort(400, e)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_817607a2","line":282,"range":{"start_line":282,"start_character":12,"end_line":282,"end_character":16},"updated":"2016-04-14 12:51:48.000000000","message":"return","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"f5962f401bab0d847f338c400915db1451a2bb6a","unresolved":false,"context_lines":[{"line_number":279,"context_line":"            abort(400, e)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        try:"},{"line_number":282,"context_line":"            ap \u003d pecan.request.indexer.update_archive_policy("},{"line_number":283,"context_line":"                self.archive_policy, ap_items)"},{"line_number":284,"context_line":"        except indexer.UnsupportedArchivePolicyChange as e:"},{"line_number":285,"context_line":"            abort(400, e)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_7db9cb14","line":282,"range":{"start_line":282,"start_character":12,"end_line":282,"end_character":16},"in_reply_to":"5a18252c_817607a2","updated":"2016-04-14 15:02:31.000000000","message":"Done","commit_id":"1e6ea314f7181c02255cfb002bc3618038b56bfc"}],"gnocchi/tests/gabbi/gabbits/archive.yaml":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"4afffa26589f71c1d37643417458edbfa1582bed","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    - name: put single archive"},{"line_number":200,"context_line":"      url: /v1/archive_policy/medium"},{"line_number":201,"context_line":"      method: PUT"},{"line_number":202,"context_line":"      status: 405"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"# Create another one and then test duplication"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"dab17558_ea740669","side":"PARENT","line":202,"updated":"2016-05-10 08:01:19.000000000","message":"Why PUT doesn\u0027t return 405 anymore ?","commit_id":"2d8528fc9692434cece78f61fc6d0da3b716ff7d"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"1a7ea78f3aa81e34a50d732386d7699bf8f53605","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    - name: put single archive"},{"line_number":200,"context_line":"      url: /v1/archive_policy/medium"},{"line_number":201,"context_line":"      method: PUT"},{"line_number":202,"context_line":"      status: 405"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"# Create another one and then test duplication"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":7,"id":"dab17558_8462823c","side":"PARENT","line":202,"in_reply_to":"dab17558_ea740669","updated":"2016-05-10 12:11:31.000000000","message":"... i think i was planning on using PUT first instead of PATCH.","commit_id":"2d8528fc9692434cece78f61fc6d0da3b716ff7d"}]}
