)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"eaae562cf75ef7db01f321b5503de896f451e813","unresolved":false,"context_lines":[{"line_number":14,"context_line":"engineer\u0027s manual intervention is required."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Proposed Solution:"},{"line_number":17,"context_line":"When a volume is created, vlun would be created automatically in"},{"line_number":18,"context_line":"secondary backend, in addition to primary backend. So that when a"},{"line_number":19,"context_line":"failover happens, it is seamless."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5faad753_325492ca","line":17,"updated":"2019-09-08 04:19:36.000000000","message":"create a vlun when volume is created?  You have to have a host to create a vlun, and the initiator host doesn\u0027t exist during volume creation.  So I\u0027m not sure how this makes sense.","commit_id":"3df022492066adeb5361e06efbbd40b2c75c6009"}],"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":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":230,"context_line":"                    target_wwns \u003d [user_target]"},{"line_number":231,"context_line":"                    init_targ_map[initiator] \u003d [user_target]"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"            info \u003d self._initialize_connection_common("},{"line_number":234,"context_line":"                volume, connector, common, host,"},{"line_number":235,"context_line":"                target_wwns, init_targ_map, numPaths)"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_310ae789","line":233,"updated":"2019-08-30 12:55:46.000000000","message":"I would have left this code in this function and moved out the replication code into it\u0027s own _initialize_connection_replication() as the majority of usage for this driver will not be with replication enabled.   \n\nThis patch makes this code hard to follow now.","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            if volume.get(\u0027replication_status\u0027) !\u003d \u0027enabled\u0027:"},{"line_number":241,"context_line":"                return info"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"            LOG.info(\u0027This is a replication setup\u0027)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"            failover_target \u003d common._replication_targets[0]"},{"line_number":246,"context_line":"            replication_mode \u003d failover_target[\u0027replication_mode\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_1189eb24","line":243,"updated":"2019-08-30 12:55:46.000000000","message":"this should be a debug log","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":241,"context_line":"                return info"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"            LOG.info(\u0027This is a replication setup\u0027)"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"            failover_target \u003d common._replication_targets[0]"},{"line_number":246,"context_line":"            replication_mode \u003d failover_target[\u0027replication_mode\u0027]"},{"line_number":247,"context_line":"            quorum_witness_ip \u003d failover_target.get(\u0027quorum_witness_ip\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_d1acb389","line":244,"updated":"2019-08-30 12:55:46.000000000","message":"the rest of this code in here should get refactored into a \n_initialize_connection_replication() to clean this method up a bit.","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":250,"context_line":"                LOG.info(\u0027replication_mode is sync\u0027)"},{"line_number":251,"context_line":"                if quorum_witness_ip:"},{"line_number":252,"context_line":"                    LOG.info(\u0027quorum_witness_ip is present\u0027)"},{"line_number":253,"context_line":"                    LOG.info(\u0027Peer Persistence has been configured\u0027)"},{"line_number":254,"context_line":"                else:"},{"line_number":255,"context_line":"                    LOG.info(\u0027Since quorum_witness_ip is absent, \u0027"},{"line_number":256,"context_line":"                             \u0027considering this as Active/Passive \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_917cfb20","line":253,"updated":"2019-08-30 12:55:46.000000000","message":"this seems like debug info, and is a bit noisy.","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":254,"context_line":"                else:"},{"line_number":255,"context_line":"                    LOG.info(\u0027Since quorum_witness_ip is absent, \u0027"},{"line_number":256,"context_line":"                             \u0027considering this as Active/Passive \u0027"},{"line_number":257,"context_line":"                             \u0027replication\u0027)"},{"line_number":258,"context_line":"                    return info"},{"line_number":259,"context_line":"            else:"},{"line_number":260,"context_line":"                LOG.info(\u0027Active/Passive replication has been \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_716fff5f","line":257,"updated":"2019-08-30 12:55:46.000000000","message":"debug","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9af1af91ba542cae74cb04ca5c399808e38820a4","unresolved":false,"context_lines":[{"line_number":329,"context_line":"                                 \u0027configured\u0027)"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"                    if replication_mode \u003d\u003d 1 and quorum_witness_ip:"},{"line_number":332,"context_line":"                        cl \u003d common._create_replication_client(failover_target)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"            if is_force_detach:"},{"line_number":335,"context_line":"                common.terminate_connection(volume, None, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_913ddb2d","line":332,"updated":"2019-08-30 12:55:46.000000000","message":"I\u0027d prefer a more meaningful name for the client, such as remote_client or something that reflects the need to pass this client around.  cl isn\u0027t very descriptive.","commit_id":"a4036e9d831fce2f099463ad0f33e77302be4d62"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"eaae562cf75ef7db01f321b5503de896f451e813","unresolved":false,"context_lines":[{"line_number":476,"context_line":"                                            port[\u0027portPos\u0027][\u0027cardPort\u0027])"},{"line_number":477,"context_line":"                target_ports.append(port)"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        return target_ports"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"    def _create_3par_fibrechan_host(self, common, hostname, wwns,"},{"line_number":482,"context_line":"                                    domain, persona_id, remote_client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5faad753_9270e674","line":479,"updated":"2019-09-08 04:19:36.000000000","message":"This should get cleaned up a bit.  This is a duplication of what\u0027s in common.  The common class could accept a client object in the param list to make the calls to the 3par, else use self.client.   No need to duplicate this.","commit_id":"3df022492066adeb5361e06efbbd40b2c75c6009"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"eaae562cf75ef7db01f321b5503de896f451e813","unresolved":false,"context_lines":[{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        return target_wwn"},{"line_number":650,"context_line":""},{"line_number":651,"context_line":"    def merge_dols(self, dol1, dol2):"},{"line_number":652,"context_line":"        keys \u003d set(dol1).union(dol2)"},{"line_number":653,"context_line":"        no \u003d []"},{"line_number":654,"context_line":"        return {k: (dol1.get(k, no) + dol2.get(k, no)) for k in keys}"}],"source_content_type":"text/x-python","patch_set":4,"id":"5faad753_b25962ff","line":651,"updated":"2019-09-08 04:19:36.000000000","message":"dol?","commit_id":"3df022492066adeb5361e06efbbd40b2c75c6009"}],"cinder/volume/drivers/hpe/hpe_3par_iscsi.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"eaae562cf75ef7db01f321b5503de896f451e813","unresolved":false,"context_lines":[{"line_number":237,"context_line":"                                            port[\u0027portPos\u0027][\u0027cardPort\u0027])"},{"line_number":238,"context_line":"                target_ports.append(port)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"        return target_ports"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def _initialize_connection_common(self, volume, connector, common,"},{"line_number":243,"context_line":"                                      host, iscsi_ips, ready_ports,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5faad753_f204bac8","line":240,"updated":"2019-09-08 04:19:36.000000000","message":"same here.   No need to duplicate this code here, when a small refactor in common could allow passing in the remote_client and used if not None.","commit_id":"3df022492066adeb5361e06efbbd40b2c75c6009"}]}
