)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e61c0e6f043c87162f9d9c4116aede21be1aa54a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     raghavendrat \u003craghavendra.tilay@hpe.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-10 03:12:23 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"3PAR: Provide option to specify zone information for bootable volume"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fix aims to resolve below mentioned bugs:"},{"line_number":10,"context_line":"https://bugs.launchpad.net/os-brick/+bug/1812665"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"7faddb67_989a096c","line":7,"updated":"2019-07-10 14:11:28.000000000","message":"Should change the title to say provide new option to\nspecify NSP for single path attachments.","commit_id":"3b50324bdd1ae88de713d2fe3ddc3d36fdcc679c"}],"cinder/volume/drivers/hpe/hpe_3par_common.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7687be2ae9906b900a774f3efbec8076e5facb7d","unresolved":false,"context_lines":[{"line_number":3938,"context_line":"            return None"},{"line_number":3939,"context_line":"        else:"},{"line_number":3940,"context_line":"            # Get initiator wwn from initiator hba"},{"line_number":3941,"context_line":"            from os_brick.initiator import linuxfc"},{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"            root_helper \u003d None"},{"line_number":3944,"context_line":"            execute \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfbec78f_f417ae44","line":3941,"updated":"2019-05-07 13:35:49.000000000","message":"you realize this is only the HBA information for the cinder controller, not the nova compute host which is doing the actual attachment?  This will never work.","commit_id":"883a6427e853476e30bba2190f7b17fcd9821b05"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5daddb9bd84dfcf37f07b06495f64e742a1ee8f8","unresolved":false,"context_lines":[{"line_number":3947,"context_line":"                proc \u003d subprocess.Popen("},{"line_number":3948,"context_line":"                    cmd, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":3949,"context_line":"            except OSError as e:"},{"line_number":3950,"context_line":"                LOG.debug(\"Got exception while running \""},{"line_number":3951,"context_line":"                          \"systool command %(ex)s\", {\u0027ex\u0027: e})"},{"line_number":3952,"context_line":"            else:"},{"line_number":3953,"context_line":"                out, err \u003d proc.communicate()"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_99501c35","line":3950,"range":{"start_line":3950,"start_character":15,"end_line":3950,"end_character":25},"updated":"2019-05-17 13:51:37.000000000","message":"This should be a LOG.error","commit_id":"2faef36fc2658d4b71ce2d2c0fdddcad153a56a5"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"5daddb9bd84dfcf37f07b06495f64e742a1ee8f8","unresolved":false,"context_lines":[{"line_number":3948,"context_line":"                    cmd, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":3949,"context_line":"            except OSError as e:"},{"line_number":3950,"context_line":"                LOG.debug(\"Got exception while running \""},{"line_number":3951,"context_line":"                          \"systool command %(ex)s\", {\u0027ex\u0027: e})"},{"line_number":3952,"context_line":"            else:"},{"line_number":3953,"context_line":"                out, err \u003d proc.communicate()"},{"line_number":3954,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_39457071","line":3951,"range":{"start_line":3951,"start_character":34,"end_line":3951,"end_character":42},"updated":"2019-05-17 13:51:37.000000000","message":"command:","commit_id":"2faef36fc2658d4b71ce2d2c0fdddcad153a56a5"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"962b52059f390f60980097509df8c0e72a2b5d4c","unresolved":false,"context_lines":[{"line_number":3940,"context_line":"            # Get initiator wwn from initiator hba"},{"line_number":3941,"context_line":"            import subprocess"},{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"            cmd \u003d [\u0027systool\u0027, \u0027-c\u0027, \u0027fc_host\u0027, \u0027-A\u0027, \u0027port_name\u0027]"},{"line_number":3944,"context_line":""},{"line_number":3945,"context_line":"            initiator_wwn \u003d \u0027\u0027"},{"line_number":3946,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_caf69190","line":3943,"updated":"2019-05-20 22:29:28.000000000","message":"why are you doing this?   os-brick does this and provides all the HBA information needed during a local attach.","commit_id":"d57c96a343ba83536f69367efe91d194a62c17a0"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"e5b51e7fa030bf0061032b9aef0a142793cabe00","unresolved":false,"context_lines":[{"line_number":120,"context_line":"                help\u003d\"Enable CHAP authentication for iSCSI connections.\"),"},{"line_number":121,"context_line":"    cfg.StrOpt(\u0027hpe3par_target_nsp\u0027,"},{"line_number":122,"context_line":"               default\u003d\"\","},{"line_number":123,"context_line":"               help\u003d\"nsp of 3PAR backend which is used to create zone\"),"},{"line_number":124,"context_line":"]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_d9857bae","line":123,"updated":"2019-06-27 19:34:53.000000000","message":"This shouldn\u0027t be used to create a zone.  this is the nsp to be used in the case that 1) the zone manager isn\u0027t used, and 2) the 3par is prezoned with that specific nsp only.  otherwise multipath works.","commit_id":"32a735e5ce5665fd7a3785e5c02dc7a4f8dc4cca"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"38da0dc63d21f668157e2e4056aea01af334ce98","unresolved":false,"context_lines":[{"line_number":3930,"context_line":"                self.config.target_ip_address)"},{"line_number":3931,"context_line":"            self._client_conf[\u0027iscsi_port\u0027] \u003d self.config.target_port"},{"line_number":3932,"context_line":""},{"line_number":3933,"context_line":"    def get_user_target(self):"},{"line_number":3934,"context_line":"        target_nsp \u003d self.config.hpe3par_target_nsp"},{"line_number":3935,"context_line":""},{"line_number":3936,"context_line":"        if target_nsp \u003d\u003d \u0027\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_5d8152fa","line":3933,"updated":"2019-07-01 13:05:48.000000000","message":"since this method is specific to the FC driver, I think a better place for it is in the FC driver, not the common class?","commit_id":"64ff456a1718713c92a921e82bf8210794519145"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"45580b1e155f304409bcf28342b44adfab63416c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                    \"(1) multipath is not enabled in cinder.conf. \""},{"line_number":125,"context_line":"                    \"(2) Fiber Channel Zone Manager is not used. \""},{"line_number":126,"context_line":"                    \"(3) the 3PAR backend is prezoned with this \""},{"line_number":127,"context_line":"                    \" specific nsp only.\"),"},{"line_number":128,"context_line":"]"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_9d3cbe2f","line":127,"updated":"2019-07-18 13:29:33.000000000","message":"for example if nsp is 0 2 1\nthe format of the option\u0027s value is ?  \n0:2:1  ?  0,2,1 ?","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"5b7f22df1e0e9d9992859827125fdda73057bec1","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                    \"(1) multipath is not enabled in cinder.conf. \""},{"line_number":125,"context_line":"                    \"(2) Fiber Channel Zone Manager is not used. \""},{"line_number":126,"context_line":"                    \"(3) the 3PAR backend is prezoned with this \""},{"line_number":127,"context_line":"                    \" specific nsp only.\"),"},{"line_number":128,"context_line":"]"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_25f7ac5b","line":127,"in_reply_to":"7faddb67_9d3cbe2f","updated":"2019-07-18 15:07:16.000000000","message":"ok. will update with an example","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"}],"cinder/volume/drivers/hpe/hpe_3par_fc.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"38da0dc63d21f668157e2e4056aea01af334ce98","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                        init_targ_map[initiator][:1]"},{"line_number":187,"context_line":"                else:"},{"line_number":188,"context_line":"                    target_wwns \u003d [user_target]"},{"line_number":189,"context_line":"                    initiator \u003d connector.get(\u0027wwpns\u0027)[0]"},{"line_number":190,"context_line":"                    init_targ_map[initiator] \u003d [user_target]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"            # check if a VLUN already exists for this host"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_dda9c27b","line":189,"updated":"2019-07-01 13:05:48.000000000","message":"no need to do this in both then and else, do it once above the if?","commit_id":"64ff456a1718713c92a921e82bf8210794519145"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"292c8043368f887db85d843f470fee3ed17a9e0b","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            LOG.debug(\"multipath: %(multipath)s\","},{"line_number":172,"context_line":"                      {\u0027multipath\u0027: multipath})"},{"line_number":173,"context_line":"            user_target \u003d None"},{"line_number":174,"context_line":"            if not connector.get(\u0027multipath\u0027):"},{"line_number":175,"context_line":"                user_target \u003d self._get_user_target(common)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            # we have to make sure we have a host"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_22609e01","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":45},"updated":"2019-07-09 09:11:57.000000000","message":"this can be replaced with the above declared variable multipath","commit_id":"452344bcc4474cdc3dad639485e7107d6dc22a06"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"23df2eb8c24aa541ad91d397aade72d8d098e2d2","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            LOG.debug(\"multipath: %(multipath)s\","},{"line_number":172,"context_line":"                      {\u0027multipath\u0027: multipath})"},{"line_number":173,"context_line":"            user_target \u003d None"},{"line_number":174,"context_line":"            if not connector.get(\u0027multipath\u0027):"},{"line_number":175,"context_line":"                user_target \u003d self._get_user_target(common)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            # we have to make sure we have a host"}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_2b22b653","line":174,"range":{"start_line":174,"start_character":19,"end_line":174,"end_character":45},"in_reply_to":"7faddb67_22609e01","updated":"2019-07-09 11:36:19.000000000","message":"ok. will do","commit_id":"452344bcc4474cdc3dad639485e7107d6dc22a06"},{"author":{"_account_id":29502,"name":"Sneha Rai","email":"sneha.rai@hpe.com","username":"sneharai"},"change_message_id":"f9ae33c545ba513500efadc3de9ce7af50eb35db","unresolved":false,"context_lines":[{"line_number":172,"context_line":"                      {\u0027multipath\u0027: multipath})"},{"line_number":173,"context_line":"            user_target \u003d None"},{"line_number":174,"context_line":"            if not multipath:"},{"line_number":175,"context_line":"                user_target \u003d self._get_user_target(common)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"            # we have to make sure we have a host"},{"line_number":178,"context_line":"            host \u003d self._create_host(common, volume, connector)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_db31a6a4","line":175,"updated":"2019-07-23 07:34:57.000000000","message":"This line can be added after the below if not multipath condition at line number 181. No need to declare user_target then.","commit_id":"065ee826ee27944a22838d73f97af55ac20cf55a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7b9c0f10c8208cdf5deaa89dc03b28550c77799a","unresolved":false,"context_lines":[{"line_number":425,"context_line":"    def _get_user_target(self, common):"},{"line_number":426,"context_line":"        target_nsp \u003d common.config.hpe3par_target_nsp"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"        if target_nsp \u003d\u003d \u0027\u0027:"},{"line_number":429,"context_line":"            return None"},{"line_number":430,"context_line":"        else:"},{"line_number":431,"context_line":"            # Get target wwn from target nsp"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_1f194a87","line":428,"updated":"2019-07-24 17:15:41.000000000","message":"if not target_nsp:","commit_id":"065ee826ee27944a22838d73f97af55ac20cf55a"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7b9c0f10c8208cdf5deaa89dc03b28550c77799a","unresolved":false,"context_lines":[{"line_number":438,"context_line":"                    target_wwn \u003d port[\u0027portWWN\u0027]"},{"line_number":439,"context_line":"                    break"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"            if target_wwn \u003d\u003d \u0027\u0027:"},{"line_number":442,"context_line":"                LOG.warning(\"Did not get wwn for target nsp: \""},{"line_number":443,"context_line":"                            \"%(nsp)s\", {\u0027nsp\u0027: target_nsp})"},{"line_number":444,"context_line":"                return None"}],"source_content_type":"text/x-python","patch_set":15,"id":"7faddb67_3f1e8670","line":441,"updated":"2019-07-24 17:15:41.000000000","message":"if not target_wwn:","commit_id":"065ee826ee27944a22838d73f97af55ac20cf55a"}],"doc/source/configuration/block-storage/drivers/hpe-3par-driver.rst":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7b0f4eab8405a46360220f76c8abd35cdcbb516","unresolved":false,"context_lines":[{"line_number":419,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":420,"context_line":""},{"line_number":421,"context_line":"Given a system connected to HPE 3PAR via FC and multipath setting is"},{"line_number":422,"context_line":"NOT used in cinder.conf. When user tries to create bootable volume, it"},{"line_number":423,"context_line":"fails intermittently with following error:"},{"line_number":424,"context_line":"Fibre Channel volume device not found"},{"line_number":425,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"7faddb67_f1363603","line":422,"range":{"start_line":422,"start_character":25,"end_line":422,"end_character":59},"updated":"2019-07-18 18:31:50.000000000","message":"When the user tries to create a bootable","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7b0f4eab8405a46360220f76c8abd35cdcbb516","unresolved":false,"context_lines":[{"line_number":420,"context_line":""},{"line_number":421,"context_line":"Given a system connected to HPE 3PAR via FC and multipath setting is"},{"line_number":422,"context_line":"NOT used in cinder.conf. When user tries to create bootable volume, it"},{"line_number":423,"context_line":"fails intermittently with following error:"},{"line_number":424,"context_line":"Fibre Channel volume device not found"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"This happens when a zone is created using second or later target from"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7faddb67_b13c3ee1","line":423,"range":{"start_line":423,"start_character":21,"end_line":423,"end_character":35},"updated":"2019-07-18 18:31:50.000000000","message":"with the following","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7b0f4eab8405a46360220f76c8abd35cdcbb516","unresolved":false,"context_lines":[{"line_number":446,"context_line":""},{"line_number":447,"context_line":"Suppose zone is created using targets \"2:1:2\" and \"3:1:2\" from above"},{"line_number":448,"context_line":"output. Then initiator target map is created using target \"0:1:1\" only."},{"line_number":449,"context_line":"In such case, path is not found, and bootable volume creation fails."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"To avoid above mentioned failure, user can specify target in 3PAR"},{"line_number":452,"context_line":"backend section of cinder.conf as follows:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7faddb67_51270acb","line":449,"range":{"start_line":449,"start_character":0,"end_line":449,"end_character":31},"updated":"2019-07-18 18:31:50.000000000","message":"In such a case, the path is not found,","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d7b0f4eab8405a46360220f76c8abd35cdcbb516","unresolved":false,"context_lines":[{"line_number":448,"context_line":"output. Then initiator target map is created using target \"0:1:1\" only."},{"line_number":449,"context_line":"In such case, path is not found, and bootable volume creation fails."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"To avoid above mentioned failure, user can specify target in 3PAR"},{"line_number":452,"context_line":"backend section of cinder.conf as follows:"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"``hpe3par_target_nsp \u003d 3:1:2``"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7faddb67_91126261","line":451,"range":{"start_line":451,"start_character":25,"end_line":451,"end_character":57},"updated":"2019-07-18 18:31:50.000000000","message":"failure, the user can specify the target","commit_id":"5cb0b89ef7d00a7fe4fc22f4ea0b3d45403ae00c"}]}
