)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"2e0904c079bd548d0cc4f6079f97e7b597ed7f6f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This change adds a shared boolean config option called"},{"line_number":16,"context_line":"‘report_discard_supported’ which can be set to enable reporting this"},{"line_number":17,"context_line":"functionality to the caller of initialize_connection."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I078e74583621316bcfe138096507e7d22af0d712"},{"line_number":20,"context_line":"Implements: blueprint discard-config-option"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a7e1126_e4353746","line":18,"updated":"2015-12-17 15:48:03.000000000","message":"We should have a DocImpact tag here since we are adding a new config option.","commit_id":"4f296acf129ee2f204231f3b24b914ce8cfc0c0d"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"179706ecee0289e0c01d0c0d18b6931be099f068","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This change adds a shared boolean config option called"},{"line_number":16,"context_line":"‘report_discard_supported’ which can be set to enable reporting this"},{"line_number":17,"context_line":"functionality to the caller of initialize_connection."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I078e74583621316bcfe138096507e7d22af0d712"},{"line_number":20,"context_line":"Implements: blueprint discard-config-option"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3a7e1126_b0019e6c","line":18,"in_reply_to":"3a7e1126_e4353746","updated":"2015-12-17 18:21:49.000000000","message":"Done","commit_id":"4f296acf129ee2f204231f3b24b914ce8cfc0c0d"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":14274,"name":"XinXiaohui","email":"xiaohui.xin@intel.com","username":"XinXiaohui"},"change_message_id":"ee4ce9659a162ba2536c0231dd5e0ee47a2d7f9c","unresolved":false,"context_lines":[{"line_number":7684,"context_line":"                   expected_flag\u003dTrue),"},{"line_number":7685,"context_line":"              dict(config_discard_flag\u003dFalse,"},{"line_number":7686,"context_line":"                   driver_discard_flag\u003dNone,"},{"line_number":7687,"context_line":"                   expected_flag\u003dNone),"},{"line_number":7688,"context_line":"              dict(config_discard_flag\u003dTrue,"},{"line_number":7689,"context_line":"                   driver_discard_flag\u003dTrue,"},{"line_number":7690,"context_line":"                   expected_flag\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_45e1a9cf","line":7687,"range":{"start_line":7687,"start_character":33,"end_line":7687,"end_character":37},"updated":"2015-12-24 08:26:00.000000000","message":"In the test case, should the expected_flag be a boolean as conn_info[\u0027data\u0027].get(\u0027discard\u0027) is a boolean?","commit_id":"63e54b80d0b3103621e248122c48b8bbb167580a"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"812168f793e040c3956113467cbd6c24c192e2a4","unresolved":false,"context_lines":[{"line_number":7684,"context_line":"                   expected_flag\u003dTrue),"},{"line_number":7685,"context_line":"              dict(config_discard_flag\u003dFalse,"},{"line_number":7686,"context_line":"                   driver_discard_flag\u003dNone,"},{"line_number":7687,"context_line":"                   expected_flag\u003dNone),"},{"line_number":7688,"context_line":"              dict(config_discard_flag\u003dTrue,"},{"line_number":7689,"context_line":"                   driver_discard_flag\u003dTrue,"},{"line_number":7690,"context_line":"                   expected_flag\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a7b0d38_ed07451a","line":7687,"range":{"start_line":7687,"start_character":33,"end_line":7687,"end_character":37},"in_reply_to":"1a7b0d38_45e1a9cf","updated":"2015-12-25 05:10:01.000000000","message":"In this case the flag would not be present in the conn_info[\u0027data\u0027] dict so we expect it to be None.","commit_id":"63e54b80d0b3103621e248122c48b8bbb167580a"}],"cinder/volume/driver.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"e0c78f41129b7e1bbc16ae4cf45828507af11ce5","unresolved":false,"context_lines":[{"line_number":243,"context_line":"               default\u003d0,"},{"line_number":244,"context_line":"               help\u003d\u0027Max number of entries allowed in the image volume cache. \u0027"},{"line_number":245,"context_line":"                    \u00270 \u003d\u003e unlimited.\u0027),"},{"line_number":246,"context_line":"    cfg.BoolOpt(\u0027report_discard_supported\u0027,"},{"line_number":247,"context_line":"                default\u003dFalse,"},{"line_number":248,"context_line":"                help\u003d\u0027Report to clients of Cinder that the backend supports \u0027"},{"line_number":249,"context_line":"                     \u0027discard (aka. trim/unmap). This will not actually \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_ced7e321","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":43},"updated":"2015-12-17 22:43:41.000000000","message":"Might be a clever way to just pull this from capabilities in the future, but for now this seems great.","commit_id":"a91fa6fac6caa66bb74b48c5e47f1b4985661010"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"9d4a02f887c1fefd23a5f65900921fa72a0bfe86","unresolved":false,"context_lines":[{"line_number":243,"context_line":"               default\u003d0,"},{"line_number":244,"context_line":"               help\u003d\u0027Max number of entries allowed in the image volume cache. \u0027"},{"line_number":245,"context_line":"                    \u00270 \u003d\u003e unlimited.\u0027),"},{"line_number":246,"context_line":"    cfg.BoolOpt(\u0027report_discard_supported\u0027,"},{"line_number":247,"context_line":"                default\u003dFalse,"},{"line_number":248,"context_line":"                help\u003d\u0027Report to clients of Cinder that the backend supports \u0027"},{"line_number":249,"context_line":"                     \u0027discard (aka. trim/unmap). This will not actually \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a7e1126_24e1ad9a","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":43},"in_reply_to":"3a7e1126_ced7e321","updated":"2015-12-18 23:05:08.000000000","message":"Yea I looked into that, and I think this is a pretty safe first step.\n\nNot specifically in response to this comment, but to make sure everyone reading this is on the same page; I think we poked around at this way back when this first kind of got started. We could just call get_volume_stats() on the driver and look for the flag in there instead of checking this config option (or more likely having drivers regurgitate a config option like this in their get_volume_stats impl...). My concern with that is that I don\u0027t want to add the additional load to pull stats from a backend for every single attach call and slow down the volume attachment any more.\n\nThe main goal of this is to allow for everyone to get trim/unmap without having to go add a one line incantation to their driver files like we did for the Pure drivers. I think with either approach we would probably end up with a config option (for at least one backend that could maybe do both) so I figured we\u0027d skip a step and just put one shared on in now. Later on we could shift it over to be read/used from the get_volume_stats info, but that would be transparent to a client of Cinder or from a configuration standpoint.","commit_id":"a91fa6fac6caa66bb74b48c5e47f1b4985661010"}]}
