)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7102,"name":"Thomas Bechtold","email":"thomas.bechtold@chainguard.dev","username":"toabctl"},"change_message_id":"48d0cfcb2938740e999711f50bc876eb0ce8f2d6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liucheng \u003cliucheng20@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-17 12:49:01 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Add share block size config in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Data in the file system consists of fixed-length disk blocks."},{"line_number":10,"context_line":"The size of the blocks (also known as file system block size)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_9828f487","line":7,"updated":"2016-05-17 07:57:28.000000000","message":"You are here talking about block size but you set the sectorsize parameter. I guess you want to talk here about sectorsize?","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     liucheng \u003cliucheng20@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-17 12:49:01 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Huawei: Add share block size config in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Data in the file system consists of fixed-length disk blocks."},{"line_number":10,"context_line":"The size of the blocks (also known as file system block size)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bab6814e_f703c074","line":7,"in_reply_to":"dab17558_9828f487","updated":"2016-05-18 11:49:17.000000000","message":"Done","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"30f80df3ac95b6320dc7847b4bd6196b506c1b26","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Huawei: Add share sectorsize config in Huawei driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Data in the file system consists of fixed-length disk blocks."},{"line_number":10,"context_line":"The size of the blocks (also known as file system block size)"},{"line_number":11,"context_line":"affects disk space usage and performance."},{"line_number":12,"context_line":"The value of blocks can be 4 KB, 8 KB, 16 KB, 32 KB, or 64 KB."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"1aa78d24_6009932c","line":10,"range":{"start_line":10,"start_character":50,"end_line":10,"end_character":61},"updated":"2016-07-09 14:23:03.000000000","message":"sector size","commit_id":"5520a526f457d96e583db84fa08ed646d3d35dcb"}],"doc/source/devref/huawei_nas_driver.rst":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"4365ecc167b9e89957babe137c8ea1ac77d76b34","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \u003cFilesystem\u003e"},{"line_number":85,"context_line":"            \u003cStoragePool\u003exxxxxxxxx\u003c/StoragePool\u003e"},{"line_number":86,"context_line":"            \u003cAllocType\u003exxxxxxxx\u003c/AllocType\u003e"},{"line_number":87,"context_line":"\t    \u003cSectorSize\u003e64\u003c/SectorSize\u003e"},{"line_number":88,"context_line":"            \u003cWaitInterval\u003e3\u003c/WaitInterval\u003e"},{"line_number":89,"context_line":"            \u003cTimeout\u003e60\u003c/Timeout\u003e"},{"line_number":90,"context_line":"            \u003cNFSClient\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9abb7d3a_2faeee97","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":1},"updated":"2016-06-01 08:05:07.000000000","message":"Use space instead of tab.","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5bbb71407714983b47071ba8fc5b909279758281","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \u003cFilesystem\u003e"},{"line_number":85,"context_line":"            \u003cStoragePool\u003exxxxxxxxx\u003c/StoragePool\u003e"},{"line_number":86,"context_line":"            \u003cAllocType\u003exxxxxxxx\u003c/AllocType\u003e"},{"line_number":87,"context_line":"\t    \u003cSectorSize\u003e64\u003c/SectorSize\u003e"},{"line_number":88,"context_line":"            \u003cWaitInterval\u003e3\u003c/WaitInterval\u003e"},{"line_number":89,"context_line":"            \u003cTimeout\u003e60\u003c/Timeout\u003e"},{"line_number":90,"context_line":"            \u003cNFSClient\u003e"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9abb7d3a_3923a1be","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":1},"in_reply_to":"9abb7d3a_2faeee97","updated":"2016-06-02 01:47:44.000000000","message":"Done","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value is \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"- `WaitInterval` is the interval time of querying the file system status."},{"line_number":115,"context_line":"- `Timeout` is the timeout period for waiting command execution of a device to"},{"line_number":116,"context_line":"  complete."}],"source_content_type":"text/x-rst","patch_set":8,"id":"3aaa91ec_6826ce69","line":113,"range":{"start_line":113,"start_character":92,"end_line":113,"end_character":94},"updated":"2016-06-22 02:27:02.000000000","message":"If it is optional, what is the default?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"e693a328a7aa7df110df6c0190de4d683dafec3c","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value is \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"- `WaitInterval` is the interval time of querying the file system status."},{"line_number":115,"context_line":"- `Timeout` is the timeout period for waiting command execution of a device to"},{"line_number":116,"context_line":"  complete."}],"source_content_type":"text/x-rst","patch_set":8,"id":"3aaa91ec_4ad142cd","line":113,"range":{"start_line":113,"start_character":2,"end_line":113,"end_character":14},"updated":"2016-06-22 03:47:07.000000000","message":"You should be add a note about \"If the share_type and xml file are both config the sectorsize value, which one can be used\"","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value is \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"- `WaitInterval` is the interval time of querying the file system status."},{"line_number":115,"context_line":"- `Timeout` is the timeout period for waiting command execution of a device to"},{"line_number":116,"context_line":"  complete."}],"source_content_type":"text/x-rst","patch_set":8,"id":"3aaa91ec_1ba195f8","line":113,"range":{"start_line":113,"start_character":2,"end_line":113,"end_character":14},"in_reply_to":"3aaa91ec_4ad142cd","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"275706246d0f4efa22b924a95cb15317f095e44f","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Manila \"share types\" may contain qualified extra-specs, -extra-specs that"},{"line_number":161,"context_line":"have significance for the backend driver and the CapabilityFilter. This"},{"line_number":162,"context_line":"commit makes the Huawei driver report the following boolean capabilities:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"- capabilities:dedupe"},{"line_number":165,"context_line":"- capabilities:compression"},{"line_number":166,"context_line":"- capabilities:thin_provisioning"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3aaa91ec_2a879610","line":163,"range":{"start_line":163,"start_character":0,"end_line":163,"end_character":0},"updated":"2016-06-22 03:42:23.000000000","message":"The SectorSize config should be added in there.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":160,"context_line":"Manila \"share types\" may contain qualified extra-specs, -extra-specs that"},{"line_number":161,"context_line":"have significance for the backend driver and the CapabilityFilter. This"},{"line_number":162,"context_line":"commit makes the Huawei driver report the following boolean capabilities:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"- capabilities:dedupe"},{"line_number":165,"context_line":"- capabilities:compression"},{"line_number":166,"context_line":"- capabilities:thin_provisioning"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3aaa91ec_dbc26d52","line":163,"range":{"start_line":163,"start_character":0,"end_line":163,"end_character":0},"in_reply_to":"3aaa91ec_2a879610","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"b93eb62dec3da4a5b6fc517c74d04b8fb02af0f0","unresolved":false,"context_lines":[{"line_number":109,"context_line":"- `UserName` is a user name of an administrator."},{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value is \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"  If \"sectorsize\" is configured in both share_type and xml file, the value of sectorsize in"},{"line_number":115,"context_line":"  the share_type will be used. If \"sectorsize\" is configured in neither share_type nor xml"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1aa78d24_608f8175","line":112,"range":{"start_line":112,"start_character":65,"end_line":112,"end_character":73},"updated":"2016-07-06 12:05:42.000000000","message":"same as below, but I would not change this within this patch.","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"b93eb62dec3da4a5b6fc517c74d04b8fb02af0f0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value is \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"  If \"sectorsize\" is configured in both share_type and xml file, the value of sectorsize in"},{"line_number":115,"context_line":"  the share_type will be used. If \"sectorsize\" is configured in neither share_type nor xml"},{"line_number":116,"context_line":"  file, huawei storage backends will provide a default value(64) when creating a new share."}],"source_content_type":"text/x-rst","patch_set":14,"id":"1aa78d24_c0a8f5dd","line":113,"range":{"start_line":113,"start_character":56,"end_line":113,"end_character":64},"updated":"2016-07-06 12:05:42.000000000","message":"change \"value is\" to either \"value can be\" or \"values are\"","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0392795361b25bc326756076999f05264cc34c0e","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value can be \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"  If \"sectorsize\" is configured in both share_type and xml file, the value of sectorsize in"},{"line_number":115,"context_line":"  the share_type will be used. If \"sectorsize\" is configured in neither share_type nor xml"},{"line_number":116,"context_line":"  file, huawei storage backends will provide a default value(64) when creating a new share."}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_b32c1cad","line":113,"range":{"start_line":113,"start_character":69,"end_line":113,"end_character":97},"updated":"2016-07-12 09:36:23.000000000","message":"and the units is KB.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d4be58ccf9949026cacbbfc17c9f09322b5a91db","unresolved":false,"context_lines":[{"line_number":110,"context_line":"- `UserPassword` is a password of an administrator."},{"line_number":111,"context_line":"- `StoragePool` is a name of a storage pool to be used."},{"line_number":112,"context_line":"- `AllocType` is the file system space allocation type, optional value is \"Thick\" or \"Thin\"."},{"line_number":113,"context_line":"- `SectorSize` is the size of the disk blocks, optional value can be \"4\", \"8\", \"16\", \"32\" or \"64\"."},{"line_number":114,"context_line":"  If \"sectorsize\" is configured in both share_type and xml file, the value of sectorsize in"},{"line_number":115,"context_line":"  the share_type will be used. If \"sectorsize\" is configured in neither share_type nor xml"},{"line_number":116,"context_line":"  file, huawei storage backends will provide a default value(64) when creating a new share."}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_eb479fa0","line":113,"range":{"start_line":113,"start_character":69,"end_line":113,"end_character":97},"in_reply_to":"1aa78d24_b32c1cad","updated":"2016-07-13 03:39:38.000000000","message":"Done","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"}],"manila/share/drivers/huawei/constants.py":[{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"61681eef4f902253ae5be8bc3078b1c50fc37bed","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    \u0027huawei_smartpartition\u0027: False,"},{"line_number":81,"context_line":"    \u0027thin_provisioning\u0027: None,"},{"line_number":82,"context_line":"    \u0027qos\u0027: False,"},{"line_number":83,"context_line":"    \u0027huawei_sectorsize\u0027: None"},{"line_number":84,"context_line":"}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"OPTS_VALUE \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_3ef5b056","line":83,"range":{"start_line":83,"start_character":25,"end_line":83,"end_character":29},"updated":"2016-05-31 11:54:58.000000000","message":"Missing \",\"?","commit_id":"b3e80c24a95c16cd2c6954161b60f1f0c51f1466"},{"author":{"_account_id":16883,"name":"huyang","email":"huyang1@huawei.com","username":"huyang"},"change_message_id":"61681eef4f902253ae5be8bc3078b1c50fc37bed","unresolved":false,"context_lines":[{"line_number":86,"context_line":"OPTS_VALUE \u003d {"},{"line_number":87,"context_line":"    \u0027cachename\u0027: None,"},{"line_number":88,"context_line":"    \u0027partitionname\u0027: None,"},{"line_number":89,"context_line":"    \u0027sectorsize\u0027: None"},{"line_number":90,"context_line":"}"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"OPTS_VALUE.update(OPTS_QOS_VALUE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_7eebb878","line":89,"range":{"start_line":89,"start_character":18,"end_line":89,"end_character":22},"updated":"2016-05-31 11:54:58.000000000","message":"Missing \",\"?","commit_id":"b3e80c24a95c16cd2c6954161b60f1f0c51f1466"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"c3a3a777a02a480dca67bd46cf9a140e750f797b","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    \u0027huawei_smartpartition\u0027: False,"},{"line_number":81,"context_line":"    \u0027thin_provisioning\u0027: None,"},{"line_number":82,"context_line":"    \u0027qos\u0027: False,"},{"line_number":83,"context_line":"    \u0027huawei_sectorsize\u0027: None"},{"line_number":84,"context_line":"}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"OPTS_VALUE \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_c034a34b","line":83,"range":{"start_line":83,"start_character":25,"end_line":83,"end_character":29},"updated":"2016-06-16 22:35:59.000000000","message":"Multi-line dicts should end each line with a comma.\n\nhttp://docs.openstack.org/developer/hacking/#dictionaries-lists","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    \u0027huawei_smartpartition\u0027: False,"},{"line_number":81,"context_line":"    \u0027thin_provisioning\u0027: None,"},{"line_number":82,"context_line":"    \u0027qos\u0027: False,"},{"line_number":83,"context_line":"    \u0027huawei_sectorsize\u0027: None"},{"line_number":84,"context_line":"}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"OPTS_VALUE \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_9b984d6c","line":83,"range":{"start_line":83,"start_character":25,"end_line":83,"end_character":29},"in_reply_to":"7aa08908_c034a34b","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"275706246d0f4efa22b924a95cb15317f095e44f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    \u0027huawei_smartpartition\u0027: False,"},{"line_number":81,"context_line":"    \u0027thin_provisioning\u0027: None,"},{"line_number":82,"context_line":"    \u0027qos\u0027: False,"},{"line_number":83,"context_line":"    \u0027huawei_sectorsize\u0027: None,"},{"line_number":84,"context_line":"}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"OPTS_VALUE \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_caf1b2cf","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":23},"updated":"2016-06-22 03:42:23.000000000","message":"You set the \u0027huawei_sectorsize\u0027, but \u0027huawei_sectorsize\u0027 never be used in huawei driver. \nYou could just set the \u0027huawei_sectorsize\u0027 and not need to set the \u0027sectorsize\u0027 in OPTS_VALUE(line 89). or maintain the original data structure and export the capability(\u0027huawei_sectorsize\u003d..\u0027) in update_share_stats(https://review.openstack.org/#/c/317246/8/manila/share/drivers/huawei/v3/connection.py).","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    \u0027huawei_smartpartition\u0027: False,"},{"line_number":81,"context_line":"    \u0027thin_provisioning\u0027: None,"},{"line_number":82,"context_line":"    \u0027qos\u0027: False,"},{"line_number":83,"context_line":"    \u0027huawei_sectorsize\u0027: None,"},{"line_number":84,"context_line":"}"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"OPTS_VALUE \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_5aaf4694","line":83,"range":{"start_line":83,"start_character":4,"end_line":83,"end_character":23},"in_reply_to":"3aaa91ec_caf1b2cf","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"}],"manila/share/drivers/huawei/v3/connection.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"02f979324d817acbc6ce79f7c6520ad4fd19763c","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * 1024"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"},{"line_number":637,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_e2aeaf7f","line":634,"range":{"start_line":634,"start_character":66,"end_line":634,"end_character":70},"updated":"2016-05-17 07:19:23.000000000","message":"s/1024 /units.Ki","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * 1024"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"},{"line_number":637,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_b7f2d898","line":634,"range":{"start_line":634,"start_character":66,"end_line":634,"end_character":70},"in_reply_to":"dab17558_e2aeaf7f","updated":"2016-05-18 11:49:17.000000000","message":"Done","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b66f43c42a40676c611873d99169b4b1d4546e9b","unresolved":false,"context_lines":[{"line_number":630,"context_line":"                    \u0027 so dedupe or compression cannot be set.\u0027)"},{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * units.Ki"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_a3c53a0b","line":633,"range":{"start_line":633,"start_character":11,"end_line":633,"end_character":36},"updated":"2016-06-16 14:54:32.000000000","message":"It is not common capability. See link [1] for whole list.\n\nSo, in your case you should use qualified extra spec something like \"emc:sectorsize\" or \"emc_smartx:sectorsize\".\n\n[1] http://docs.openstack.org/developer/manila/devref/capabilities_and_extra_specs.html#common-capabilities","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":630,"context_line":"                    \u0027 so dedupe or compression cannot be set.\u0027)"},{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * units.Ki"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_f580758d","line":633,"range":{"start_line":633,"start_character":11,"end_line":633,"end_character":36},"in_reply_to":"7aa08908_a3c53a0b","updated":"2016-06-17 07:51:22.000000000","message":"I get \"extra_specs[\u0027sectorsize\u0027]\" from \"huawei_sectorsize:sectorsize : xx\".It\u0027s defined in https://review.openstack.org/#/c/317246/6/manila/share/drivers/huawei/constants.py.Thank you.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"ac7fb077d8c9d10ae54fe6390911084618c8f773","unresolved":false,"context_lines":[{"line_number":630,"context_line":"                    \u0027 so dedupe or compression cannot be set.\u0027)"},{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * units.Ki"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_632eb2a6","line":633,"range":{"start_line":633,"start_character":11,"end_line":633,"end_character":36},"in_reply_to":"7aa08908_a3c53a0b","updated":"2016-06-16 14:55:30.000000000","message":"s/emc/huawei/\n\nSorry.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"aef362d9595aa05b1e0873d31c1177dd4e6c04d4","unresolved":false,"context_lines":[{"line_number":630,"context_line":"                    \u0027 so dedupe or compression cannot be set.\u0027)"},{"line_number":631,"context_line":"                LOG.error(err_msg)"},{"line_number":632,"context_line":"                raise exception.InvalidInput(reason\u003derr_msg)"},{"line_number":633,"context_line":"        if extra_specs[\u0027sectorsize\u0027]:"},{"line_number":634,"context_line":"            fileparam[\u0027SECTORSIZE\u0027] \u003d extra_specs[\u0027sectorsize\u0027] * units.Ki"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"        return fileparam"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_c5f5b983","line":633,"range":{"start_line":633,"start_character":11,"end_line":633,"end_character":36},"in_reply_to":"7aa08908_f580758d","updated":"2016-06-17 11:55:30.000000000","message":"Oh, right, its ok then.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                    dedupe\u003d[True, False],"},{"line_number":298,"context_line":"                    compression\u003d[True, False],"},{"line_number":299,"context_line":"                    huawei_smartcache\u003d[True, False],"},{"line_number":300,"context_line":"                    huawei_smartpartition\u003d[True, False],"},{"line_number":301,"context_line":"                )"},{"line_number":302,"context_line":"                stats_dict[\"pools\"].append(pool)"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_68836ecd","line":300,"range":{"start_line":300,"start_character":54,"end_line":300,"end_character":56},"updated":"2016-06-22 02:27:02.000000000","message":"Do you need to advertise that the sectorsize capability is supported?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                    dedupe\u003d[True, False],"},{"line_number":298,"context_line":"                    compression\u003d[True, False],"},{"line_number":299,"context_line":"                    huawei_smartcache\u003d[True, False],"},{"line_number":300,"context_line":"                    huawei_smartpartition\u003d[True, False],"},{"line_number":301,"context_line":"                )"},{"line_number":302,"context_line":"                stats_dict[\"pools\"].append(pool)"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_3a87da13","line":300,"range":{"start_line":300,"start_character":54,"end_line":300,"end_character":56},"in_reply_to":"3aaa91ec_68836ecd","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"}],"manila/share/drivers/huawei/v3/smartx.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b8c8ddda69e29c830bf21930f14525deac2b7fe1","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value specified for sectorsize: \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_4217bb44","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":17},"updated":"2016-05-17 07:15:38.000000000","message":"else? if value is None,Does you need to set a default value?","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value specified for sectorsize: \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_175f6473","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":17},"in_reply_to":"dab17558_4217bb44","updated":"2016-05-18 11:49:17.000000000","message":"if value is None, sectorsize will be set as default 64k in the REST.","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"4365ecc167b9e89957babe137c8ea1ac77d76b34","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)))"},{"line_number":188,"context_line":"            else:"},{"line_number":189,"context_line":"                opts[key] \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_af7c9eb5","line":186,"range":{"start_line":186,"start_character":31,"end_line":186,"end_character":45},"updated":"2016-06-01 08:05:07.000000000","message":"Better to add Illegal value(int(value)) in the log.","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"3013c578c8deba4ca925180104b5dd535eba7097","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)))"},{"line_number":188,"context_line":"            else:"},{"line_number":189,"context_line":"                opts[key] \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_20b39351","line":186,"range":{"start_line":186,"start_character":31,"end_line":186,"end_character":45},"in_reply_to":"9abb7d3a_af7c9eb5","updated":"2016-06-01 11:29:35.000000000","message":"+1","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5bbb71407714983b47071ba8fc5b909279758281","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)))"},{"line_number":188,"context_line":"            else:"},{"line_number":189,"context_line":"                opts[key] \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_99056d15","line":186,"range":{"start_line":186,"start_character":31,"end_line":186,"end_character":45},"in_reply_to":"9abb7d3a_af7c9eb5","updated":"2016-06-02 01:47:44.000000000","message":"Done","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b66f43c42a40676c611873d99169b4b1d4546e9b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_43ec56bb","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"updated":"2016-06-16 14:54:32.000000000","message":"Please, use \"tuple\" for such cases. It is 10 times faster.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b66f43c42a40676c611873d99169b4b1d4546e9b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_4370d640","line":184,"range":{"start_line":184,"start_character":15,"end_line":184,"end_character":25},"updated":"2016-06-16 14:54:32.000000000","message":"You can get TypeError here if it is not translatable to int in general.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_980de837","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"in_reply_to":"7aa08908_2072c711","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_3825d4ad","line":184,"range":{"start_line":184,"start_character":15,"end_line":184,"end_character":25},"in_reply_to":"7aa08908_4370d640","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"c3a3a777a02a480dca67bd46cf9a140e750f797b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_2072c711","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"in_reply_to":"7aa08908_43ec56bb","updated":"2016-06-16 22:35:59.000000000","message":"+1\nYou could further enhance readability by defining a constant and using it here and in the tests:\n\n    VALID_SECTOR_SIZES \u003d (4, 8, 16, 32, 64)","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if int(value) not in [4, 8, 16, 32, 64]:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_d8177043","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"in_reply_to":"7aa08908_43ec56bb","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b66f43c42a40676c611873d99169b4b1d4546e9b","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"},{"line_number":188,"context_line":"                            % int(value)))"},{"line_number":189,"context_line":"            else:"},{"line_number":190,"context_line":"                opts[key] \u003d int(value)"},{"line_number":191,"context_line":"        return opts"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def get_qos_opts(self, opts):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_63da3219","line":190,"range":{"start_line":190,"start_character":28,"end_line":190,"end_character":38},"updated":"2016-06-16 14:54:32.000000000","message":"Then you transform string to int two times in any case. Do it once and then just reuse saved value.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":187,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027)"},{"line_number":188,"context_line":"                            % int(value)))"},{"line_number":189,"context_line":"            else:"},{"line_number":190,"context_line":"                opts[key] \u003d int(value)"},{"line_number":191,"context_line":"        return opts"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    def get_qos_opts(self, opts):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_b8126456","line":190,"range":{"start_line":190,"start_character":28,"end_line":190,"end_character":38},"in_reply_to":"7aa08908_63da3219","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"275706246d0f4efa22b924a95cb15317f095e44f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        opts \u003d self.get_smartprovisioning_opts(opts)"},{"line_number":111,"context_line":"        opts \u003d self.get_smartcache_opts(opts)"},{"line_number":112,"context_line":"        opts \u003d self.get_smartpartition_opts(opts)"},{"line_number":113,"context_line":"        opts \u003d self.get_sectorsize_opts(opts, \u0027sectorsize\u0027)"},{"line_number":114,"context_line":"        qos \u003d self.get_qos_opts(opts)"},{"line_number":115,"context_line":"        return opts, qos"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_ea93ce4d","line":113,"range":{"start_line":113,"start_character":24,"end_line":113,"end_character":53},"updated":"2016-06-22 03:42:23.000000000","message":"If the function is defined as sectorsize function, why we need to add a new parameter also named \u0027sectorsize\u0027","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        opts \u003d self.get_smartprovisioning_opts(opts)"},{"line_number":111,"context_line":"        opts \u003d self.get_smartcache_opts(opts)"},{"line_number":112,"context_line":"        opts \u003d self.get_smartpartition_opts(opts)"},{"line_number":113,"context_line":"        opts \u003d self.get_sectorsize_opts(opts, \u0027sectorsize\u0027)"},{"line_number":114,"context_line":"        qos \u003d self.get_qos_opts(opts)"},{"line_number":115,"context_line":"        return opts, qos"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_746fc392","line":113,"range":{"start_line":113,"start_character":47,"end_line":113,"end_character":57},"updated":"2016-06-22 02:27:02.000000000","message":"huawei_sectorsize?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        opts \u003d self.get_smartprovisioning_opts(opts)"},{"line_number":111,"context_line":"        opts \u003d self.get_smartcache_opts(opts)"},{"line_number":112,"context_line":"        opts \u003d self.get_smartpartition_opts(opts)"},{"line_number":113,"context_line":"        opts \u003d self.get_sectorsize_opts(opts, \u0027sectorsize\u0027)"},{"line_number":114,"context_line":"        qos \u003d self.get_qos_opts(opts)"},{"line_number":115,"context_line":"        return opts, qos"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_5bb2fde5","line":113,"range":{"start_line":113,"start_character":47,"end_line":113,"end_character":57},"in_reply_to":"3aaa91ec_746fc392","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        opts \u003d self.get_smartprovisioning_opts(opts)"},{"line_number":111,"context_line":"        opts \u003d self.get_smartcache_opts(opts)"},{"line_number":112,"context_line":"        opts \u003d self.get_smartpartition_opts(opts)"},{"line_number":113,"context_line":"        opts \u003d self.get_sectorsize_opts(opts, \u0027sectorsize\u0027)"},{"line_number":114,"context_line":"        qos \u003d self.get_qos_opts(opts)"},{"line_number":115,"context_line":"        return opts, qos"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_bbcde167","line":113,"range":{"start_line":113,"start_character":24,"end_line":113,"end_character":53},"in_reply_to":"3aaa91ec_ea93ce4d","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":178,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":179,"context_line":"            if sectorsize:"},{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_88797a32","line":180,"range":{"start_line":180,"start_character":40,"end_line":180,"end_character":59},"updated":"2016-06-22 02:27:02.000000000","message":"This is there in a few places in this file, why strip.strip, why not just strip() -\u003e python removes all whitespace characters (space, tab, linefeed, return, formfeed, and vertical tab) with strip.. \n\nhttps://docs.python.org/2/library/string.html#string.strip\n\n\nhttps://docs.python.org/3/library/stdtypes.html?highlight\u003dstrip#str.strip","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":178,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":179,"context_line":"            if sectorsize:"},{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_3be0d1cc","line":180,"range":{"start_line":180,"start_character":40,"end_line":180,"end_character":59},"in_reply_to":"3aaa91ec_88797a32","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":16652,"name":"zhaohua","email":"nk-zh@163.com","username":"zhaohua"},"change_message_id":"4a1f36a8d5dbcd41832a6be571f97f138b867959","unresolved":false,"context_lines":[{"line_number":178,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":179,"context_line":"            if sectorsize:"},{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if value not in constants.VALID_SECTOR_SIZES:"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_2e287c32","line":181,"range":{"start_line":181,"start_character":16,"end_line":181,"end_character":21},"updated":"2016-06-27 03:13:53.000000000","message":"If neither share_type nor xml contains SectorSize, there should be a default value.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if value not in constants.VALID_SECTOR_SIZES:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_7410634f","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":17},"updated":"2016-06-22 02:27:02.000000000","message":"This can be removed, the condition below is sufficient.. \n\n\n    if value not in constants.VALID_SECTOR_SIZES:\n\nbecause .get() returns None if the key is missing on line 175... \n\n\nalso, Is there a default sectorsize for the huawei backend?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip().strip(\u0027\\n\u0027)"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if value not in constants.VALID_SECTOR_SIZES:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_9bf6258d","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":17},"in_reply_to":"3aaa91ec_7410634f","updated":"2016-06-28 07:57:39.000000000","message":"When I create a share with no sectorsize, the default value \u002764\u0027 will be provided by huawei storage backend.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"0ce3b2cb7314e1716c27ce1a9de4da5579566e80","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        return opts"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"    def get_sectorsize_opts(self, opts):"},{"line_number":175,"context_line":"        value \u003d opts.get(\u0027sectorsize\u0027)"},{"line_number":176,"context_line":"        if not value:"},{"line_number":177,"context_line":"            root \u003d self.helper._read_xml()"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_4cb9462e","line":174,"range":{"start_line":174,"start_character":39,"end_line":174,"end_character":40},"updated":"2016-06-28 09:41:10.000000000","message":"You need to check whether the \u0027huawei_sectorsize\u0027 is true. If the \u0027huawei_sectorsize\u0027 is true, then the sectorsize value is available. otherwise, the sectorsize value is invalid.","commit_id":"02c8378c29b522175b72817388434b61a818c8d7"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"61723111a480a22be01fab904d20ebc58b8cb6cc","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                sectorsize \u003d sectorsize.strip()"},{"line_number":181,"context_line":"                value \u003d sectorsize"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"        if value:"},{"line_number":184,"context_line":"            if value not in constants.VALID_SECTOR_SIZES:"},{"line_number":185,"context_line":"                raise exception.InvalidInput("},{"line_number":186,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_f191ec53","line":183,"range":{"start_line":183,"start_character":8,"end_line":183,"end_character":17},"updated":"2016-06-28 08:25:42.000000000","message":"When \u0027sectorsize\u0027 is configured in neither share_type nor xml file, this value will be \"None\",in this case, huawei storage backends will provide a default value(64) when creating a new share.","commit_id":"02c8378c29b522175b72817388434b61a818c8d7"},{"author":{"_account_id":6938,"name":"Alexey Ovchinnikov","email":"aovchinnikov@mirantis.com","username":"aovchinnikov"},"change_message_id":"8fe241a101a0a1c3b6af668b9bea894941e777f7","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        value \u003d None"},{"line_number":176,"context_line":"        if strutils.bool_from_string(opts.get(\u0027huawei_sectorsize\u0027)):"},{"line_number":177,"context_line":"            value \u003d opts.get(\u0027sectorsize\u0027)"},{"line_number":178,"context_line":"        if not value:"},{"line_number":179,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":180,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":181,"context_line":"            if sectorsize:"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_e8b18ee1","line":178,"updated":"2016-07-12 10:41:54.000000000","message":"A nit: \"x is None\" is a more idiomatic check.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d4be58ccf9949026cacbbfc17c9f09322b5a91db","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        value \u003d None"},{"line_number":176,"context_line":"        if strutils.bool_from_string(opts.get(\u0027huawei_sectorsize\u0027)):"},{"line_number":177,"context_line":"            value \u003d opts.get(\u0027sectorsize\u0027)"},{"line_number":178,"context_line":"        if not value:"},{"line_number":179,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":180,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":181,"context_line":"            if sectorsize:"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_ebff9fff","line":178,"in_reply_to":"1aa78d24_e8b18ee1","updated":"2016-07-13 03:39:38.000000000","message":"Thank you. I think both expressions work properly.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0392795361b25bc326756076999f05264cc34c0e","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        if strutils.bool_from_string(opts.get(\u0027huawei_sectorsize\u0027)):"},{"line_number":177,"context_line":"            value \u003d opts.get(\u0027sectorsize\u0027)"},{"line_number":178,"context_line":"        if not value:"},{"line_number":179,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":180,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":181,"context_line":"            if sectorsize:"},{"line_number":182,"context_line":"                sectorsize \u003d sectorsize.strip()"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_d3c1e8e5","line":179,"updated":"2016-07-12 09:36:23.000000000","message":"At the condition of huawei_sectorsize from share type set to False, the SectorSize configured in XML file will be used, does this fit the design?","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d4be58ccf9949026cacbbfc17c9f09322b5a91db","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        if strutils.bool_from_string(opts.get(\u0027huawei_sectorsize\u0027)):"},{"line_number":177,"context_line":"            value \u003d opts.get(\u0027sectorsize\u0027)"},{"line_number":178,"context_line":"        if not value:"},{"line_number":179,"context_line":"            root \u003d self.helper._read_xml()"},{"line_number":180,"context_line":"            sectorsize \u003d root.findtext(\u0027Filesystem/SectorSize\u0027)"},{"line_number":181,"context_line":"            if sectorsize:"},{"line_number":182,"context_line":"                sectorsize \u003d sectorsize.strip()"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_0bfb0b48","line":179,"in_reply_to":"1aa78d24_d3c1e8e5","updated":"2016-07-13 03:39:38.000000000","message":"Yes, we wish it to run in that way.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"4c898f7b12f25abd5fc06dc84e4d28633be874ca","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            if value not in constants.VALID_SECTOR_SIZES:"},{"line_number":187,"context_line":"                raise exception.InvalidInput("},{"line_number":188,"context_line":"                    reason\u003d(_(\u0027Illegal value(%s) specified for sectorsize: \u0027"},{"line_number":189,"context_line":"                              \u0027set to either 4, 8, 16, 32 or 64.\u0027) % value))"},{"line_number":190,"context_line":"            else:"},{"line_number":191,"context_line":"                opts[\u0027sectorsize\u0027] \u003d int(value)"},{"line_number":192,"context_line":"        return opts"}],"source_content_type":"text/x-python","patch_set":19,"id":"dada55a8_2f24205c","line":189,"range":{"start_line":189,"start_character":45,"end_line":189,"end_character":63},"updated":"2016-07-21 11:26:37.000000000","message":"It should use var you use in condition - \"constants.VALID_SECTOR_SIZES\".","commit_id":"96795787aeb92a644138daba235e954d3c0fd83b"}],"manila/tests/share/drivers/huawei/test_huawei_nas.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b8c8ddda69e29c830bf21930f14525deac2b7fe1","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    def test_create_share_with_sectorsize(self):"},{"line_number":1378,"context_line":"        share_type \u003d {"},{"line_number":1379,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1380,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027"},{"line_number":1381,"context_line":"            },"},{"line_number":1382,"context_line":"        }"},{"line_number":1383,"context_line":"        self.mock_object(db,"},{"line_number":1384,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1385,"context_line":"                         mock.Mock(return_value\u003dshare_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_424fbb33","line":1382,"range":{"start_line":1377,"start_character":4,"end_line":1382,"end_character":9},"updated":"2016-05-17 07:15:38.000000000","message":"@ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)\ndef test_create_share_with_sectorsize(self, sectorsize):\n        share_type \u003d {\n            \u0027extra_specs\u0027: {\n                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize\n            },\n        }","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    def test_create_share_with_sectorsize(self):"},{"line_number":1378,"context_line":"        share_type \u003d {"},{"line_number":1379,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1380,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027"},{"line_number":1381,"context_line":"            },"},{"line_number":1382,"context_line":"        }"},{"line_number":1383,"context_line":"        self.mock_object(db,"},{"line_number":1384,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1385,"context_line":"                         mock.Mock(return_value\u003dshare_type))"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_974b54b0","line":1382,"range":{"start_line":1377,"start_character":4,"end_line":1382,"end_character":9},"in_reply_to":"dab17558_424fbb33","updated":"2016-05-18 11:49:17.000000000","message":"Done","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b8c8ddda69e29c830bf21930f14525deac2b7fe1","unresolved":false,"context_lines":[{"line_number":1388,"context_line":"                                            self.share_server)"},{"line_number":1389,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1390,"context_line":""},{"line_number":1391,"context_line":"    def test_create_share_with_wrong_sectorsize(self):"},{"line_number":1392,"context_line":"        share_type \u003d {"},{"line_number":1393,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1394,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027128\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_42c21b54","line":1391,"range":{"start_line":1391,"start_character":0,"end_line":1391,"end_character":3},"updated":"2016-05-17 07:15:38.000000000","message":"Add test about extra_specs huawei_sectorsize:sectorsize is None, and \u0027SectorSize\u0027 is configed in xml file.","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":1388,"context_line":"                                            self.share_server)"},{"line_number":1389,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1390,"context_line":""},{"line_number":1391,"context_line":"    def test_create_share_with_wrong_sectorsize(self):"},{"line_number":1392,"context_line":"        share_type \u003d {"},{"line_number":1393,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1394,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027128\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_d7cb1c1d","line":1391,"range":{"start_line":1391,"start_character":0,"end_line":1391,"end_character":3},"in_reply_to":"dab17558_42c21b54","updated":"2016-05-18 11:49:17.000000000","message":"Done","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b8c8ddda69e29c830bf21930f14525deac2b7fe1","unresolved":false,"context_lines":[{"line_number":1388,"context_line":"                                            self.share_server)"},{"line_number":1389,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1390,"context_line":""},{"line_number":1391,"context_line":"    def test_create_share_with_wrong_sectorsize(self):"},{"line_number":1392,"context_line":"        share_type \u003d {"},{"line_number":1393,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1394,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027128\u0027"},{"line_number":1395,"context_line":"            },"},{"line_number":1396,"context_line":"        }"},{"line_number":1397,"context_line":"        self.mock_object(db,"},{"line_number":1398,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1399,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1400,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1401,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1402,"context_line":"                          self.driver.create_share,"},{"line_number":1403,"context_line":"                          self._context,"},{"line_number":1404,"context_line":"                          self.share_nfs,"},{"line_number":1405,"context_line":"                          self.share_server)"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def test_create_share_with_wrong_sectorsizetype(self):"},{"line_number":1408,"context_line":"        share_type \u003d {"},{"line_number":1409,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1410,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027xx\u0027"},{"line_number":1411,"context_line":"            },"},{"line_number":1412,"context_line":"        }"},{"line_number":1413,"context_line":"        self.mock_object(db,"},{"line_number":1414,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1415,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1416,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1417,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1418,"context_line":"                          self.driver.create_share,"},{"line_number":1419,"context_line":"                          self._context,"},{"line_number":1420,"context_line":"                          self.share_nfs,"},{"line_number":1421,"context_line":"                          self.share_server)"},{"line_number":1422,"context_line":""},{"line_number":1423,"context_line":"    def test_shrink_share_success(self):"},{"line_number":1424,"context_line":"        self.driver.plugin.helper.shrink_share_flag \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"dab17558_42e17b29","line":1421,"range":{"start_line":1391,"start_character":4,"end_line":1421,"end_character":44},"updated":"2016-05-17 07:15:38.000000000","message":"Please use ddt.","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d32e5d6084f720d356ae29c5e7f1c37d3ec657a7","unresolved":false,"context_lines":[{"line_number":1388,"context_line":"                                            self.share_server)"},{"line_number":1389,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1390,"context_line":""},{"line_number":1391,"context_line":"    def test_create_share_with_wrong_sectorsize(self):"},{"line_number":1392,"context_line":"        share_type \u003d {"},{"line_number":1393,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1394,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027128\u0027"},{"line_number":1395,"context_line":"            },"},{"line_number":1396,"context_line":"        }"},{"line_number":1397,"context_line":"        self.mock_object(db,"},{"line_number":1398,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1399,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1400,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1401,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1402,"context_line":"                          self.driver.create_share,"},{"line_number":1403,"context_line":"                          self._context,"},{"line_number":1404,"context_line":"                          self.share_nfs,"},{"line_number":1405,"context_line":"                          self.share_server)"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def test_create_share_with_wrong_sectorsizetype(self):"},{"line_number":1408,"context_line":"        share_type \u003d {"},{"line_number":1409,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1410,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: \u0027xx\u0027"},{"line_number":1411,"context_line":"            },"},{"line_number":1412,"context_line":"        }"},{"line_number":1413,"context_line":"        self.mock_object(db,"},{"line_number":1414,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1415,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1416,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1417,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1418,"context_line":"                          self.driver.create_share,"},{"line_number":1419,"context_line":"                          self._context,"},{"line_number":1420,"context_line":"                          self.share_nfs,"},{"line_number":1421,"context_line":"                          self.share_server)"},{"line_number":1422,"context_line":""},{"line_number":1423,"context_line":"    def test_shrink_share_success(self):"},{"line_number":1424,"context_line":"        self.driver.plugin.helper.shrink_share_flag \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab6814e_97e2349e","line":1421,"range":{"start_line":1391,"start_character":4,"end_line":1421,"end_character":44},"in_reply_to":"dab17558_42e17b29","updated":"2016-05-18 11:49:17.000000000","message":"Done","commit_id":"84b6e6dfaf5f9a95701f7a92f8d90157a7ea44b6"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"4365ecc167b9e89957babe137c8ea1ac77d76b34","unresolved":false,"context_lines":[{"line_number":1387,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1388,"context_line":"        location \u003d self.driver.create_share(self._context, self.share_nfs,"},{"line_number":1389,"context_line":"                                            self.share_server)"},{"line_number":1390,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"    @ddt.data(\u0027128\u0027, \u0027xx\u0027, \u0027None\u0027, \u0027 \u0027)"},{"line_number":1393,"context_line":"    def test_create_share_with_wrong_sectorsize(self, sectorsize):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_2ab37cea","line":1390,"range":{"start_line":1390,"start_character":68,"end_line":1390,"end_character":68},"updated":"2016-06-01 08:05:07.000000000","message":"You need to add a test for user not config the \u0027huawei_sectorsize:sectorsize\u0027, and use the value(\u0027Filesystem/SectorSize\u0027) in config file(xxx.xml) .\n\nAdd test for Filesystem/SectorSize value is valid and invalid.","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5bbb71407714983b47071ba8fc5b909279758281","unresolved":false,"context_lines":[{"line_number":1387,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1388,"context_line":"        location \u003d self.driver.create_share(self._context, self.share_nfs,"},{"line_number":1389,"context_line":"                                            self.share_server)"},{"line_number":1390,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"    @ddt.data(\u0027128\u0027, \u0027xx\u0027, \u0027None\u0027, \u0027 \u0027)"},{"line_number":1393,"context_line":"    def test_create_share_with_wrong_sectorsize(self, sectorsize):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_74c25054","line":1390,"range":{"start_line":1390,"start_character":68,"end_line":1390,"end_character":68},"in_reply_to":"9abb7d3a_2ab37cea","updated":"2016-06-02 01:47:44.000000000","message":"Done","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"4365ecc167b9e89957babe137c8ea1ac77d76b34","unresolved":false,"context_lines":[{"line_number":3502,"context_line":"                          share,"},{"line_number":3503,"context_line":"                          self.share_server)"},{"line_number":3504,"context_line":""},{"line_number":3505,"context_line":"    def create_fake_conf_file(self, fake_conf_file,"},{"line_number":3506,"context_line":"                              product_flag\u003dTrue, username_flag\u003dTrue,"},{"line_number":3507,"context_line":"                              pool_node_flag\u003dTrue, timeout_flag\u003dTrue,"},{"line_number":3508,"context_line":"                              wait_interval_flag\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_eae334d7","line":3505,"range":{"start_line":3505,"start_character":8,"end_line":3505,"end_character":29},"updated":"2016-06-01 08:05:07.000000000","message":"Add the parameter named sectorsize in this function. Add test for Filesystem/SectorSize value is valid and invalid.","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5bbb71407714983b47071ba8fc5b909279758281","unresolved":false,"context_lines":[{"line_number":3502,"context_line":"                          share,"},{"line_number":3503,"context_line":"                          self.share_server)"},{"line_number":3504,"context_line":""},{"line_number":3505,"context_line":"    def create_fake_conf_file(self, fake_conf_file,"},{"line_number":3506,"context_line":"                              product_flag\u003dTrue, username_flag\u003dTrue,"},{"line_number":3507,"context_line":"                              pool_node_flag\u003dTrue, timeout_flag\u003dTrue,"},{"line_number":3508,"context_line":"                              wait_interval_flag\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9abb7d3a_94c7f462","line":3505,"range":{"start_line":3505,"start_character":8,"end_line":3505,"end_character":29},"in_reply_to":"9abb7d3a_eae334d7","updated":"2016-06-02 01:47:44.000000000","message":"Done","commit_id":"8b16fd3c159671068f81b638a9631c1405bb2d84"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"c3a3a777a02a480dca67bd46cf9a140e750f797b","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize"},{"line_number":1382,"context_line":"            },"},{"line_number":1383,"context_line":"        }"},{"line_number":1384,"context_line":"        self.mock_object(db,"},{"line_number":1385,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1386,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1387,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1388,"context_line":"        location \u003d self.driver.create_share(self._context, self.share_nfs,"},{"line_number":1389,"context_line":"                                            self.share_server)"},{"line_number":1390,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1393,"context_line":"    def test_create_share_with_sectorsize_in_xml(self, sectorsize):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_40e553a6","line":1390,"range":{"start_line":1384,"start_character":8,"end_line":1390,"end_character":68},"updated":"2016-06-16 22:35:59.000000000","message":"Please use white space to separate unit tests into 3 sections (mocks, call, asserts).  This greatly enhances readability.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"e1c783fa02731da8a81df4deb4f71e048227f6b1","unresolved":false,"context_lines":[{"line_number":1381,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize"},{"line_number":1382,"context_line":"            },"},{"line_number":1383,"context_line":"        }"},{"line_number":1384,"context_line":"        self.mock_object(db,"},{"line_number":1385,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1386,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1387,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1388,"context_line":"        location \u003d self.driver.create_share(self._context, self.share_nfs,"},{"line_number":1389,"context_line":"                                            self.share_server)"},{"line_number":1390,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1393,"context_line":"    def test_create_share_with_sectorsize_in_xml(self, sectorsize):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_d3f6315c","line":1390,"range":{"start_line":1384,"start_character":8,"end_line":1390,"end_character":68},"in_reply_to":"7aa08908_40e553a6","updated":"2016-06-17 07:51:22.000000000","message":"Done","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"b66f43c42a40676c611873d99169b4b1d4546e9b","unresolved":false,"context_lines":[{"line_number":1426,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize"},{"line_number":1427,"context_line":"            },"},{"line_number":1428,"context_line":"        }"},{"line_number":1429,"context_line":"        self.mock_object(db,"},{"line_number":1430,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1431,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1432,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1433,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1434,"context_line":"                          self.driver.create_share,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_235dca48","line":1431,"range":{"start_line":1429,"start_character":8,"end_line":1431,"end_character":60},"updated":"2016-06-16 14:54:32.000000000","message":"I recommend to make assertions on mocked stuff.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"aef362d9595aa05b1e0873d31c1177dd4e6c04d4","unresolved":false,"context_lines":[{"line_number":1426,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize"},{"line_number":1427,"context_line":"            },"},{"line_number":1428,"context_line":"        }"},{"line_number":1429,"context_line":"        self.mock_object(db,"},{"line_number":1430,"context_line":"                         \u0027share_type_get\u0027,"},{"line_number":1431,"context_line":"                         mock.Mock(return_value\u003dshare_type))"},{"line_number":1432,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1433,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1434,"context_line":"                          self.driver.create_share,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_c5513964","line":1431,"range":{"start_line":1429,"start_character":8,"end_line":1431,"end_character":60},"in_reply_to":"7aa08908_235dca48","updated":"2016-06-17 11:55:30.000000000","message":"Also, it could be defined in \"setUp\" method. Same for other new tests.","commit_id":"3ca8f5e518edb5655dd6b2658d4eca4a0e9ab7cf"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"d6c6ad51b3b745629ab99edcb7d6407a29590101","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"7aa08908_0cdec56c","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"updated":"2016-06-17 13:59:02.000000000","message":"You could probably use your new VALID_SECTOR_SIZES constant here and below.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"0b3aea9e96bf939e4215f2f13c14b1dccd2f6235","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a9d85d2_26c0317c","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"in_reply_to":"5a9d85d2_37f37c75","updated":"2016-06-21 13:28:21.000000000","message":"Thank you for your attention, I have another question, I use \u0027sectorsize\u0027 to create the filesystem, at the end of this function, \u0027sectorsize\u0027 dones\u0027t contained in the return parms, how can i assert the value of \u0027sectorsize\u0027?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"e62326190fb3da47722d31eceb43ab258fc8b31a","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a9d85d2_9bfc2e40","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"in_reply_to":"5a9d85d2_45d825f0","updated":"2016-06-20 05:17:17.000000000","message":"@ddt.data(*constants.VALID_SECTOR_SIZES)","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"c0ae9f6f976e287e83c150d781aa385c5bff7e62","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a9d85d2_37f37c75","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"in_reply_to":"5a9d85d2_9bfc2e40","updated":"2016-06-20 13:58:48.000000000","message":"+1  Thanks, Valeriy, that\u0027s what I had in mind.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"0b3aea9e96bf939e4215f2f13c14b1dccd2f6235","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a9d85d2_7b6d0132","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"in_reply_to":"5a9d85d2_9bfc2e40","updated":"2016-06-21 13:28:21.000000000","message":"Thank you，it\u0027s done.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"371842ee50a7f4ad37686e2c6b6406314059a1ec","unresolved":false,"context_lines":[{"line_number":1374,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1375,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1376,"context_line":""},{"line_number":1377,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1378,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1379,"context_line":"        share_type \u003d {"},{"line_number":1380,"context_line":"            \u0027extra_specs\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a9d85d2_45d825f0","line":1377,"range":{"start_line":1377,"start_character":4,"end_line":1377,"end_character":41},"in_reply_to":"7aa08908_0cdec56c","updated":"2016-06-20 03:07:36.000000000","message":"The type of VALID_SECTOR_SIZES is tuple, so in @ddt.data(constants.VALID_SECTOR_SIZES) constants.VALID_SECTOR_SIZES will be regarded as one element. I\u0027m not sure if this is correct, do you have any better suggsetions?","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"275706246d0f4efa22b924a95cb15317f095e44f","unresolved":false,"context_lines":[{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1393,"context_line":""},{"line_number":1394,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1395,"context_line":"    def test_create_share_with_sectorsize_in_xml(self, sectorsize):"},{"line_number":1396,"context_line":"        self.recreate_fake_conf_file(sectorsize_value\u003dsectorsize)"},{"line_number":1397,"context_line":"        self.driver.plugin.configuration.manila_huawei_conf_file \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_aaef06af","line":1394,"range":{"start_line":1394,"start_character":9,"end_line":1394,"end_character":14},"updated":"2016-06-22 03:42:23.000000000","message":"Add \u0027 \u0027 and  \u0027\u0027 data in this test. because It will use default value when the sectorsize is set to \u0027 \u0027 and \u0027\u0027 in xml.","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":1391,"context_line":""},{"line_number":1392,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1393,"context_line":""},{"line_number":1394,"context_line":"    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)"},{"line_number":1395,"context_line":"    def test_create_share_with_sectorsize_in_xml(self, sectorsize):"},{"line_number":1396,"context_line":"        self.recreate_fake_conf_file(sectorsize_value\u003dsectorsize)"},{"line_number":1397,"context_line":"        self.driver.plugin.configuration.manila_huawei_conf_file \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_50f49759","line":1394,"range":{"start_line":1394,"start_character":9,"end_line":1394,"end_character":14},"in_reply_to":"3aaa91ec_aaef06af","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":3543,"context_line":"                              pool_node_flag\u003dTrue, timeout_flag\u003dTrue,"},{"line_number":3544,"context_line":"                              wait_interval_flag\u003dTrue,"},{"line_number":3545,"context_line":"                              alloctype_value\u003d\u0027Thick\u0027,"},{"line_number":3546,"context_line":"                              sectorsize_value\u003d\u00274\u0027,"},{"line_number":3547,"context_line":"                              multi_url\u003dFalse,"},{"line_number":3548,"context_line":"                              logical_port\u003d\u0027100.115.10.68\u0027):"},{"line_number":3549,"context_line":"        doc \u003d xml.dom.minidom.Document()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_f4d73321","line":3546,"range":{"start_line":3546,"start_character":46,"end_line":3546,"end_character":49},"updated":"2016-06-22 02:27:02.000000000","message":"Please add test for invalid sectorsize in your conf file..","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"275706246d0f4efa22b924a95cb15317f095e44f","unresolved":false,"context_lines":[{"line_number":3543,"context_line":"                              pool_node_flag\u003dTrue, timeout_flag\u003dTrue,"},{"line_number":3544,"context_line":"                              wait_interval_flag\u003dTrue,"},{"line_number":3545,"context_line":"                              alloctype_value\u003d\u0027Thick\u0027,"},{"line_number":3546,"context_line":"                              sectorsize_value\u003d\u00274\u0027,"},{"line_number":3547,"context_line":"                              multi_url\u003dFalse,"},{"line_number":3548,"context_line":"                              logical_port\u003d\u0027100.115.10.68\u0027):"},{"line_number":3549,"context_line":"        doc \u003d xml.dom.minidom.Document()"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_8a3faa24","line":3546,"range":{"start_line":3546,"start_character":46,"end_line":3546,"end_character":49},"in_reply_to":"3aaa91ec_f4d73321","updated":"2016-06-22 03:42:23.000000000","message":"The test for invalid sectorsize in conf file is \"def test_create_share_with_wrong_sectorsize_in_xml\".","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"0ce3b2cb7314e1716c27ce1a9de4da5579566e80","unresolved":false,"context_lines":[{"line_number":1382,"context_line":"    @ddt.data(*constants.VALID_SECTOR_SIZES)"},{"line_number":1383,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1384,"context_line":"        share_type \u003d {"},{"line_number":1385,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1386,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize"},{"line_number":1387,"context_line":"            },"},{"line_number":1388,"context_line":"        }"},{"line_number":1389,"context_line":"        self.mock_share_type(share_type)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_ec78f22d","line":1386,"range":{"start_line":1385,"start_character":12,"end_line":1386,"end_character":58},"updated":"2016-06-28 09:41:10.000000000","message":"Add tests about \u0027huawei_sectorsize\u0027: \"\u003cis\u003e true\",  \u0027huawei_sectorsize\u0027: \"\u003cis\u003e false\",  \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\", \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e false\"... etc.","commit_id":"02c8378c29b522175b72817388434b61a818c8d7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"adf5b92d62052882bf8ca1c915b8e97945bc94da","unresolved":false,"context_lines":[{"line_number":1383,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1384,"context_line":"        share_type \u003d {"},{"line_number":1385,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1386,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1387,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize,"},{"line_number":1388,"context_line":"            },"},{"line_number":1389,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"1aa78d24_3ce24604","line":1386,"range":{"start_line":1386,"start_character":50,"end_line":1386,"end_character":61},"updated":"2016-07-04 02:19:32.000000000","message":"The \"\u003cis\u003e true\" , \"\u003cis\u003e True\", \"true\" and \"True\" also need to be tested.","commit_id":"d602af7ad4d1afebdf1ddbdab5ac1f52619b01cf"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"adf5b92d62052882bf8ca1c915b8e97945bc94da","unresolved":false,"context_lines":[{"line_number":1400,"context_line":"    def test_create_share_with_wrong_sectorsize(self, sectorsize):"},{"line_number":1401,"context_line":"        share_type \u003d {"},{"line_number":1402,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1403,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1404,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize,"},{"line_number":1405,"context_line":"            },"},{"line_number":1406,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"1aa78d24_9ce7fa11","line":1403,"range":{"start_line":1403,"start_character":50,"end_line":1403,"end_character":61},"updated":"2016-07-04 02:19:32.000000000","message":"The \"\u003cis\u003e true\" , \"\u003cis\u003e True\", \"true\" and \"True\" also need to be tested.","commit_id":"d602af7ad4d1afebdf1ddbdab5ac1f52619b01cf"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"7529849b26b1dd209c896565daadf58ee6977dfd","unresolved":false,"context_lines":[{"line_number":1443,"context_line":"                          self.share_nfs,"},{"line_number":1444,"context_line":"                          self.share_server)"},{"line_number":1445,"context_line":""},{"line_number":1446,"context_line":"    @ddt.data((\u00274\u0027, \u00278\u0027), (\u00270\u0027, \u002716\u0027), (\u0027None\u0027, \u002732\u0027), (\u0027a\u0027, \u002764\u0027))"},{"line_number":1447,"context_line":"    @ddt.unpack"},{"line_number":1448,"context_line":"    def test_create_share_with_invalid_share_type(self, typevalue, xmlvalue):"},{"line_number":1449,"context_line":"        share_type \u003d {"}],"source_content_type":"text/x-python","patch_set":12,"id":"3aaa91ec_150dcf8e","line":1446,"range":{"start_line":1446,"start_character":4,"end_line":1446,"end_character":67},"updated":"2016-07-01 06:40:52.000000000","message":"When \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e false\", the value of sectorsize set in share_type will not be used,If \u0027sectorsize\u0027 is configured in xml file, the value of sectorsize in the xml will be used.","commit_id":"d602af7ad4d1afebdf1ddbdab5ac1f52619b01cf"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"adf5b92d62052882bf8ca1c915b8e97945bc94da","unresolved":false,"context_lines":[{"line_number":1448,"context_line":"    def test_create_share_with_invalid_share_type(self, typevalue, xmlvalue):"},{"line_number":1449,"context_line":"        share_type \u003d {"},{"line_number":1450,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1451,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e false\","},{"line_number":1452,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: typevalue,"},{"line_number":1453,"context_line":"            },"},{"line_number":1454,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"1aa78d24_dc0342b7","line":1451,"range":{"start_line":1451,"start_character":51,"end_line":1451,"end_character":61},"updated":"2016-07-04 02:19:32.000000000","message":"The \"\u003cis\u003e false\" , \"\u003cis\u003e False\", \"false\" and \"False\" also need to be tested.","commit_id":"d602af7ad4d1afebdf1ddbdab5ac1f52619b01cf"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"adf5b92d62052882bf8ca1c915b8e97945bc94da","unresolved":false,"context_lines":[{"line_number":1468,"context_line":"    def test_create_share_with_invalid_sectorsize(self, typevalue, xmlvalue):"},{"line_number":1469,"context_line":"        share_type \u003d {"},{"line_number":1470,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1471,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e false\","},{"line_number":1472,"context_line":"                \u0027huawei_sectorsize:sectorsize\u0027: typevalue,"},{"line_number":1473,"context_line":"            },"},{"line_number":1474,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":12,"id":"1aa78d24_1c2caa49","line":1471,"range":{"start_line":1471,"start_character":50,"end_line":1471,"end_character":62},"updated":"2016-07-04 02:19:32.000000000","message":"The \"\u003cis\u003e false\" , \"\u003cis\u003e False\", \"false\" and \"False\" also need to be tested.","commit_id":"d602af7ad4d1afebdf1ddbdab5ac1f52619b01cf"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bf6eae8da867298f5d94dc7c49f57e095d4fec1d","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data(*constants.VALID_SECTOR_SIZES)"},{"line_number":1383,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1384,"context_line":"        share_type \u003d {"},{"line_number":1385,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1386,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_19f3c5d7","line":1383,"range":{"start_line":1383,"start_character":4,"end_line":1383,"end_character":60},"updated":"2016-07-05 16:45:19.000000000","message":"This and below one tests are the same. So, they could be, and, should be combined to avoid code duplication:\n\n\"\"\"\n    @ddt.data(\n        (\"4\", \"\u003cis\u003e True\"),\n        (\"8\", \"\u003cis\u003e true\"),\n        (\"16\", \"True\"),\n        (\"32\", \"true\"),\n        (\"64\", \"\u003cis\u003e True\"),\n    )\n    @ddt.unpack\n    def test_create_share_with_sectorsize(self, sectorsize, enabled_str):\n        share_type \u003d {\n            \u0027extra_specs\u0027: {\n                \u0027capabilities:huawei_sectorsize\u0027: enabled_str,\n                \u0027huawei_sectorsize:sectorsize\u0027: sectorsize,\n            },\n        }\n        self.mock_share_type(share_type)\n\n        self.driver.plugin.helper.login()\n        location \u003d self.driver.create_share(self._context, self.share_nfs,\n                                            self.share_server)\n\n        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)\n        self.assertTrue(db.share_type_get.called)\n\"\"\"\n\nBut, addressing comments below, some part of above example may be changed.","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"b93eb62dec3da4a5b6fc517c74d04b8fb02af0f0","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data(*constants.VALID_SECTOR_SIZES)"},{"line_number":1383,"context_line":"    def test_create_share_with_sectorsize(self, sectorsize):"},{"line_number":1384,"context_line":"        share_type \u003d {"},{"line_number":1385,"context_line":"            \u0027extra_specs\u0027: {"},{"line_number":1386,"context_line":"                \u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_c09c755f","line":1383,"range":{"start_line":1383,"start_character":4,"end_line":1383,"end_character":60},"in_reply_to":"1aa78d24_19f3c5d7","updated":"2016-07-06 12:05:42.000000000","message":"+1, use ddt","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bf6eae8da867298f5d94dc7c49f57e095d4fec1d","unresolved":false,"context_lines":[{"line_number":1400,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027}},"},{"line_number":1401,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e True\","},{"line_number":1402,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002764\u0027}},"},{"line_number":1403,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"true\","},{"line_number":1404,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u0027128\u0027}},"},{"line_number":1405,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"True\","},{"line_number":1406,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u0027xx\u0027}})"},{"line_number":1407,"context_line":"    def test_create_share_with_sectorsize_capabilities(self, fake_share_type):"},{"line_number":1408,"context_line":"        self.mock_share_type(fake_share_type)"},{"line_number":1409,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_795c89ed","line":1406,"range":{"start_line":1403,"start_character":14,"end_line":1406,"end_character":54},"updated":"2016-07-05 16:45:19.000000000","message":"These two do not look valid, because values 128 and xx are not supported by backend. You sure that this test works as expected?","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"bf6eae8da867298f5d94dc7c49f57e095d4fec1d","unresolved":false,"context_lines":[{"line_number":1411,"context_line":"        location \u003d self.driver.create_share(self._context, self.share_nfs,"},{"line_number":1412,"context_line":"                                            self.share_server)"},{"line_number":1413,"context_line":""},{"line_number":1414,"context_line":"        self.assertEqual(\"100.115.10.68:/share_fake_uuid\", location)"},{"line_number":1415,"context_line":"        self.assertTrue(db.share_type_get.called)"},{"line_number":1416,"context_line":""},{"line_number":1417,"context_line":"    @ddt.data(\u0027128\u0027, \u0027xx\u0027, \u0027None\u0027, \u0027 \u0027)"},{"line_number":1418,"context_line":"    def test_create_share_with_wrong_sectorsize(self, sectorsize):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1aa78d24_390961de","line":1415,"range":{"start_line":1414,"start_character":8,"end_line":1415,"end_character":49},"updated":"2016-07-05 16:45:19.000000000","message":"Where do we see that expected sectorsize was used?","commit_id":"22c43af1e3ba235c7c1a30150a7d959950a6a442"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"7d083885163f3a9b55e11bc2f139304dd1e3c8da","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data({\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1383,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027}},"},{"line_number":1384,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1385,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00278\u0027}},"},{"line_number":1386,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1387,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002716\u0027}},"},{"line_number":1388,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1389,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002732\u0027}},"},{"line_number":1390,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1391,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002764\u0027}},"},{"line_number":1392,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e True\","},{"line_number":1393,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002716\u0027}})"},{"line_number":1394,"context_line":"    def test_create_share_with_sectorsize_in_type(self, fake_share_type):"},{"line_number":1395,"context_line":"        self.mock_share_type(fake_share_type)"},{"line_number":1396,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1aa78d24_fea7ad4d","line":1393,"range":{"start_line":1382,"start_character":0,"end_line":1393,"end_character":54},"updated":"2016-07-11 17:37:55.000000000","message":"What\u0027s wrong with this?  I see the difference between \u0027\u003cis\u003e true\u0027 and \u0027\u003cis\u003e True\u0027, but that\u0027s handled by the scheduler, not the driver.\n\n\n    @ddt.data(\u00274\u0027, \u00278\u0027, \u002716\u0027, \u002732\u0027, \u002764\u0027)\n    def test_create_share_with_sectorsize_in_type(self, sector_size):\n\n        fake_share_type \u003d {\n            \u0027extra_specs\u0027: {\n                \u0027capabilities:huawei_sectorsize\u0027: \u0027\u003cis\u003e True\u0027,\n                \u0027huawei_sectorsize:sectorsize\u0027: sector_size,\n            },\n        }\n        self.mock_share_type(fake_share_type)","commit_id":"218f1e72caf80572d81dbe43b2ba2cdab58ab8f9"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"1c3640284020bf21bd34fa6d1488ee34bf86710d","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data({\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1383,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027}},"},{"line_number":1384,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1385,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00278\u0027}},"},{"line_number":1386,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1387,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002716\u0027}},"},{"line_number":1388,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1389,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002732\u0027}},"},{"line_number":1390,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1391,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002764\u0027}},"},{"line_number":1392,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e True\","},{"line_number":1393,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u002716\u0027}})"},{"line_number":1394,"context_line":"    def test_create_share_with_sectorsize_in_type(self, fake_share_type):"},{"line_number":1395,"context_line":"        self.mock_share_type(fake_share_type)"},{"line_number":1396,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"1aa78d24_10041848","line":1393,"range":{"start_line":1382,"start_character":0,"end_line":1393,"end_character":54},"in_reply_to":"1aa78d24_fea7ad4d","updated":"2016-07-12 01:09:55.000000000","message":"There are five valid values for sector_size, since \"\u003cis\u003e true\" and \"\u003cis\u003e True\" are correct formats, so I test these two formats in one test case.","commit_id":"218f1e72caf80572d81dbe43b2ba2cdab58ab8f9"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"7d083885163f3a9b55e11bc2f139304dd1e3c8da","unresolved":false,"context_lines":[{"line_number":1433,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"True\","},{"line_number":1434,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u0027\u0027}, \u0027xmlvalue\u0027: \u0027\u0027})"},{"line_number":1435,"context_line":"    @ddt.unpack"},{"line_number":1436,"context_line":"    def test_create_share_with_invaild_type_vaild_xml(self, extra_specs,"},{"line_number":1437,"context_line":"                                                      xmlvalue):"},{"line_number":1438,"context_line":"        fake_share_type \u003d {}"},{"line_number":1439,"context_line":"        fake_share_type[\u0027extra_specs\u0027] \u003d extra_specs"}],"source_content_type":"text/x-python","patch_set":17,"id":"1aa78d24_9e2309bd","line":1436,"range":{"start_line":1436,"start_character":8,"end_line":1436,"end_character":53},"updated":"2016-07-11 17:37:55.000000000","message":"Two typos in the same name.  Never seen that before!  Please fix here and elsewhere.\n\ns/vaild/valid/","commit_id":"218f1e72caf80572d81dbe43b2ba2cdab58ab8f9"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"1c3640284020bf21bd34fa6d1488ee34bf86710d","unresolved":false,"context_lines":[{"line_number":1433,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"True\","},{"line_number":1434,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u0027\u0027}, \u0027xmlvalue\u0027: \u0027\u0027})"},{"line_number":1435,"context_line":"    @ddt.unpack"},{"line_number":1436,"context_line":"    def test_create_share_with_invaild_type_vaild_xml(self, extra_specs,"},{"line_number":1437,"context_line":"                                                      xmlvalue):"},{"line_number":1438,"context_line":"        fake_share_type \u003d {}"},{"line_number":1439,"context_line":"        fake_share_type[\u0027extra_specs\u0027] \u003d extra_specs"}],"source_content_type":"text/x-python","patch_set":17,"id":"1aa78d24_30f7945a","line":1436,"range":{"start_line":1436,"start_character":8,"end_line":1436,"end_character":53},"in_reply_to":"1aa78d24_9e2309bd","updated":"2016-07-12 01:09:55.000000000","message":"Done","commit_id":"218f1e72caf80572d81dbe43b2ba2cdab58ab8f9"},{"author":{"_account_id":11865,"name":"Clinton Knight","email":"cknight@netapp.com","username":"cknight"},"change_message_id":"fbe0f35caac388d4fc6ac917695ca29ee87fc50f","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data({\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1383,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027}},"},{"line_number":1384,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1385,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00278\u0027}},"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_d4454443","line":1382,"range":{"start_line":1382,"start_character":66,"end_line":1382,"end_character":75},"updated":"2016-07-12 13:18:48.000000000","message":"Show me where your driver interprets and uses \u0027capabilities:huawei_sectorsize\u0027, and then I\u0027ll agree you should test different variations of it here.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"d4be58ccf9949026cacbbfc17c9f09322b5a91db","unresolved":false,"context_lines":[{"line_number":1379,"context_line":"        self.assertEqual(constants.ALLOC_TYPE_THICK_FLAG,"},{"line_number":1380,"context_line":"                         self.driver.plugin.helper.alloc_type)"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"    @ddt.data({\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1383,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00274\u0027}},"},{"line_number":1384,"context_line":"              {\u0027extra_specs\u0027: {\u0027capabilities:huawei_sectorsize\u0027: \"\u003cis\u003e true\","},{"line_number":1385,"context_line":"               \u0027huawei_sectorsize:sectorsize\u0027: \u00278\u0027}},"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_4ed5211a","line":1382,"range":{"start_line":1382,"start_character":66,"end_line":1382,"end_character":75},"in_reply_to":"1aa78d24_d4454443","updated":"2016-07-13 03:39:38.000000000","message":"Done","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"0392795361b25bc326756076999f05264cc34c0e","unresolved":false,"context_lines":[{"line_number":1412,"context_line":"        self.mock_share_type(share_type)"},{"line_number":1413,"context_line":""},{"line_number":1414,"context_line":"        self.driver.plugin.helper.login()"},{"line_number":1415,"context_line":"        self.assertRaises(exception.InvalidShare,"},{"line_number":1416,"context_line":"                          self.driver.create_share,"},{"line_number":1417,"context_line":"                          self._context,"},{"line_number":1418,"context_line":"                          self.share_nfs,"}],"source_content_type":"text/x-python","patch_set":18,"id":"1aa78d24_b3525cdc","line":1415,"updated":"2016-07-12 09:36:23.000000000","message":"Suggest asserting the exception message raised by sector size validation.","commit_id":"55cfcbdf44122859af755a3205b5f5f1e0f0fd07"}],"releasenotes/notes/huawei-driver-sectorsize-config-da776132ba6da2a7.yaml":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"f9c78aea48cd4b1feaa3f31a76a7951ca50261ee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Create a share with sectorsize."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9abb7d3a_c4fb7246","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":35},"updated":"2016-06-02 12:47:18.000000000","message":"for which backend? please include that this is for Huawei driver. The release note will be a huge list of changes from manila and several different vendors","commit_id":"af1f2a06f2e67aa41a7a62d650eacbe80933ebe9"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"dac027e7a0341fcf91c8ee0fe60bbf6c5f100a09","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Create a share with sectorsize for Huawei driver."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3aaa91ec_2804c67c","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":53},"updated":"2016-06-22 02:27:02.000000000","message":"Could you specify that this includes the vendor specific sector size extra-spec?\n\n\"Huawei driver supports setting the backend \u0027sectorsize\u0027 while creating shares and administrators can use this capability via the share types extra-spec \u0027huawei_sectorsize:sectorsize\u0027 or via the XML configuration file.\"","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"},{"author":{"_account_id":17742,"name":"liucheng","email":"liucheng20@huawei.com","username":"liucheng"},"change_message_id":"5722d0320e73b4112fa88ca78156a53768c70358","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Create a share with sectorsize for Huawei driver."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3aaa91ec_f0de63db","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":53},"in_reply_to":"3aaa91ec_2804c67c","updated":"2016-06-28 07:57:39.000000000","message":"Done","commit_id":"1241c69ee4b6808e9e0de79a491ad95afd7c0f1f"}]}
