)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d3a490c6d0bc8f17a99c4a5b90913a012680e929","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"51aa5112_49ffb1c1","updated":"2021-11-10 13:29:59.000000000","message":"Some issues noted in the commit message.  Question: this is purely a backend issue, and has nothing to do with the version of the purestorage pypi package, is that correct?","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"c514c596c16d5a345df964dbed2c7e15f11c87db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0b75e1a7_fc0bb2ef","updated":"2021-11-09 04:53:50.000000000","message":"run Pure Storage CI","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"e9e61003c416ec684952c46ace883555fd87540c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"59c3d420_3ebf5c40","updated":"2021-11-09 14:00:56.000000000","message":"run Pure Storage CI","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9077770938090588e955c727ed8c9c4b4c6f18ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1ad634ab_c097e35e","in_reply_to":"51aa5112_49ffb1c1","updated":"2021-11-10 15:11:32.000000000","message":"No affect, Noted in the commit message","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09dd36fe622d38221c7ce2a44761359abb1d55ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"82309440_84966490","updated":"2021-11-10 21:48:34.000000000","message":"Looks good overall, a few points noted inline.","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"bd33899fe3288e4056bd5c0568b10344feced26b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7116fd9b_d2dc18ab","updated":"2021-11-10 15:34:02.000000000","message":"recheck","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9997ecd0381db5ba1434c4fd3ea49d175ec7f233","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a30b3ff8_f4591d03","updated":"2021-11-10 17:15:55.000000000","message":"run Pure Storage CI","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b68172c94a21b4fa5fd65d706acd4f102553f446","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"132a0c42_b6f0dd3a","updated":"2021-11-11 03:40:59.000000000","message":"LGTM","commit_id":"8bb216dc168769b399818a7bf8dff16afcfccea3"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"c006c8de79ff50841025b45008ae302c86ea0009","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b9c382ff_48fc6b9d","updated":"2021-11-15 20:51:03.000000000","message":"The code looks goood and Pure Storage CI passed.","commit_id":"8bb216dc168769b399818a7bf8dff16afcfccea3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5ade59d1a72e11c71f3893d74d6b70db4193e90f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"484aa453_62962b1d","updated":"2021-11-11 00:21:53.000000000","message":"recheck grenade - problem during setup, no tests were run","commit_id":"8bb216dc168769b399818a7bf8dff16afcfccea3"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09dd36fe622d38221c7ce2a44761359abb1d55ad","unresolved":true,"context_lines":[{"line_number":2483,"context_line":""},{"line_number":2484,"context_line":"    def _get_host(self, array, connector, remote\u003dFalse):"},{"line_number":2485,"context_line":"        \"\"\"Return dict describing existing Purity host object or None.\"\"\""},{"line_number":2486,"context_line":"        if remote:"},{"line_number":2487,"context_line":"            hosts \u003d array.list_hosts(remote\u003dTrue)"},{"line_number":2488,"context_line":"        else:"},{"line_number":2489,"context_line":"            hosts \u003d array.list_hosts()"},{"line_number":2490,"context_line":"        matching_hosts \u003d []"},{"line_number":2491,"context_line":"        for host in hosts:"},{"line_number":2492,"context_line":"            if connector[\"initiator\"] in host[\"iqn\"]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"afe297be_78164f7d","line":2489,"range":{"start_line":2486,"start_character":0,"end_line":2489,"end_character":38},"updated":"2021-11-10 21:48:34.000000000","message":"I think you can replace this if/else with simply:\n\n  hosts \u003d array.list_hosts(remote\u003dremote)\n\nbecause you no longer need to worry about the case where remote\u003dTrue but the array doesn\u0027t support it.","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"f495b0403c2f6e3fc5af5db96d550201aec60ae6","unresolved":false,"context_lines":[{"line_number":2483,"context_line":""},{"line_number":2484,"context_line":"    def _get_host(self, array, connector, remote\u003dFalse):"},{"line_number":2485,"context_line":"        \"\"\"Return dict describing existing Purity host object or None.\"\"\""},{"line_number":2486,"context_line":"        if remote:"},{"line_number":2487,"context_line":"            hosts \u003d array.list_hosts(remote\u003dTrue)"},{"line_number":2488,"context_line":"        else:"},{"line_number":2489,"context_line":"            hosts \u003d array.list_hosts()"},{"line_number":2490,"context_line":"        matching_hosts \u003d []"},{"line_number":2491,"context_line":"        for host in hosts:"},{"line_number":2492,"context_line":"            if connector[\"initiator\"] in host[\"iqn\"]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"c4cf4466_6ce147bf","line":2489,"range":{"start_line":2486,"start_character":0,"end_line":2489,"end_character":38},"in_reply_to":"afe297be_78164f7d","updated":"2021-11-10 22:07:14.000000000","message":"Done","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09dd36fe622d38221c7ce2a44761359abb1d55ad","unresolved":true,"context_lines":[{"line_number":2709,"context_line":""},{"line_number":2710,"context_line":"    def _get_host(self, array, connector, remote\u003dFalse):"},{"line_number":2711,"context_line":"        \"\"\"Return dict describing existing Purity host object or None.\"\"\""},{"line_number":2712,"context_line":"        if remote:"},{"line_number":2713,"context_line":"            hosts \u003d array.list_hosts(remote\u003dTrue)"},{"line_number":2714,"context_line":"        else:"},{"line_number":2715,"context_line":"            hosts \u003d array.list_hosts()"},{"line_number":2716,"context_line":"        matching_hosts \u003d []"},{"line_number":2717,"context_line":"        for host in hosts:"},{"line_number":2718,"context_line":"            for wwn in connector[\"wwpns\"]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d6a8a87_48a4d691","line":2715,"range":{"start_line":2712,"start_character":0,"end_line":2715,"end_character":38},"updated":"2021-11-10 21:48:34.000000000","message":"see comment at line 2489","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"f495b0403c2f6e3fc5af5db96d550201aec60ae6","unresolved":false,"context_lines":[{"line_number":2709,"context_line":""},{"line_number":2710,"context_line":"    def _get_host(self, array, connector, remote\u003dFalse):"},{"line_number":2711,"context_line":"        \"\"\"Return dict describing existing Purity host object or None.\"\"\""},{"line_number":2712,"context_line":"        if remote:"},{"line_number":2713,"context_line":"            hosts \u003d array.list_hosts(remote\u003dTrue)"},{"line_number":2714,"context_line":"        else:"},{"line_number":2715,"context_line":"            hosts \u003d array.list_hosts()"},{"line_number":2716,"context_line":"        matching_hosts \u003d []"},{"line_number":2717,"context_line":"        for host in hosts:"},{"line_number":2718,"context_line":"            for wwn in connector[\"wwpns\"]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"051815ec_5cfb900a","line":2715,"range":{"start_line":2712,"start_character":0,"end_line":2715,"end_character":38},"in_reply_to":"5d6a8a87_48a4d691","updated":"2021-11-10 22:07:14.000000000","message":"Done","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09dd36fe622d38221c7ce2a44761359abb1d55ad","unresolved":true,"context_lines":[{"line_number":2725,"context_line":"    def _get_array_wwns(array):"},{"line_number":2726,"context_line":"        \"\"\"Return list of wwns from the array\"\"\""},{"line_number":2727,"context_line":"        ports \u003d array.list_ports()"},{"line_number":2728,"context_line":"        valid_ports \u003d ["},{"line_number":2729,"context_line":"            port[\"wwn\"]"},{"line_number":2730,"context_line":"            for port in ports"},{"line_number":2731,"context_line":"            if port[\"wwn\"] and not port[\"nqn\"]"},{"line_number":2732,"context_line":"        ]"},{"line_number":2733,"context_line":"        return valid_ports"},{"line_number":2734,"context_line":""},{"line_number":2735,"context_line":"    @pure_driver_debug_trace"}],"source_content_type":"text/x-python","patch_set":2,"id":"146164b8_0cbb6a26","line":2732,"range":{"start_line":2728,"start_character":0,"end_line":2732,"end_character":9},"updated":"2021-11-10 21:48:34.000000000","message":"you might want to add a comment before this block explaining why you are doing this, because git blame is going to show this commit, not the commit with the message that explains this (change I189b556e1ca64363)","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"f495b0403c2f6e3fc5af5db96d550201aec60ae6","unresolved":false,"context_lines":[{"line_number":2725,"context_line":"    def _get_array_wwns(array):"},{"line_number":2726,"context_line":"        \"\"\"Return list of wwns from the array\"\"\""},{"line_number":2727,"context_line":"        ports \u003d array.list_ports()"},{"line_number":2728,"context_line":"        valid_ports \u003d ["},{"line_number":2729,"context_line":"            port[\"wwn\"]"},{"line_number":2730,"context_line":"            for port in ports"},{"line_number":2731,"context_line":"            if port[\"wwn\"] and not port[\"nqn\"]"},{"line_number":2732,"context_line":"        ]"},{"line_number":2733,"context_line":"        return valid_ports"},{"line_number":2734,"context_line":""},{"line_number":2735,"context_line":"    @pure_driver_debug_trace"}],"source_content_type":"text/x-python","patch_set":2,"id":"99eddacf_fb4d0e59","line":2732,"range":{"start_line":2728,"start_character":0,"end_line":2732,"end_character":9},"in_reply_to":"146164b8_0cbb6a26","updated":"2021-11-10 22:07:14.000000000","message":"Done","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"}],"releasenotes/notes/pure-storage-change-purity-support-b94057d3842a80a8.yaml":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d3a490c6d0bc8f17a99c4a5b90913a012680e929","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Pure Storage: Minimum supported FlashArray Purity//FA is changed to 5.3.0."},{"line_number":4,"context_line":"    All FlashArray backends must be at at least this minimum version or the"},{"line_number":5,"context_line":"    driver will not initialize."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"827e6762_e4a8fa33","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":10},"updated":"2021-11-10 13:29:59.000000000","message":"This isn\u0027t appropriate for the prelude.  Maybe the \u0027upgrade\u0027 section?","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9077770938090588e955c727ed8c9c4b4c6f18ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    Pure Storage: Minimum supported FlashArray Purity//FA is changed to 5.3.0."},{"line_number":4,"context_line":"    All FlashArray backends must be at at least this minimum version or the"},{"line_number":5,"context_line":"    driver will not initialize."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5f7cd4ff_749ad3e2","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":10},"in_reply_to":"827e6762_e4a8fa33","updated":"2021-11-10 15:11:32.000000000","message":"Done","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d3a490c6d0bc8f17a99c4a5b90913a012680e929","unresolved":true,"context_lines":[{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Pure Storage: Remove all API version checks in driver as the new minimum"},{"line_number":9,"context_line":"    FlashArray Purity//FA version supports all previously version-gated"},{"line_number":10,"context_line":"    features and dunctionality support."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    Pure Storage: FlashArray minimum Purity//FA version is increased to 5.3.0."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"a542d437_88b8541c","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":38},"updated":"2021-11-10 13:29:59.000000000","message":"typo, but also maybe better to just say \u0027functionality\u0027 (instead of \u0027functionality support\u0027)","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"9077770938090588e955c727ed8c9c4b4c6f18ca","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  - |"},{"line_number":8,"context_line":"    Pure Storage: Remove all API version checks in driver as the new minimum"},{"line_number":9,"context_line":"    FlashArray Purity//FA version supports all previously version-gated"},{"line_number":10,"context_line":"    features and dunctionality support."},{"line_number":11,"context_line":"other:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    Pure Storage: FlashArray minimum Purity//FA version is increased to 5.3.0."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1d0ae81b_a3847bb2","line":10,"range":{"start_line":10,"start_character":17,"end_line":10,"end_character":38},"in_reply_to":"a542d437_88b8541c","updated":"2021-11-10 15:11:32.000000000","message":"Done","commit_id":"95887ef95462d9e247da2438f0fe47bd0b01fef4"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"09dd36fe622d38221c7ce2a44761359abb1d55ad","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade: \u003e"},{"line_number":3,"context_line":"    Pure Storage: Minimum supported FlashArray Purity//FA is changed to 5.3.0."},{"line_number":4,"context_line":"    All FlashArray backends must be at at least this minimum version or the"},{"line_number":5,"context_line":"    driver will not initialize."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"20ff6d66_919e6472","line":2,"range":{"start_line":2,"start_character":9,"end_line":2,"end_character":10},"updated":"2021-11-10 21:48:34.000000000","message":"sorry I didn\u0027t point this out on the last patch set, but you should change the formatting so that your text will be a bullet point.  (Remove the \u0027\u003e\u0027 from line 2 and then insert a \u0027- |\u0027 before line 3.)","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"f495b0403c2f6e3fc5af5db96d550201aec60ae6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade: \u003e"},{"line_number":3,"context_line":"    Pure Storage: Minimum supported FlashArray Purity//FA is changed to 5.3.0."},{"line_number":4,"context_line":"    All FlashArray backends must be at at least this minimum version or the"},{"line_number":5,"context_line":"    driver will not initialize."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3137fc34_2500c2a0","line":2,"range":{"start_line":2,"start_character":9,"end_line":2,"end_character":10},"in_reply_to":"20ff6d66_919e6472","updated":"2021-11-10 22:07:14.000000000","message":"Done","commit_id":"f8be5c6d1c6cef6c3c15f4570c3a06c2780ff0db"}]}
