)]}'
{"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"813df2bfe4180d9b684295a3893e93fbeb9182e9","unresolved":false,"context_lines":[{"line_number":3488,"context_line":"                               \u0027target_lun\u0027: 0,"},{"line_number":3489,"context_line":"                               \u0027auth_method\u0027: \u0027CHAP\u0027,"},{"line_number":3490,"context_line":"                               \u0027discovery_auth_method\u0027: \u0027CHAP\u0027}}"},{"line_number":3491,"context_line":"        "},{"line_number":3492,"context_line":"        self._set_flag(\u0027storwize_svc_iscsi_uses_ipv6\u0027, True)"},{"line_number":3493,"context_line":"        volume_iSCSI \u003d self._create_volume()"},{"line_number":3494,"context_line":"        extra_spec \u003d {\u0027capabilities:storage_protocol\u0027: \u0027\u003cin\u003e iSCSI\u0027}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4c43b2_ac6acfaf","line":3491,"updated":"2020-04-17 02:44:03.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"8bbe3c4dd5e87ac1e55e608ba397fd5ece111d48"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"813df2bfe4180d9b684295a3893e93fbeb9182e9","unresolved":false,"context_lines":[{"line_number":3491,"context_line":"        "},{"line_number":3492,"context_line":"        self._set_flag(\u0027storwize_svc_iscsi_uses_ipv6\u0027, True)"},{"line_number":3493,"context_line":"        volume_iSCSI \u003d self._create_volume()"},{"line_number":3494,"context_line":"        extra_spec \u003d {\u0027capabilities:storage_protocol\u0027: \u0027\u003cin\u003e iSCSI\u0027}"},{"line_number":3495,"context_line":""},{"line_number":3496,"context_line":"        # Make sure that the volumes have been created"},{"line_number":3497,"context_line":"        self._assert_vol_exists(volume_iSCSI[\u0027name\u0027], True)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4c43b2_8c6553e4","line":3494,"updated":"2020-04-17 02:44:03.000000000","message":"pep8: F841 local variable \u0027extra_spec\u0027 is assigned to but never used","commit_id":"8bbe3c4dd5e87ac1e55e608ba397fd5ece111d48"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e123fbe48fe15c46bc7b873bd7db2dc69bda73d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"    cfg.BoolOpt(\u0027storwize_svc_iscsi_uses_ipv6\u0027,"},{"line_number":152,"context_line":"                default\u003dFalse,"},{"line_number":153,"context_line":"                help\u003d\u0027Specifies whether ipv6 is used for iscsi connection. \u0027"},{"line_number":154,"context_line":"                     \u0027The defaule value False means it is iscsi ipv4.\u0027),"},{"line_number":155,"context_line":"]"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_54d9dcf0","line":154,"range":{"start_line":154,"start_character":26,"end_line":154,"end_character":33},"updated":"2020-03-30 17:44:46.000000000","message":"default","commit_id":"e33afdfc4c47dbac99508cb274f11476ef854e62"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"08279177046c8790f91112bb683b42867dcf391b","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Some volume parameters can not be changed or changed at the same"},{"line_number":4483,"context_line":"        # time during volume retype operation. This function checks the"},{"line_number":4484,"context_line":"        # retype parameters."},{"line_number":4485,"context_line":"        if old_opts[\u0027iscsi_uses_ipv6\u0027] !\u003d new_opts[\u0027iscsi_uses_ipv6\u0027]:"},{"line_number":4486,"context_line":"            if self._helpers.is_vdisk_in_use(volume.name):"},{"line_number":4487,"context_line":"                msg \u003d (_(\u0027Unable to retype: volume %s is in use right now. \u0027"},{"line_number":4488,"context_line":"                         \u0027The iSCSI type can not be changed.\u0027) % volume.name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_cca6eeab","line":4485,"range":{"start_line":4485,"start_character":8,"end_line":4485,"end_character":70},"updated":"2020-03-31 12:27:41.000000000","message":"Checking this during retype is kind of odd. Do you have a way on check_for_setup_error to see if the config option was changed since the last time it was restarted? Like checking something on the storage device itself to see if current setting is different than what was used?","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"52485685950659e6f474a1e441e13bd20fc0a210","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Some volume parameters can not be changed or changed at the same"},{"line_number":4483,"context_line":"        # time during volume retype operation. This function checks the"},{"line_number":4484,"context_line":"        # retype parameters."},{"line_number":4485,"context_line":"        if old_opts[\u0027iscsi_uses_ipv6\u0027] !\u003d new_opts[\u0027iscsi_uses_ipv6\u0027]:"},{"line_number":4486,"context_line":"            if self._helpers.is_vdisk_in_use(volume.name):"},{"line_number":4487,"context_line":"                msg \u003d (_(\u0027Unable to retype: volume %s is in use right now. \u0027"},{"line_number":4488,"context_line":"                         \u0027The iSCSI type can not be changed.\u0027) % volume.name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_cea4870b","line":4485,"range":{"start_line":4485,"start_character":8,"end_line":4485,"end_character":70},"in_reply_to":"df33271e_793d502b","updated":"2020-04-07 11:36:17.000000000","message":"Well, that\u0027s kind of the question. If it supports both, why does the driver need special handling for it.","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"686a61aa48c6e4df6e8cf410ddfee8a90d160153","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Some volume parameters can not be changed or changed at the same"},{"line_number":4483,"context_line":"        # time during volume retype operation. This function checks the"},{"line_number":4484,"context_line":"        # retype parameters."},{"line_number":4485,"context_line":"        if old_opts[\u0027iscsi_uses_ipv6\u0027] !\u003d new_opts[\u0027iscsi_uses_ipv6\u0027]:"},{"line_number":4486,"context_line":"            if self._helpers.is_vdisk_in_use(volume.name):"},{"line_number":4487,"context_line":"                msg \u003d (_(\u0027Unable to retype: volume %s is in use right now. \u0027"},{"line_number":4488,"context_line":"                         \u0027The iSCSI type can not be changed.\u0027) % volume.name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_793d502b","line":4485,"range":{"start_line":4485,"start_character":8,"end_line":4485,"end_character":70},"in_reply_to":"df33271e_cca6eeab","updated":"2020-04-07 06:28:30.000000000","message":"Storwize support both IPv4 and IPv6 at the same time for same volume. So It\u0027s hard for driver to detect proper IP version for specific host.","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"274b5e85bc5036423f91c8234ec77957df96093e","unresolved":false,"context_lines":[{"line_number":4482,"context_line":"        # Some volume parameters can not be changed or changed at the same"},{"line_number":4483,"context_line":"        # time during volume retype operation. This function checks the"},{"line_number":4484,"context_line":"        # retype parameters."},{"line_number":4485,"context_line":"        if old_opts[\u0027iscsi_uses_ipv6\u0027] !\u003d new_opts[\u0027iscsi_uses_ipv6\u0027]:"},{"line_number":4486,"context_line":"            if self._helpers.is_vdisk_in_use(volume.name):"},{"line_number":4487,"context_line":"                msg \u003d (_(\u0027Unable to retype: volume %s is in use right now. \u0027"},{"line_number":4488,"context_line":"                         \u0027The iSCSI type can not be changed.\u0027) % volume.name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_fd9aa25f","line":4485,"range":{"start_line":4485,"start_character":8,"end_line":4485,"end_character":70},"in_reply_to":"df33271e_cea4870b","updated":"2020-04-09 05:40:14.000000000","message":"Hi Sean, I figured out a method to check config with check_for_setup_error. I will update patch.\nThanks","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"50f3b868c0dbc6939579be9872ee2bfe93f84a25","unresolved":false,"context_lines":[{"line_number":148,"context_line":"               \u0027performs a complete cycle at most once each period. \u0027"},{"line_number":149,"context_line":"               \u0027The default is 300 seconds, and the valid seconds \u0027"},{"line_number":150,"context_line":"               \u0027are 60-86400.\u0027),"},{"line_number":151,"context_line":"    cfg.BoolOpt(\u0027storwize_svc_iscsi_uses_ipv6\u0027,"},{"line_number":152,"context_line":"                default\u003dFalse,"},{"line_number":153,"context_line":"                help\u003d\u0027Specifies whether IPv6 is used for iSCSI connection. \u0027"},{"line_number":154,"context_line":"                     \u0027The default value False means it is iSCSI with IPv4.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4c43b2_c27db46f","line":151,"range":{"start_line":151,"start_character":17,"end_line":151,"end_character":45},"updated":"2020-04-13 15:55:20.000000000","message":"Do really need this flag? Can we just use oslo_utils.netutils.is_valid_ipv6 to determine what is used?","commit_id":"d6ed37523db67905c9148d4ff32100dd1ab7645f"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"7709920c4e217c35b8561d56df5c00695aef7524","unresolved":false,"context_lines":[{"line_number":148,"context_line":"               \u0027performs a complete cycle at most once each period. \u0027"},{"line_number":149,"context_line":"               \u0027The default is 300 seconds, and the valid seconds \u0027"},{"line_number":150,"context_line":"               \u0027are 60-86400.\u0027),"},{"line_number":151,"context_line":"    cfg.BoolOpt(\u0027storwize_svc_iscsi_uses_ipv6\u0027,"},{"line_number":152,"context_line":"                default\u003dFalse,"},{"line_number":153,"context_line":"                help\u003d\u0027Specifies whether IPv6 is used for iSCSI connection. \u0027"},{"line_number":154,"context_line":"                     \u0027The default value False means it is iSCSI with IPv4.\u0027),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4c43b2_8b7d84e9","line":151,"range":{"start_line":151,"start_character":17,"end_line":151,"end_character":45},"in_reply_to":"3f4c43b2_c27db46f","updated":"2020-04-13 23:09:51.000000000","message":"Hi Ivan, since storwize support both IPv4 and IPv6 at the same time, this config is not to verify IP version. With this option enabled, cinder driver just build iSCSI connection to IPv6 addresses.","commit_id":"d6ed37523db67905c9148d4ff32100dd1ab7645f"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"539e999196a3695b4981edab60c94955bc5d27a1","unresolved":false,"context_lines":[{"line_number":149,"context_line":"               \u0027The default is 300 seconds, and the valid seconds \u0027"},{"line_number":150,"context_line":"               \u0027are 60-86400.\u0027),"},{"line_number":151,"context_line":"    cfg.StrOpt(\u0027storwize_svc_iscsi_ip_version\u0027,"},{"line_number":152,"context_line":"               default\u003d\u00274\u0027,"},{"line_number":153,"context_line":"               help\u003d\u0027Specify IP version which is used for iSCSI connection. \u0027"},{"line_number":154,"context_line":"                    \u0027The default value \"4\" means use IPv4 only. \u0027"},{"line_number":155,"context_line":"                    \u00274+6 means use both IPv4 and IPv6.\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_cb40f338","line":152,"updated":"2020-04-23 18:20:10.000000000","message":"It would be good to add\n\n    choices\u003d[\u00274\u0027, \u00274+6\u0027, \u00276\u0027]\n\nhere to prevent misconfiguration of this option.\n\n\n(I also wonder if this option is actually necessary.)","commit_id":"4519fdee7750a2b28844e564f18de06b8cf54442"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"4f70a06e1ad59a55e93c94f8ab9e6407eed2780d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"               \u0027The default is 300 seconds, and the valid seconds \u0027"},{"line_number":150,"context_line":"               \u0027are 60-86400.\u0027),"},{"line_number":151,"context_line":"    cfg.StrOpt(\u0027storwize_svc_iscsi_ip_version\u0027,"},{"line_number":152,"context_line":"               default\u003d\u00274\u0027,"},{"line_number":153,"context_line":"               help\u003d\u0027Specify IP version which is used for iSCSI connection. \u0027"},{"line_number":154,"context_line":"                    \u0027The default value \"4\" means use IPv4 only. \u0027"},{"line_number":155,"context_line":"                    \u00274+6 means use both IPv4 and IPv6.\u0027),"}],"source_content_type":"text/x-python","patch_set":10,"id":"1f493fa4_e421994f","line":152,"in_reply_to":"1f493fa4_cb40f338","updated":"2020-04-24 03:02:21.000000000","message":"Thanks, Eric. It works! I will update the code. The scenario here is: Backend storage has both IPv4 and IPv6 iSCSI target IP configured, and Host has both IPv4 and IPv6 iSCSI initiator IP too. But User only want to use IPv4 or IPv6 IP for iSCSI connection. Without this patch, User can\u0027t select specific IP version for iSCSI connection.","commit_id":"4519fdee7750a2b28844e564f18de06b8cf54442"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"7f8870b6c54965dd8cc2d58b62ec5fc64cb740a6","unresolved":false,"context_lines":[{"line_number":353,"context_line":"                    elif iscsi_uses_ipv6 and ip_data[\u0027IP_address_6\u0027]:"},{"line_number":354,"context_line":"                        valid_port \u003d \u0027[%s]:%s\u0027 % (ip_data[\u0027IP_address_6\u0027],"},{"line_number":355,"context_line":"                                                  \u00273260\u0027)"},{"line_number":356,"context_line":"                    # valid_port \u003d (ip_data[\u0027IP_address\u0027] or"},{"line_number":357,"context_line":"                    #              ip_data[\u0027IP_address_6\u0027])"},{"line_number":358,"context_line":"                if valid_port:"},{"line_number":359,"context_line":"                    properties[\u0027target_portals\u0027].append(valid_port)"},{"line_number":360,"context_line":"                    properties[\u0027target_iqns\u0027].append("}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_dc5bd751","line":357,"range":{"start_line":356,"start_character":20,"end_line":357,"end_character":22},"updated":"2020-04-21 14:44:46.000000000","message":"Commented out code should be removed.","commit_id":"a83c0fdb5dbce241faa90a357f751f866081866e"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"04f4209b4f152d86b6a4de43e77c25aa8fd8c1ab","unresolved":false,"context_lines":[{"line_number":353,"context_line":"                    elif iscsi_uses_ipv6 and ip_data[\u0027IP_address_6\u0027]:"},{"line_number":354,"context_line":"                        valid_port \u003d \u0027[%s]:%s\u0027 % (ip_data[\u0027IP_address_6\u0027],"},{"line_number":355,"context_line":"                                                  \u00273260\u0027)"},{"line_number":356,"context_line":"                    # valid_port \u003d (ip_data[\u0027IP_address\u0027] or"},{"line_number":357,"context_line":"                    #              ip_data[\u0027IP_address_6\u0027])"},{"line_number":358,"context_line":"                if valid_port:"},{"line_number":359,"context_line":"                    properties[\u0027target_portals\u0027].append(valid_port)"},{"line_number":360,"context_line":"                    properties[\u0027target_iqns\u0027].append("}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_d318d8d4","line":357,"range":{"start_line":356,"start_character":20,"end_line":357,"end_character":22},"in_reply_to":"1f493fa4_dc5bd751","updated":"2020-04-22 06:19:18.000000000","message":"I\u0027ll fix it in a new patchset, Thanks.","commit_id":"a83c0fdb5dbce241faa90a357f751f866081866e"}],"releasenotes/notes/storwize-ipv6-support-5199b39e61b3c83f.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"08279177046c8790f91112bb683b42867dcf391b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add an config option allow user to specify which IP version Storwize"},{"line_number":4,"context_line":"    cinder driver should use to establish iSCSI connection."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_ecc2d233","line":3,"range":{"start_line":3,"start_character":8,"end_line":3,"end_character":10},"updated":"2020-03-31 12:27:41.000000000","message":"\"a\" not \"an\"","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"08279177046c8790f91112bb683b42867dcf391b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add an config option allow user to specify which IP version Storwize"},{"line_number":4,"context_line":"    cinder driver should use to establish iSCSI connection."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_acd1eafd","line":4,"updated":"2020-03-31 12:27:41.000000000","message":"Would be good to include the config option in this release note, formatted with ``option_name``.","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"},{"author":{"_account_id":30428,"name":"Xuchu Jiang","email":"jiangxuchu@gmail.com","username":"Xuchu"},"change_message_id":"686a61aa48c6e4df6e8cf410ddfee8a90d160153","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add an config option allow user to specify which IP version Storwize"},{"line_number":4,"context_line":"    cinder driver should use to establish iSCSI connection."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_084d2b3d","line":4,"in_reply_to":"df33271e_acd1eafd","updated":"2020-04-07 06:28:30.000000000","message":"Sean, Thanks for your guidance. I will fix it later","commit_id":"431f62fcc4184520f2cce86142d6ba5de968f553"}]}
