)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"d1059a5ae9cc00d8144342dda40a3ff2697848de","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a new independent type for qos classes."},{"line_number":10,"context_line":"User can choose between independent and share type, which enables"},{"line_number":11,"context_line":"the user to assign shared class rates (between classes) or independent"},{"line_number":12,"context_line":"class rates."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I3f5e602a0554b852da0dceffbe100cc735e0876b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5ff73747_c92e7ba4","line":12,"range":{"start_line":11,"start_character":12,"end_line":12,"end_character":12},"updated":"2017-04-25 18:42:19.000000000","message":"the \u0027sharing\u0027 effect is not clear here","commit_id":"b7264ef14ec5c93ce906b5445a5bb5bac0c6f15e"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"daa9ec11185fe585882047b74731d39f012b7361","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Ibm storage: added new option for qos type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added independent and shared types for qos classes."},{"line_number":10,"context_line":"Shared type enables to share bandwidth and IO rates between volumes of the"},{"line_number":11,"context_line":"same class. Independent type gives each volume the same bandwidth and IO"},{"line_number":12,"context_line":"rates without being affected by other volumes in the same qos class."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f044301_770d478f","line":10,"range":{"start_line":10,"start_character":71,"end_line":10,"end_character":74},"updated":"2017-05-04 05:32:35.000000000","message":"nit: should limit line length","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"},{"author":{"_account_id":17947,"name":"Tzur Eliyahu","email":"tzure@il.ibm.com","username":"TzurEliyahu"},"change_message_id":"dd0936283467098d2e510764ec182171d250dd6b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Ibm storage: added new option for qos type"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added independent and shared types for qos classes."},{"line_number":10,"context_line":"Shared type enables to share bandwidth and IO rates between volumes of the"},{"line_number":11,"context_line":"same class. Independent type gives each volume the same bandwidth and IO"},{"line_number":12,"context_line":"rates without being affected by other volumes in the same qos class."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f044301_fab5a5ef","line":10,"range":{"start_line":10,"start_character":71,"end_line":10,"end_character":74},"in_reply_to":"3f044301_770d478f","updated":"2017-05-04 18:40:27.000000000","message":"Done","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"}],"cinder/volume/drivers/ibm/ibm_storage/xiv_proxy.py":[{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"daa9ec11185fe585882047b74731d39f012b7361","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            # list is not empty, check if class has the right values"},{"line_number":343,"context_line":"            for perf_class in classes_list:"},{"line_number":344,"context_line":"                if (not perf_class.get(\u0027max_iops\u0027,"},{"line_number":345,"context_line":"                                       None) \u003d\u003d specs.get(\u0027iops\u0027, \u00270\u0027) or"},{"line_number":346,"context_line":"                        not perf_class.get(\u0027max_bw\u0027,"},{"line_number":347,"context_line":"                                           None) \u003d\u003d specs.get(\u0027bw\u0027, \u00270\u0027)):"},{"line_number":348,"context_line":"                    raise self.meta[\u0027exception\u0027].VolumeBackendAPIException("},{"line_number":349,"context_line":"                        data\u003dPERF_CLASS_VALUES_ERROR %"},{"line_number":350,"context_line":"                        {\u0027details\u0027: perf_class_name})"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f044301_57600b33","line":347,"range":{"start_line":344,"start_character":0,"end_line":347,"end_character":74},"updated":"2017-05-04 05:32:35.000000000","message":"Definitely not a show stopper, but I think this could appear better.","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"},{"author":{"_account_id":17947,"name":"Tzur Eliyahu","email":"tzure@il.ibm.com","username":"TzurEliyahu"},"change_message_id":"dd0936283467098d2e510764ec182171d250dd6b","unresolved":false,"context_lines":[{"line_number":341,"context_line":""},{"line_number":342,"context_line":"            # list is not empty, check if class has the right values"},{"line_number":343,"context_line":"            for perf_class in classes_list:"},{"line_number":344,"context_line":"                if (not perf_class.get(\u0027max_iops\u0027,"},{"line_number":345,"context_line":"                                       None) \u003d\u003d specs.get(\u0027iops\u0027, \u00270\u0027) or"},{"line_number":346,"context_line":"                        not perf_class.get(\u0027max_bw\u0027,"},{"line_number":347,"context_line":"                                           None) \u003d\u003d specs.get(\u0027bw\u0027, \u00270\u0027)):"},{"line_number":348,"context_line":"                    raise self.meta[\u0027exception\u0027].VolumeBackendAPIException("},{"line_number":349,"context_line":"                        data\u003dPERF_CLASS_VALUES_ERROR %"},{"line_number":350,"context_line":"                        {\u0027details\u0027: perf_class_name})"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f044301_5aedb9ed","line":347,"range":{"start_line":344,"start_character":0,"end_line":347,"end_character":74},"in_reply_to":"3f044301_57600b33","updated":"2017-05-04 18:40:27.000000000","message":"I\u0027m actually not even sure it\u0027s necessary. The perf class name is built using the max iops and bw, so checking their values seems a bit redundant.","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"3bb35d94164fe858a9e6f0aa9776b96fe5a49d2e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    \"\"\"Proxy between the Cinder Volume and Spectrum Accelerate Storage."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    \"\"\""},{"line_number":115,"context_line":"    async_rates \u003d ("},{"line_number":116,"context_line":"        Rate(rpo\u003d30, schedule\u003d\u002700:00:20\u0027),"},{"line_number":117,"context_line":"        Rate(rpo\u003d60, schedule\u003d\u002700:00:20\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"1f013ff3_edc4b161","line":114,"updated":"2017-05-16 15:21:07.000000000","message":"It might be a good idea to start tracking version numbers on this class, since it\u0027s the main entry point for a lot of the features of your drivers.  \n\nI\u0027d add a version number and a comment block describing each feature patch upgrade.   This helps customers understand what version they have in the field once it\u0027s deployed.","commit_id":"7faf669a161998596ac87bb7cf558e0259bbf2dd"},{"author":{"_account_id":13047,"name":"Isaac Beckman","email":"beckmani@gmail.com","username":"isaacb"},"change_message_id":"c3c054b0d452b34174392100a5b99c1a56c9274e","unresolved":false,"context_lines":[{"line_number":111,"context_line":"    \"\"\"Proxy between the Cinder Volume and Spectrum Accelerate Storage."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    Version: 2.1.0"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    2.0 - First open source driver version"},{"line_number":117,"context_line":"    2.1.0 - Support Consistency groups through Generic volume groups"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff0f0b1f_e064cfbb","line":114,"range":{"start_line":114,"start_character":3,"end_line":114,"end_character":18},"updated":"2017-05-18 11:53:12.000000000","message":"Please add also required pyxcli version here","commit_id":"2e3b47cbc9035aa85124a7abd9c56a090c2f5a75"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"bce36803e431f0745ebd329e83376d53addaa56e","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    Version: 2.1.0"},{"line_number":115,"context_line":"    Required pyxcli version: 1.1.2"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    2.0 - First open source driver version"},{"line_number":118,"context_line":"    2.1.0 - Support Consistency groups through Generic volume groups"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_2a4ce774","line":115,"updated":"2017-06-07 14:59:40.000000000","message":"is there a test in the code to ensure that the installed pyxcli meets the minimum version?","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"864b6696192bff32efc2b02314353f9e9f85c581","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    Version: 2.1.0"},{"line_number":115,"context_line":"    Required pyxcli version: 1.1.2"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    2.0 - First open source driver version"},{"line_number":118,"context_line":"    2.1.0 - Support Consistency groups through Generic volume groups"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_e150550d","line":115,"in_reply_to":"df140735_2a4ce774","updated":"2017-06-07 15:52:39.000000000","message":"Good question.","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"},{"author":{"_account_id":13047,"name":"Isaac Beckman","email":"beckmani@gmail.com","username":"isaacb"},"change_message_id":"bac1de1567d3566f31101452e3658e7d7717b4d8","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    Version: 2.1.0"},{"line_number":115,"context_line":"    Required pyxcli version: 1.1.2"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    2.0 - First open source driver version"},{"line_number":118,"context_line":"    2.1.0 - Support Consistency groups through Generic volume groups"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_b40dfde9","line":115,"in_reply_to":"df140735_e150550d","updated":"2017-06-07 16:15:48.000000000","message":"Will be handled outside of this review by:\nhttps://bugs.launchpad.net/cinder/+bug/1696470","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"864b6696192bff32efc2b02314353f9e9f85c581","unresolved":false,"context_lines":[{"line_number":179,"context_line":"            self.ibm_storage_remote_cli \u003d self._init_xcli(remote_id)"},{"line_number":180,"context_line":"        self._event_service_start()"},{"line_number":181,"context_line":"        self._update_stats()"},{"line_number":182,"context_line":"        LOG.info(\"IBM Storage %(common_ver)s\""},{"line_number":183,"context_line":"                 \"xiv_proxy %(proxy_ver)s. \","},{"line_number":184,"context_line":"                 {\u0027common_ver\u0027: self.full_version,"},{"line_number":185,"context_line":"                  \u0027proxy_ver\u0027: self.full_version})"}],"source_content_type":"text/x-python","patch_set":9,"id":"df140735_a10c9d3b","line":182,"range":{"start_line":182,"start_character":44,"end_line":182,"end_character":45},"updated":"2017-06-07 15:52:39.000000000","message":"missing space here at EOL.","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"272ac26242cb673809bdfa3dae05e8d6e09f62f3","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    Supports IBM XIV, Spectrum Accelerate, A9000, A9000R"},{"line_number":114,"context_line":"    Version: 2.1.0"},{"line_number":115,"context_line":"    Required pyxcli version: 1.1.2"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    2.0 - First open source driver version"},{"line_number":118,"context_line":"    2.1.0 - Support Consistency groups through Generic volume groups"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_351f4ab8","line":115,"range":{"start_line":115,"start_character":4,"end_line":115,"end_character":34},"updated":"2017-06-14 15:53:57.000000000","message":"Please update driver-requirements.txt if this version is now needed.","commit_id":"9b088ca82a2612f0cf73cfa6bc670c6e5b5f64b6"}],"releasenotes/notes/xiv-new-qos-independent-type-58885c77efe24798.yaml":[{"author":{"_account_id":13047,"name":"Isaac Beckman","email":"beckmani@gmail.com","username":"isaacb"},"change_message_id":"1859c4442031a4ee788b353d0c07a30528cc215d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added independent and shared types for qos classes in XIV A9000."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5ff73747_11eb5379","line":3,"range":{"start_line":3,"start_character":58,"end_line":3,"end_character":61},"updated":"2017-04-26 12:50:03.000000000","message":"... in XIV \u0026 A9000","commit_id":"3c684f7ec277cc5d491ea6857bb877a3ee629e38"},{"author":{"_account_id":10213,"name":"Alon Marx","email":"alonma@il.ibm.com","username":"alonmarx"},"change_message_id":"daa9ec11185fe585882047b74731d39f012b7361","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added independent and shared types for qos classes in XIV \u0026 A9000."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f044301_b7c62f16","line":3,"updated":"2017-05-04 05:32:35.000000000","message":"Could add the explanation you added to the commit message about what independent and shared mean","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"},{"author":{"_account_id":17947,"name":"Tzur Eliyahu","email":"tzure@il.ibm.com","username":"TzurEliyahu"},"change_message_id":"dd0936283467098d2e510764ec182171d250dd6b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added independent and shared types for qos classes in XIV \u0026 A9000."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3f044301_e383c803","line":3,"in_reply_to":"3f044301_b7c62f16","updated":"2017-05-04 18:40:27.000000000","message":"Done","commit_id":"2822100ec7c6ce0992c0e45cf90344ab605d2b0f"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"4bd3848b1b26acfb01c816057792ae265ae71496","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added independent and shared types for qos classes in XIV \u0026 A9000."},{"line_number":4,"context_line":"    Shared type enables to share bandwidth and IO rates between volumes"},{"line_number":5,"context_line":"    of the same class. Independent type gives each volume the same"},{"line_number":6,"context_line":"    bandwidth and IO rates without being affected by other volumes in"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df140735_75a2a84d","line":3,"updated":"2017-05-31 03:46:19.000000000","message":"add a | here for multi-lines?","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"864b6696192bff32efc2b02314353f9e9f85c581","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added independent and shared types for qos classes in XIV \u0026 A9000."},{"line_number":4,"context_line":"    Shared type enables to share bandwidth and IO rates between volumes"},{"line_number":5,"context_line":"    of the same class. Independent type gives each volume the same"},{"line_number":6,"context_line":"    bandwidth and IO rates without being affected by other volumes in"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df140735_4134a1de","line":3,"in_reply_to":"df140735_75a2a84d","updated":"2017-06-07 15:52:39.000000000","message":"That shouldn\u0027t be necessary.","commit_id":"bd3da63028b5b3731248bc83332bdac6cd48c6ee"}]}
