)]}'
{"cinder/tests/test_hp3par.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"38141691ac48fc9efa8216dd2a6fc6d8806284eb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import ast"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from jsonschema import validate"},{"line_number":23,"context_line":"from jsonschema import ValidationError"},{"line_number":24,"context_line":"from oslo_config import cfg"},{"line_number":25,"context_line":"from oslo_utils import units"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_9819c68a","line":23,"updated":"2015-01-23 16:33:56.000000000","message":"According to OpenStack Hacking rules, please, import modules, not objects","commit_id":"f2212b4ba0382e526288ea0bd9604e7b2fb30816"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"7924b2d8c068fb5c6338e9b1a05e2f9af80c0bb3","unresolved":false,"context_lines":[{"line_number":20,"context_line":"import ast"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from jsonschema import validate"},{"line_number":23,"context_line":"from jsonschema import ValidationError"},{"line_number":24,"context_line":"from oslo_config import cfg"},{"line_number":25,"context_line":"from oslo_utils import units"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_96835755","line":23,"in_reply_to":"1a930d6b_9819c68a","updated":"2015-01-23 16:58:42.000000000","message":"Done","commit_id":"f2212b4ba0382e526288ea0bd9604e7b2fb30816"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"38141691ac48fc9efa8216dd2a6fc6d8806284eb","unresolved":false,"context_lines":[{"line_number":2608,"context_line":"        # cpg has no limit"},{"line_number":2609,"context_line":"        mock_client.getCPGAvailableSpace.return_value \u003d {"},{"line_number":2610,"context_line":"            \"capacityEfficiency\": {u\u0027compaction\u0027: 594.4},"},{"line_number":2611,"context_line":"            \"rawFreeMiB\": 1024.0 * 6,"},{"line_number":2612,"context_line":"            \"usableFreeMiB\": 1024.0 * 3"},{"line_number":2613,"context_line":"        }"},{"line_number":2614,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_9b2700b6","line":2611,"updated":"2015-01-23 16:33:56.000000000","message":"Please, use constants from oslo_utils","commit_id":"f2212b4ba0382e526288ea0bd9604e7b2fb30816"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"7924b2d8c068fb5c6338e9b1a05e2f9af80c0bb3","unresolved":false,"context_lines":[{"line_number":2608,"context_line":"        # cpg has no limit"},{"line_number":2609,"context_line":"        mock_client.getCPGAvailableSpace.return_value \u003d {"},{"line_number":2610,"context_line":"            \"capacityEfficiency\": {u\u0027compaction\u0027: 594.4},"},{"line_number":2611,"context_line":"            \"rawFreeMiB\": 1024.0 * 6,"},{"line_number":2612,"context_line":"            \"usableFreeMiB\": 1024.0 * 3"},{"line_number":2613,"context_line":"        }"},{"line_number":2614,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1a930d6b_f6801b48","line":2611,"in_reply_to":"1a930d6b_9b2700b6","updated":"2015-01-23 16:58:42.000000000","message":"These are arbitrary numbers, so replacing with 0","commit_id":"f2212b4ba0382e526288ea0bd9604e7b2fb30816"}],"cinder/volume/drivers/san/hp/hp_3par_common.py":[{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"f1490c0be990b3e3233afb77c30c00d992c0d4db","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        2.0.33 - Fix host persona to match WSAPI mapping bug #1403997"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    \"\"\""},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    VERSION \u003d \"2.0.33\""},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    stats \u003d {}"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_05aae184","line":167,"updated":"2015-01-13 23:08:10.000000000","message":"please update the version","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"f1490c0be990b3e3233afb77c30c00d992c0d4db","unresolved":false,"context_lines":[{"line_number":650,"context_line":"    def _get_extra_specs_schema(self):"},{"line_number":651,"context_line":"        return {"},{"line_number":652,"context_line":"            \"description\": \"HP 3PAR extra specs\","},{"line_number":653,"context_line":"            \"display_name\": \"HP3PARFCDriver\","},{"line_number":654,"context_line":"            \"namespace\": \"OS::Cinder::HP3PARFCDriver\","},{"line_number":655,"context_line":"            \"type\": \"object\","},{"line_number":656,"context_line":"            \"properties\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_65f1e595","line":653,"updated":"2015-01-13 23:08:10.000000000","message":"What about the iSCSI Driver? Why is this harded coded to FC? Maybe use HP3PARDriver?","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"814e26cca6515de856b23fb7c73c228b42844396","unresolved":false,"context_lines":[{"line_number":650,"context_line":"    def _get_extra_specs_schema(self):"},{"line_number":651,"context_line":"        return {"},{"line_number":652,"context_line":"            \"description\": \"HP 3PAR extra specs\","},{"line_number":653,"context_line":"            \"display_name\": \"HP3PARFCDriver\","},{"line_number":654,"context_line":"            \"namespace\": \"OS::Cinder::HP3PARFCDriver\","},{"line_number":655,"context_line":"            \"type\": \"object\","},{"line_number":656,"context_line":"            \"properties\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_a5282d98","line":653,"in_reply_to":"3a961159_65f1e595","updated":"2015-01-13 23:15:20.000000000","message":"Done","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"f1490c0be990b3e3233afb77c30c00d992c0d4db","unresolved":false,"context_lines":[{"line_number":651,"context_line":"        return {"},{"line_number":652,"context_line":"            \"description\": \"HP 3PAR extra specs\","},{"line_number":653,"context_line":"            \"display_name\": \"HP3PARFCDriver\","},{"line_number":654,"context_line":"            \"namespace\": \"OS::Cinder::HP3PARFCDriver\","},{"line_number":655,"context_line":"            \"type\": \"object\","},{"line_number":656,"context_line":"            \"properties\": {"},{"line_number":657,"context_line":"                \"hp3par:cpg\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_e505d579","line":654,"updated":"2015-01-13 23:08:10.000000000","message":"What about the iSCSI Driver? Why is this harded coded to FC?","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"814e26cca6515de856b23fb7c73c228b42844396","unresolved":false,"context_lines":[{"line_number":651,"context_line":"        return {"},{"line_number":652,"context_line":"            \"description\": \"HP 3PAR extra specs\","},{"line_number":653,"context_line":"            \"display_name\": \"HP3PARFCDriver\","},{"line_number":654,"context_line":"            \"namespace\": \"OS::Cinder::HP3PARFCDriver\","},{"line_number":655,"context_line":"            \"type\": \"object\","},{"line_number":656,"context_line":"            \"properties\": {"},{"line_number":657,"context_line":"                \"hp3par:cpg\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_651e4576","line":654,"in_reply_to":"3a961159_e505d579","updated":"2015-01-13 23:15:20.000000000","message":"Done","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"f1490c0be990b3e3233afb77c30c00d992c0d4db","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                    \"title\": \"Disk Provisioning\","},{"line_number":671,"context_line":"                    \"description\": \"Disk provisioning mode\","},{"line_number":672,"context_line":"                    \"type\": \"string\","},{"line_number":673,"context_line":"                    \"enum\": [\"thick\", \"full\"],"},{"line_number":674,"context_line":"                    \"default\": \"thin\","},{"line_number":675,"context_line":"                },"},{"line_number":676,"context_line":"                \"hp3par:vvs\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_c58d392c","line":673,"updated":"2015-01-13 23:08:10.000000000","message":"\"thin\" and \"full\", not thick","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"814e26cca6515de856b23fb7c73c228b42844396","unresolved":false,"context_lines":[{"line_number":670,"context_line":"                    \"title\": \"Disk Provisioning\","},{"line_number":671,"context_line":"                    \"description\": \"Disk provisioning mode\","},{"line_number":672,"context_line":"                    \"type\": \"string\","},{"line_number":673,"context_line":"                    \"enum\": [\"thick\", \"full\"],"},{"line_number":674,"context_line":"                    \"default\": \"thin\","},{"line_number":675,"context_line":"                },"},{"line_number":676,"context_line":"                \"hp3par:vvs\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_e5195588","line":673,"in_reply_to":"3a961159_c58d392c","updated":"2015-01-13 23:15:20.000000000","message":"Doh! Done.","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"f1490c0be990b3e3233afb77c30c00d992c0d4db","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                                   \"to it. If you specify extra_specs \""},{"line_number":682,"context_line":"                                   \"hp3par:vvs, the qos_specs minIOPS, \""},{"line_number":683,"context_line":"                                   \"maxIOPS, minBWS, and maxBWS settings are \""},{"line_number":684,"context_line":"                                   \"ignored\","},{"line_number":685,"context_line":"                    \"type\": \"string\","},{"line_number":686,"context_line":"                },"},{"line_number":687,"context_line":"                \"hp3par:persona\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_e5deb50f","line":684,"updated":"2015-01-13 23:08:10.000000000","message":"add a period at the end of the sentence.","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"814e26cca6515de856b23fb7c73c228b42844396","unresolved":false,"context_lines":[{"line_number":681,"context_line":"                                   \"to it. If you specify extra_specs \""},{"line_number":682,"context_line":"                                   \"hp3par:vvs, the qos_specs minIOPS, \""},{"line_number":683,"context_line":"                                   \"maxIOPS, minBWS, and maxBWS settings are \""},{"line_number":684,"context_line":"                                   \"ignored\","},{"line_number":685,"context_line":"                    \"type\": \"string\","},{"line_number":686,"context_line":"                },"},{"line_number":687,"context_line":"                \"hp3par:persona\": {"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_0511015d","line":684,"in_reply_to":"3a961159_e5deb50f","updated":"2015-01-13 23:15:20.000000000","message":"Done","commit_id":"61568549145a1f6b5b1bf470a8cfdd5eb17bae6f"},{"author":{"_account_id":6043,"name":"Kurt Martin","email":"kurt.f.martin@hpe.com","username":"kurt-f-martin"},"change_message_id":"36d789adc21bfbbe4057ebc1fc4feb39a79e22b5","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    \"\"\""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    VERSION \u003d \"2.0.33\""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    stats \u003d {}"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_b465b9b0","line":169,"updated":"2015-01-14 01:59:46.000000000","message":"You added the revision comment above, but didn\u0027t actually update the VERSION string","commit_id":"3aaa41251d01c77201eb577074166a39b392c0f5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"db3815ca741842025c7290f997c896dab15fe84c","unresolved":false,"context_lines":[{"line_number":658,"context_line":"                \"hp3par:cpg\": {"},{"line_number":659,"context_line":"                    \"title\": \"CPG\","},{"line_number":660,"context_line":"                    \"description\": \"Common Provisioning Group (CPG) in which \""},{"line_number":661,"context_line":"                                   \"volumes will be provisioned\","},{"line_number":662,"context_line":"                    \"type\": \"string\","},{"line_number":663,"context_line":"                },"},{"line_number":664,"context_line":"                \"hp3par:snap_cpg\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_f255a7c6","line":661,"updated":"2015-01-22 23:25:05.000000000","message":"Recommend \u0027.\u0027 here.","commit_id":"65037d824c92c48b2c568a89bed9c1989626877b"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"7c720e61152587d3c15708094cb3e6adaa3b5367","unresolved":false,"context_lines":[{"line_number":658,"context_line":"                \"hp3par:cpg\": {"},{"line_number":659,"context_line":"                    \"title\": \"CPG\","},{"line_number":660,"context_line":"                    \"description\": \"Common Provisioning Group (CPG) in which \""},{"line_number":661,"context_line":"                                   \"volumes will be provisioned\","},{"line_number":662,"context_line":"                    \"type\": \"string\","},{"line_number":663,"context_line":"                },"},{"line_number":664,"context_line":"                \"hp3par:snap_cpg\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_12d793ee","line":661,"in_reply_to":"1a930d6b_f255a7c6","updated":"2015-01-22 23:36:56.000000000","message":"Done","commit_id":"65037d824c92c48b2c568a89bed9c1989626877b"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"db3815ca741842025c7290f997c896dab15fe84c","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                \"hp3par:snap_cpg\": {"},{"line_number":665,"context_line":"                    \"title\": \"Snapshot CPG\","},{"line_number":666,"context_line":"                    \"description\": \"Common Provisioning Group (CPG) in which \""},{"line_number":667,"context_line":"                                   \"snapshots will be provisioned\","},{"line_number":668,"context_line":"                    \"type\": \"string\","},{"line_number":669,"context_line":"                },"},{"line_number":670,"context_line":"                \"hp3par:provisioning\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_5262fbad","line":667,"updated":"2015-01-22 23:25:05.000000000","message":"Recommend \u0027.\u0027 here.","commit_id":"65037d824c92c48b2c568a89bed9c1989626877b"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"7c720e61152587d3c15708094cb3e6adaa3b5367","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                \"hp3par:snap_cpg\": {"},{"line_number":665,"context_line":"                    \"title\": \"Snapshot CPG\","},{"line_number":666,"context_line":"                    \"description\": \"Common Provisioning Group (CPG) in which \""},{"line_number":667,"context_line":"                                   \"snapshots will be provisioned\","},{"line_number":668,"context_line":"                    \"type\": \"string\","},{"line_number":669,"context_line":"                },"},{"line_number":670,"context_line":"                \"hp3par:provisioning\": {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_32056f7a","line":667,"in_reply_to":"1a930d6b_5262fbad","updated":"2015-01-22 23:36:56.000000000","message":"Done","commit_id":"65037d824c92c48b2c568a89bed9c1989626877b"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ef0866ad135d52b02623c9369503be017624aa6e","unresolved":false,"context_lines":[{"line_number":672,"context_line":"                    \"description\": \"CPG in which volumes will be provisioned.\","},{"line_number":673,"context_line":"                },"},{"line_number":674,"context_line":"                \"hp3par:snap_cpg\": {"},{"line_number":675,"context_line":"                    \"description\": \"CPG in which snapshots will be provisioned.\","},{"line_number":676,"context_line":"                },"},{"line_number":677,"context_line":"                \"hp3par:provisioning\": {"},{"line_number":678,"context_line":"                    \"description\": \"Disk provisioning mode\","}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_2e6deb32","line":675,"updated":"2015-02-17 21:47:32.000000000","message":"You\u0027ll have to break this line in two.","commit_id":"39b30c8624091e69740cf0069aaabcf1c6de6201"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ef0866ad135d52b02623c9369503be017624aa6e","unresolved":false,"context_lines":[{"line_number":680,"context_line":"                    \"default\": \"thin\","},{"line_number":681,"context_line":"                },"},{"line_number":682,"context_line":"                \"hp3par:vvs\": {"},{"line_number":683,"context_line":"                    \"description\": \"Virtual Volume Set with existing QoS rules.\","},{"line_number":684,"context_line":"                },"},{"line_number":685,"context_line":"                \"hp3par:persona\": {"},{"line_number":686,"context_line":"                    \"description\": \"HP 3PAR Persona\","}],"source_content_type":"text/x-python","patch_set":11,"id":"da86d52c_6e736316","line":683,"updated":"2015-02-17 21:47:32.000000000","message":"This line as well.","commit_id":"39b30c8624091e69740cf0069aaabcf1c6de6201"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"2498f79959a5ebfc6915077395a5eb06bbb49f58","unresolved":false,"context_lines":[{"line_number":677,"context_line":"                },"},{"line_number":678,"context_line":"                \"hp3par:provisioning\": {"},{"line_number":679,"context_line":"                    \"description\": \"Disk provisioning mode\","},{"line_number":680,"context_line":"                    \"enum\": [\"thin\", \"full\"],"},{"line_number":681,"context_line":"                    \"default\": \"thin\","},{"line_number":682,"context_line":"                },"},{"line_number":683,"context_line":"                \"hp3par:vvs\": {"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_fade353d","line":680,"updated":"2015-03-18 21:33:59.000000000","message":"missing \u0027dedup\u0027, should use valid_prov_values (line 192)","commit_id":"a91b325d6fc3ed4136099007c42f569c35b7e533"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"2498f79959a5ebfc6915077395a5eb06bbb49f58","unresolved":false,"context_lines":[{"line_number":686,"context_line":"                },"},{"line_number":687,"context_line":"                \"hp3par:persona\": {"},{"line_number":688,"context_line":"                    \"description\": \"HP 3PAR Persona\","},{"line_number":689,"context_line":"                    \"enum\": ["},{"line_number":690,"context_line":"                        \"1 - Generic\","},{"line_number":691,"context_line":"                        \"2 - Generic-ALUA\","},{"line_number":692,"context_line":"                        \"3 - Generic-legacy\","}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_1ae78913","line":689,"updated":"2015-03-18 21:33:59.000000000","message":"should use valid_persona_values (line 193)","commit_id":"a91b325d6fc3ed4136099007c42f569c35b7e533"},{"author":{"_account_id":11592,"name":"Julie Gravel","email":"julie.gravel@suse.com","username":"jgravel"},"change_message_id":"2498f79959a5ebfc6915077395a5eb06bbb49f58","unresolved":false,"context_lines":[{"line_number":700,"context_line":"                        \"11 - WindowsServer\","},{"line_number":701,"context_line":"                    ],"},{"line_number":702,"context_line":"                    \"default\": \"2 - Generic-ALUA\","},{"line_number":703,"context_line":"                },"},{"line_number":704,"context_line":"            }"},{"line_number":705,"context_line":"        }"},{"line_number":706,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_3ae44d0c","line":703,"updated":"2015-03-18 21:33:59.000000000","message":"also missing checks for \u0027hp3par:flash_cache\u0027 (recently added)","commit_id":"a91b325d6fc3ed4136099007c42f569c35b7e533"}]}
