)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a37ad27fccd0bc9e107cbd8f3ce613b8a223d988","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Matt Riedemann \u003cmriedem.os@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-05-31 17:54:41 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Skip micorversion discovery check for update/delete volume attachments"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We check the microversion when creating a new-style volume attachment."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df140735_e3602204","line":7,"updated":"2017-05-31 21:57:16.000000000","message":"GOT ONE.","commit_id":"ee454fa29e301fc53a7b342f890d590934f2aed1"}],"nova/volume/cinder.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5f2ba8dc7deb4af54c3ddc333c1bb4fc594c93a7","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    if max_api_version.matches(microversion):"},{"line_number":77,"context_line":"        # The requested microversion is supported by the client and the server."},{"line_number":78,"context_line":"        return microversion"},{"line_number":79,"context_line":"    raise exception.CinderAPIVersionNotAvailable(version\u003dmicroversion)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"def cinderclient(context, microversion\u003dNone, skip_version_check\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_977d621e","line":79,"updated":"2017-06-08 14:52:09.000000000","message":"On success, can\u0027t we just cache the heck out of this? That way we don\u0027t need to worry about any skip check logic?","commit_id":"3a8a7e3fc621ad08a9b9171aeff154d7585bca31"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4650efbeb33540243ffaaf8a1bf5c017b6356a5f","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    if max_api_version.matches(microversion):"},{"line_number":77,"context_line":"        # The requested microversion is supported by the client and the server."},{"line_number":78,"context_line":"        return microversion"},{"line_number":79,"context_line":"    raise exception.CinderAPIVersionNotAvailable(version\u003dmicroversion)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"def cinderclient(context, microversion\u003dNone, skip_version_check\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_9788c2c6","line":79,"in_reply_to":"bf091321_977d621e","updated":"2017-06-08 14:58:56.000000000","message":"We could, but I\u0027m generally wary of caches since if things go wrong, it\u0027s confusing to debug. With what we have in this series, once we verified the version and made the initial attachment for a given volume, we won\u0027t check the version again for update or delete. Granted, we\u0027d be checking the version every time for every new attachment created. The other issue is if at some point we need a higher minimum than what\u0027s cached, we\u0027d have to account for that. Like today we care about 3.27, but maybe some flow will need 3.33 (I\u0027m making that number up) and we\u0027ve already cached 3.27. I guess what we\u0027d just do is if our cached value is lower than what we\u0027re looking for, we\u0027d look again and see if we can update our cached version - but I\u0027m not sure how to stop from checking that every time on the newer version. See, caching just gets complicated. And yes I realize we don\u0027t have that case today...I\u0027m projecting.","commit_id":"3a8a7e3fc621ad08a9b9171aeff154d7585bca31"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"96b61eba697264dc3cfbf06fbd8707575d2e5412","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    if max_api_version.matches(microversion):"},{"line_number":77,"context_line":"        # The requested microversion is supported by the client and the server."},{"line_number":78,"context_line":"        return microversion"},{"line_number":79,"context_line":"    raise exception.CinderAPIVersionNotAvailable(version\u003dmicroversion)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"def cinderclient(context, microversion\u003dNone, skip_version_check\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_68b8af29","line":79,"in_reply_to":"bf091321_9788c2c6","updated":"2017-06-08 16:01:37.000000000","message":"Yeah, thats fair enough. I was thinking a dict of microversion to true, once its available, but don\u0027t chance the false. But thats way specific to this particular case really.\n\nThis is totally correct though, so I am fine with it.","commit_id":"3a8a7e3fc621ad08a9b9171aeff154d7585bca31"}]}
