)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9b2124fc7784ffe630efd9103b158a5aa26294d0","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Even though this is being proposed late in the cycle, it is better"},{"line_number":27,"context_line":"to get this change in before the release where we expose even more"},{"line_number":28,"context_line":"resources with incorrectly formatted timestamps."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"APIImpact"},{"line_number":31,"context_line":"Closes-Bug: #1561200"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a89bdaa_202c5a98","line":28,"updated":"2016-09-13 10:09:16.000000000","message":"this change should be described with a release note. Also api-ref change would be of use because now the API strategy becomes less and less clear (please add DocImpact).","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"8d31bf8963a368257dbaab663e2807cb214bc4b3","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Even though this is being proposed late in the cycle, it is better"},{"line_number":27,"context_line":"to get this change in before the release where we expose even more"},{"line_number":28,"context_line":"resources with incorrectly formatted timestamps."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"APIImpact"},{"line_number":31,"context_line":"Closes-Bug: #1561200"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a89bdaa_ac9061ee","line":28,"in_reply_to":"9a89bdaa_202c5a98","updated":"2016-09-13 11:16:10.000000000","message":"I did describe the impact to API users in a release note...","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"280501aa4b57330ce72affc8e5e83363dabe2f7a","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Even though this is being proposed late in the cycle, it is better"},{"line_number":27,"context_line":"to get this change in before the release where we expose even more"},{"line_number":28,"context_line":"resources with incorrectly formatted timestamps."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"APIImpact"},{"line_number":31,"context_line":"Closes-Bug: #1561200"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a89bdaa_77146243","line":28,"in_reply_to":"9a89bdaa_ac9061ee","updated":"2016-09-13 11:19:47.000000000","message":"Oh well, I was probably looking at a diff. Lemme check once more.","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"}],"neutron/extensions/timestamp.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e89240d288d896ec82078855f74752cffc2302e3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_38059879","line":50,"range":{"start_line":49,"start_character":58,"end_line":50,"end_character":36},"updated":"2016-09-12 16:18:00.000000000","message":"(No action required) A problem with this kind of definition is that it relies on server implementation. Let\u0027s say a server owner backports a fix that attaches a resource model to the standard attributes table. Now the extension changed its scope, covering more resources than before. How does the user of the API detect that change that made it possible to filter the new resource by date? How can the user be sure that now changed_since filter will work for the new resource?\n\nThat\u0027s a problem that is hardly solvable in the current API framework that we have. :(","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e89240d288d896ec82078855f74752cffc2302e3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_78a8008d","line":50,"range":{"start_line":50,"start_character":54,"end_line":50,"end_character":64},"updated":"2016-09-12 16:18:00.000000000","message":"attributes","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"790e192036c9488fa73c6839921fed7d442a3fb5","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_d66e302e","line":50,"range":{"start_line":49,"start_character":58,"end_line":50,"end_character":36},"in_reply_to":"9a89bdaa_38059879","updated":"2016-09-12 21:58:43.000000000","message":"Do we allow new data models in back-ports?","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aa0bd964b8fcaf8a5a2d389c07fbcefae0081f51","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_3db3a19b","line":50,"range":{"start_line":49,"start_character":58,"end_line":50,"end_character":36},"in_reply_to":"9a89bdaa_d66e302e","updated":"2016-09-13 10:07:12.000000000","message":"We definitely allow existing models to be linked to the standard attributes in next releases. In which case availability of new attributes and queries for those resources will depend on the server version, that is not discoverable.","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"7a7b409130054413c7f29268c0ef165e17699300","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_206711ea","line":50,"range":{"start_line":50,"start_character":54,"end_line":50,"end_character":64},"updated":"2016-09-12 23:09:49.000000000","message":"attributes","commit_id":"8e9fc8f49c38610f65fc008af05406c296f244fa"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"2ddd5665a67412f17433685ec6e5c285404660db","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    @classmethod"},{"line_number":48,"context_line":"    def get_description(cls):"},{"line_number":49,"context_line":"        return (\"Adds created_at and updated_at fields to all Neutron \""},{"line_number":50,"context_line":"                \"resources that have Neutron standard attribtues.\")"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_e028c935","line":50,"range":{"start_line":50,"start_character":54,"end_line":50,"end_character":64},"in_reply_to":"9a89bdaa_206711ea","updated":"2016-09-12 23:13:32.000000000","message":"Done","commit_id":"8e9fc8f49c38610f65fc008af05406c296f244fa"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0349cb95d40b3d33aaafbf88f27ba3ca924f7ab0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @classmethod"},{"line_number":53,"context_line":"    def get_updated(cls):"},{"line_number":54,"context_line":"        return \"2016-09-12T10:00:00-00:00\""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_extended_resources(self, version):"},{"line_number":57,"context_line":"        if version !\u003d \"2.0\":"},{"line_number":58,"context_line":"            return {}"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_77970290","line":55,"updated":"2016-09-13 11:24:01.000000000","message":"(no action required) I wonder whether we need to have get_conflicting_extensions similar to get_required_extensions to avoid situations where multiple plugins claim both timestamp_core and timestamp.","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"}],"neutron/services/timestamp/timestamp_db.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"e89240d288d896ec82078855f74752cffc2302e3","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            changed_since_string \u003d timeutils.parse_isotime(data)"},{"line_number":47,"context_line":"        except Exception:"},{"line_number":48,"context_line":"            msg \u003d _LW(\"The input %s must be in the \""},{"line_number":49,"context_line":"                      \"following format: YYYY-MM-DDTHH:MM:SS\") % CHANGED_SINCE"},{"line_number":50,"context_line":"            raise n_exc.InvalidInput(error_message\u003dmsg)"},{"line_number":51,"context_line":"        changed_since \u003d (timeutils."},{"line_number":52,"context_line":"                         normalize_time(changed_since_string))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_f846d0be","line":49,"updated":"2016-09-12 16:18:00.000000000","message":"Hm, shouldn\u0027t we change the format here?","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"b6e5d9c0179c6a4ddd2162776cae50c903efd736","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            changed_since_string \u003d timeutils.parse_isotime(data)"},{"line_number":47,"context_line":"        except Exception:"},{"line_number":48,"context_line":"            msg \u003d _LW(\"The input %s must be in the \""},{"line_number":49,"context_line":"                      \"following format: YYYY-MM-DDTHH:MM:SS\") % CHANGED_SINCE"},{"line_number":50,"context_line":"            raise n_exc.InvalidInput(error_message\u003dmsg)"},{"line_number":51,"context_line":"        changed_since \u003d (timeutils."},{"line_number":52,"context_line":"                         normalize_time(changed_since_string))"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_76cd6430","line":49,"in_reply_to":"9a89bdaa_f846d0be","updated":"2016-09-12 21:59:56.000000000","message":"parse_isotime handles either, but since that\u0027s what we return, sure.","commit_id":"3f254bf3fee2c19fb7b3663bc567fbd053710835"}],"neutron/services/timestamp/timestamp_plugin.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0349cb95d40b3d33aaafbf88f27ba3ca924f7ab0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return \u0027timestamp\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_plugin_description(self):"},{"line_number":48,"context_line":"        return \"Neutron core resources timestamp addition support\""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a89bdaa_d7b8ce13","line":48,"updated":"2016-09-13 11:24:01.000000000","message":"Should we change description to reflect that it\u0027s no longer core resources?","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"987e4ca7d7086e86e3772f36e9766bf5eb9c596f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        return \u0027timestamp\u0027"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def get_plugin_description(self):"},{"line_number":48,"context_line":"        return \"Neutron core resources timestamp addition support\""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_61f5d7c9","line":48,"in_reply_to":"9a89bdaa_d7b8ce13","updated":"2016-09-15 01:17:13.000000000","message":"Done","commit_id":"1d4dcbe5db41ebe4c6241a4b81bcf7d9898582ef"}]}
