)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"3169a6463d30503d1f51ada5021022c354fb764b","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Saikumar Pulluri \u003csaikumar1016@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-08-06 11:37:05 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added support to Active/Active mode in ISCSI/FC drivers [NetApp ONTAP]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enables Active/Active support in NetApp ISCSI/FC drivers."},{"line_number":10,"context_line":"To support replication in A/A mode, the method failover_host was"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"97c13b6a_157af4f1","line":7,"updated":"2024-08-07 09:27:58.000000000","message":"nit: In case another patchset is submitted, the first line can be reduced to 50 chars as per guidelines [1]\nEg. NetApp ONTAP - Added Active/Active support\n[1] https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"20f834c7ccda3379ab9f4cca1b8e7b301139b853","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Saikumar Pulluri \u003csaikumar1016@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-08-06 11:37:05 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added support to Active/Active mode in ISCSI/FC drivers [NetApp ONTAP]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enables Active/Active support in NetApp ISCSI/FC drivers."},{"line_number":10,"context_line":"To support replication in A/A mode, the method failover_host was"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4dc43192_155f9184","line":7,"in_reply_to":"36d4e61d_c8c4f2f0","updated":"2024-08-20 12:54:13.000000000","message":"Thank you for this comment Raghavendra and Gorka. Sure, will update first line accordingly in case another patchset is submitted.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9504c6930d2e4726eb0779957015fad937de23bc","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Saikumar Pulluri \u003csaikumar1016@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-08-06 11:37:05 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Added support to Active/Active mode in ISCSI/FC drivers [NetApp ONTAP]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enables Active/Active support in NetApp ISCSI/FC drivers."},{"line_number":10,"context_line":"To support replication in A/A mode, the method failover_host was"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"36d4e61d_c8c4f2f0","line":7,"in_reply_to":"97c13b6a_157af4f1","updated":"2024-08-14 15:10:14.000000000","message":"+1 to reducing the length","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"7495c298d23aa93e062e366945d8188c9d317645","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0f4badc6_695951c9","updated":"2024-08-27 06:37:23.000000000","message":"My comments have been replied/addressed. So +1.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"99d310a619bfd2d19ea85860d4751e61d8e76e90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0ec0e224_2ff9ccb2","updated":"2024-08-16 05:03:16.000000000","message":"Thanks Gorka for sharing details.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"2a5ad5de22e3132ef3aaa8852117b945b62ed9f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c965bc51_4588cc31","updated":"2024-08-28 18:48:03.000000000","message":"This looks good now.  The NetApp CI is failing due to some deployment issues, Sai has indicated that their tests are passing locally and the CI system should be reporting accurate results soon.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"3169a6463d30503d1f51ada5021022c354fb764b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2b2462c2_24ba6361","updated":"2024-08-07 09:27:58.000000000","message":"Zuul has passed. NetApp-CI has not yet passed.\nCouple of minor comments inline.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36178,"name":"Saravanan Manickam","display_name":"msaravan","email":"manicsaran@gmail.com","username":"msaravan"},"change_message_id":"fd7f1c9382c61290e72f5e4154bf28dda9b92f25","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0c353fc1_a7b0b9f7","updated":"2024-08-23 06:49:38.000000000","message":"run-NetApp CI","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"26eff0829a02517e32e3a20c87fdb3c84b3f0965","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"eb8f491c_df082c39","in_reply_to":"c965bc51_4588cc31","updated":"2024-08-30 06:42:47.000000000","message":"Thank you so much Jon!!","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"}],"cinder/volume/drivers/netapp/dataontap/block_cmode.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9504c6930d2e4726eb0779957015fad937de23bc","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        self._mark_qos_policy_group_for_deletion(qos_policy_group_info)"},{"line_number":456,"context_line":"        super(NetAppBlockStorageCmodeLibrary, self).unmanage(volume)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def failover_host(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Failover a backend to a secondary replication target."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"           This function combines failover() and failover_completed()"},{"line_number":462,"context_line":"           to perform failover when Active/Active is not enabled."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":"        active_backend_name, volume_updates, group_updates \u003d ("},{"line_number":465,"context_line":"            self._failover(context, volumes, secondary_id, groups))"},{"line_number":466,"context_line":"        self._failover_completed(context, active_backend_name)"},{"line_number":467,"context_line":"        return active_backend_name, volume_updates, group_updates"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def failover(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":470,"context_line":"        \"\"\"Failover to replication target.\"\"\""},{"line_number":471,"context_line":"        return self._failover(context, volumes, secondary_id, groups)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    def failover_completed(self, context, secondary_id\u003dNone):"},{"line_number":474,"context_line":"        \"\"\"Update volume node when `failover` is completed.\"\"\""},{"line_number":475,"context_line":"        return self._failover_completed(context, secondary_id)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _get_backing_flexvol_names(self):"},{"line_number":478,"context_line":"        \"\"\"Returns a list of backing flexvol names.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"e6eaadd4_99300cf3","line":475,"range":{"start_line":458,"start_character":1,"end_line":475,"end_character":62},"updated":"2024-08-14 15:10:14.000000000","message":"-1: Code looks wrong to me... Because the `_failover_completed` method is already being called within the `_failover` method...\n\nThe difference between these 2 methods is:\n- `failover` is called on **ONE** of the clustered cinder volume services to do the actual failover.\n- `failover_completed` is called on **ALL** the hosts to notify them that another of the cinder volume services has completed a failover, so now the primary storage has changed. This way they can change their running configuration accordingly.\n\nI think additional code changes are needed to implement this correctly.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"26eff0829a02517e32e3a20c87fdb3c84b3f0965","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        self._mark_qos_policy_group_for_deletion(qos_policy_group_info)"},{"line_number":456,"context_line":"        super(NetAppBlockStorageCmodeLibrary, self).unmanage(volume)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def failover_host(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Failover a backend to a secondary replication target."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"           This function combines failover() and failover_completed()"},{"line_number":462,"context_line":"           to perform failover when Active/Active is not enabled."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":"        active_backend_name, volume_updates, group_updates \u003d ("},{"line_number":465,"context_line":"            self._failover(context, volumes, secondary_id, groups))"},{"line_number":466,"context_line":"        self._failover_completed(context, active_backend_name)"},{"line_number":467,"context_line":"        return active_backend_name, volume_updates, group_updates"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def failover(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":470,"context_line":"        \"\"\"Failover to replication target.\"\"\""},{"line_number":471,"context_line":"        return self._failover(context, volumes, secondary_id, groups)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    def failover_completed(self, context, secondary_id\u003dNone):"},{"line_number":474,"context_line":"        \"\"\"Update volume node when `failover` is completed.\"\"\""},{"line_number":475,"context_line":"        return self._failover_completed(context, secondary_id)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _get_backing_flexvol_names(self):"},{"line_number":478,"context_line":"        \"\"\"Returns a list of backing flexvol names.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"698aa3fa_952458fc","line":475,"range":{"start_line":458,"start_character":1,"end_line":475,"end_character":62},"in_reply_to":"2e3ea177_5b805786","updated":"2024-08-30 06:42:47.000000000","message":"Thank you so much Gorka!!","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"cc93a7c3cde373f7ba98a16850999b4a6ed593f1","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        self._mark_qos_policy_group_for_deletion(qos_policy_group_info)"},{"line_number":456,"context_line":"        super(NetAppBlockStorageCmodeLibrary, self).unmanage(volume)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def failover_host(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Failover a backend to a secondary replication target."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"           This function combines failover() and failover_completed()"},{"line_number":462,"context_line":"           to perform failover when Active/Active is not enabled."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":"        active_backend_name, volume_updates, group_updates \u003d ("},{"line_number":465,"context_line":"            self._failover(context, volumes, secondary_id, groups))"},{"line_number":466,"context_line":"        self._failover_completed(context, active_backend_name)"},{"line_number":467,"context_line":"        return active_backend_name, volume_updates, group_updates"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def failover(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":470,"context_line":"        \"\"\"Failover to replication target.\"\"\""},{"line_number":471,"context_line":"        return self._failover(context, volumes, secondary_id, groups)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    def failover_completed(self, context, secondary_id\u003dNone):"},{"line_number":474,"context_line":"        \"\"\"Update volume node when `failover` is completed.\"\"\""},{"line_number":475,"context_line":"        return self._failover_completed(context, secondary_id)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _get_backing_flexvol_names(self):"},{"line_number":478,"context_line":"        \"\"\"Returns a list of backing flexvol names.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"2e3ea177_5b805786","line":475,"range":{"start_line":458,"start_character":1,"end_line":475,"end_character":62},"in_reply_to":"d7ada601_23890da5","updated":"2024-08-28 14:51:16.000000000","message":"OK, it looks like my confusion was between the `_completed_failover` and `_failover_completed,` and because `_completed_failover` seemed like it was doing things that it shouldn\u0027t do at that stage.\n\nUpon closer inspection of the method it is doing exactly what it should be doing.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0fadcb41053a3d32ebb1c32ab6864ba363845905","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        self._mark_qos_policy_group_for_deletion(qos_policy_group_info)"},{"line_number":456,"context_line":"        super(NetAppBlockStorageCmodeLibrary, self).unmanage(volume)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def failover_host(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Failover a backend to a secondary replication target."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"           This function combines failover() and failover_completed()"},{"line_number":462,"context_line":"           to perform failover when Active/Active is not enabled."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":"        active_backend_name, volume_updates, group_updates \u003d ("},{"line_number":465,"context_line":"            self._failover(context, volumes, secondary_id, groups))"},{"line_number":466,"context_line":"        self._failover_completed(context, active_backend_name)"},{"line_number":467,"context_line":"        return active_backend_name, volume_updates, group_updates"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def failover(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":470,"context_line":"        \"\"\"Failover to replication target.\"\"\""},{"line_number":471,"context_line":"        return self._failover(context, volumes, secondary_id, groups)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    def failover_completed(self, context, secondary_id\u003dNone):"},{"line_number":474,"context_line":"        \"\"\"Update volume node when `failover` is completed.\"\"\""},{"line_number":475,"context_line":"        return self._failover_completed(context, secondary_id)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _get_backing_flexvol_names(self):"},{"line_number":478,"context_line":"        \"\"\"Returns a list of backing flexvol names.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"d7ada601_23890da5","line":475,"range":{"start_line":458,"start_character":1,"end_line":475,"end_character":62},"in_reply_to":"e1292617_5540a6b8","updated":"2024-08-20 12:21:02.000000000","message":"@geguileo@redhat.com Could you please review above and provide your feedback whenever you find sometime! Thanks a lot.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"7e74a661be7af103fa89a5efc028a698bade33c2","unresolved":true,"context_lines":[{"line_number":455,"context_line":"        self._mark_qos_policy_group_for_deletion(qos_policy_group_info)"},{"line_number":456,"context_line":"        super(NetAppBlockStorageCmodeLibrary, self).unmanage(volume)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def failover_host(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":459,"context_line":"        \"\"\"Failover a backend to a secondary replication target."},{"line_number":460,"context_line":""},{"line_number":461,"context_line":"           This function combines failover() and failover_completed()"},{"line_number":462,"context_line":"           to perform failover when Active/Active is not enabled."},{"line_number":463,"context_line":"        \"\"\""},{"line_number":464,"context_line":"        active_backend_name, volume_updates, group_updates \u003d ("},{"line_number":465,"context_line":"            self._failover(context, volumes, secondary_id, groups))"},{"line_number":466,"context_line":"        self._failover_completed(context, active_backend_name)"},{"line_number":467,"context_line":"        return active_backend_name, volume_updates, group_updates"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    def failover(self, context, volumes, secondary_id\u003dNone, groups\u003dNone):"},{"line_number":470,"context_line":"        \"\"\"Failover to replication target.\"\"\""},{"line_number":471,"context_line":"        return self._failover(context, volumes, secondary_id, groups)"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"    def failover_completed(self, context, secondary_id\u003dNone):"},{"line_number":474,"context_line":"        \"\"\"Update volume node when `failover` is completed.\"\"\""},{"line_number":475,"context_line":"        return self._failover_completed(context, secondary_id)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def _get_backing_flexvol_names(self):"},{"line_number":478,"context_line":"        \"\"\"Returns a list of backing flexvol names.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"e1292617_5540a6b8","line":475,"range":{"start_line":458,"start_character":1,"end_line":475,"end_character":62},"in_reply_to":"e6eaadd4_99300cf3","updated":"2024-08-19 12:16:06.000000000","message":"Thank you so much for your comments Gorka.\n\nI need some clarification here, as we are not calling _failover_completed method within the _failover method.\n \nRelated to that, the methods _failover and _failover_completed were already implemented during NetApp NFA A/A patch and they are \nin dataontap utils(cinder\\volume\\drivers\\netapp\\dataontap\\utils\\data_motion.py) and the same are called here in this patch.\nNetApp NFS A/A patch reference: https://review.opendev.org/c/openstack/cinder/+/886869\n\nEarlier, we referred to pure/dell patches and implemented accordingly matching NetApp technologies.\nPure storage patch reference: https://review.opendev.org/c/openstack/cinder/+/829473\nDell patch reference: https://review.opendev.org/c/openstack/cinder/+/881549\n\nPS: I have also tested the changes locally and the failover is successful.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"}],"doc/source/reference/support-matrix.ini":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"3169a6463d30503d1f51ada5021022c354fb764b","unresolved":true,"context_lines":[{"line_number":156,"context_line":"[driver.nec_v]"},{"line_number":157,"context_line":"title\u003dNEC Storage V Series Driver (iSCSI, FC)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"[driver.netapp_ontap_nvme_tcp]"},{"line_number":160,"context_line":"title\u003dNetApp Data ONTAP Driver (NVMe/TCP)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"[driver.netapp_ontap_iscsi_fc]"},{"line_number":163,"context_line":"title\u003dNetApp Data ONTAP Driver (iSCSI,FC)"}],"source_content_type":"text/x-properties","patch_set":2,"id":"47b8ce64_14fb9754","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":41},"updated":"2024-08-07 09:27:58.000000000","message":"This patch is about adding A/A support to driver.\nThus, only the relevant entry in support matrix can be updated.\n\nTo update support matrix for NVMe TCP, a separate patch can be submitted.\n\nPS: This is just a suggestion from my side.\nThe core reviewers can decide on this.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9504c6930d2e4726eb0779957015fad937de23bc","unresolved":true,"context_lines":[{"line_number":156,"context_line":"[driver.nec_v]"},{"line_number":157,"context_line":"title\u003dNEC Storage V Series Driver (iSCSI, FC)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"[driver.netapp_ontap_nvme_tcp]"},{"line_number":160,"context_line":"title\u003dNetApp Data ONTAP Driver (NVMe/TCP)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"[driver.netapp_ontap_iscsi_fc]"},{"line_number":163,"context_line":"title\u003dNetApp Data ONTAP Driver (iSCSI,FC)"}],"source_content_type":"text/x-properties","patch_set":2,"id":"fe4896d4_cb910606","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":41},"in_reply_to":"47b8ce64_14fb9754","updated":"2024-08-14 15:10:14.000000000","message":"I would normally agree, but I think in this case this is the way to go because now they have different feature support in NVMe/TCP and iSCSI,FC, so they cannot have everything under the same driver like they did before.\n\nI assume that when they add A/A to NVMe/TCP in the future they will merge them back together.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"a53e830119ab73fb21605cf1ff82ee1477406afa","unresolved":false,"context_lines":[{"line_number":156,"context_line":"[driver.nec_v]"},{"line_number":157,"context_line":"title\u003dNEC Storage V Series Driver (iSCSI, FC)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"[driver.netapp_ontap_nvme_tcp]"},{"line_number":160,"context_line":"title\u003dNetApp Data ONTAP Driver (NVMe/TCP)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"[driver.netapp_ontap_iscsi_fc]"},{"line_number":163,"context_line":"title\u003dNetApp Data ONTAP Driver (iSCSI,FC)"}],"source_content_type":"text/x-properties","patch_set":2,"id":"dbf4b56c_f4276858","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":41},"in_reply_to":"90971116_10a1f06d","updated":"2024-08-19 05:14:22.000000000","message":"Yes, once we add A/A to NVMe/TCP, we will merge them back.\nThank you Gorka for explaining this !!","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"99d310a619bfd2d19ea85860d4751e61d8e76e90","unresolved":false,"context_lines":[{"line_number":156,"context_line":"[driver.nec_v]"},{"line_number":157,"context_line":"title\u003dNEC Storage V Series Driver (iSCSI, FC)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"[driver.netapp_ontap_nvme_tcp]"},{"line_number":160,"context_line":"title\u003dNetApp Data ONTAP Driver (NVMe/TCP)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"[driver.netapp_ontap_iscsi_fc]"},{"line_number":163,"context_line":"title\u003dNetApp Data ONTAP Driver (iSCSI,FC)"}],"source_content_type":"text/x-properties","patch_set":2,"id":"90971116_10a1f06d","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":41},"in_reply_to":"fe4896d4_cb910606","updated":"2024-08-16 05:03:16.000000000","message":"Ok, fine.","commit_id":"053b2fe63cdbddaccb8002b91d11065e9ce22af4"}]}
