)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bfb7929b_09bffe5b","updated":"2024-11-04 10:23:49.000000000","message":"This is also missing necessary changes to:\n\n- cinder/api/contrib/volume_actions.py\n- cinder/backup/manager.py","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5bef8823_e3398a6a","in_reply_to":"bfb7929b_09bffe5b","updated":"2024-11-13 10:00:36.000000000","message":"I\u0027ve done the change in volume_actions however I\u0027m not sure about the change in manager\n\nBoth the _attach_volume[1] and _attach_snapshot methods call the volume manager\u0027s initialize_connection and initialize_connection_snapshot methods respectively which already handle appending the enforce_multipath key in connection info\n\n[1] https://github.com/openstack/cinder/blob/master/cinder/backup/manager.py#L1179-L1181\n[2] https://github.com/openstack/cinder/blob/master/cinder/backup/manager.py#L1199-L1201","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7e1f1d6d_4f4a0992","updated":"2024-11-13 10:00:36.000000000","message":"Thanks Gorka!","commit_id":"c183d82de518f878eb9eccd86e50172ad2cac604"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"dcf907d60c2024a1f8fc4372955585339c1a8537","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"744ee2ac_df30fd68","updated":"2024-12-12 22:59:55.000000000","message":"Code and tests LGTM.","commit_id":"0c3c7b7bb501373b6d125c2810fbbdf69b7ee162"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"aa55af7a507c9d674ebed2bc2e7804f991d29348","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"48f3e88f_11049397","updated":"2024-12-09 09:55:37.000000000","message":"recheck ceph job failed with VM test\n\ntempest.api.compute.servers.test_server_rescue.ServerStableDeviceRescueTest","commit_id":"0c3c7b7bb501373b6d125c2810fbbdf69b7ee162"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c3a4dc077fa2b4f7fc2a930f57c092187a01677f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"eb000be1_f3b7d829","updated":"2024-12-06 07:18:11.000000000","message":"recheck ceph job failed with VM tests that look unrelated","commit_id":"0c3c7b7bb501373b6d125c2810fbbdf69b7ee162"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5f5463091a363f58b2a03589e6341f1d42e04277","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"efabd13f_b566367f","updated":"2024-12-05 10:01:53.000000000","message":"recheck tempest-integrated-storage job failed with image test failing tempest.api.image.v2.test_images.ImportImagesTest","commit_id":"0c3c7b7bb501373b6d125c2810fbbdf69b7ee162"}],"cinder/volume/driver.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":true,"context_lines":[{"line_number":1088,"context_line":"                conn[\u0027data\u0027][\u0027encrypted\u0027] \u003d encrypted"},{"line_number":1089,"context_line":""},{"line_number":1090,"context_line":"        # Append the enforce_multipath value if the connector has it"},{"line_number":1091,"context_line":"        conn[\u0027data\u0027][\u0027enforce_multipath\u0027] \u003d properties.get(\u0027enforce_multipath\u0027)"},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"        try:"},{"line_number":1094,"context_line":"            attach_info \u003d self._connect_device(conn)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9d8441a5_60c482c2","line":1091,"updated":"2024-11-04 10:23:49.000000000","message":"-1: Please set a default or not set the value when it\u0027s not on the properties.\n\nSo either:\n\n```\n  conn[\u0027data\u0027][\u0027enforce_multipath\u0027] \u003d properties.get(\u0027enforce_multipath\u0027, False)\n```\n\nOr\n\n```\n  if properties.get(\u0027enforce_multipath\u0027) is not None:\n      conn[\u0027data\u0027][\u0027enforce_multipath\u0027] \u003d properties[\u0027enforce_multipath\u0027]\n```","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[{"line_number":1088,"context_line":"                conn[\u0027data\u0027][\u0027encrypted\u0027] \u003d encrypted"},{"line_number":1089,"context_line":""},{"line_number":1090,"context_line":"        # Append the enforce_multipath value if the connector has it"},{"line_number":1091,"context_line":"        conn[\u0027data\u0027][\u0027enforce_multipath\u0027] \u003d properties.get(\u0027enforce_multipath\u0027)"},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"        try:"},{"line_number":1094,"context_line":"            attach_info \u003d self._connect_device(conn)"}],"source_content_type":"text/x-python","patch_set":1,"id":"40784456_6c790e5c","line":1091,"in_reply_to":"9d8441a5_60c482c2","updated":"2024-11-13 10:00:36.000000000","message":"Done","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"}],"cinder/volume/manager.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":true,"context_lines":[{"line_number":1979,"context_line":""},{"line_number":1980,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":1981,"context_line":""},{"line_number":1982,"context_line":"        conn_info \u003d self._parse_connection_options(context, volume, conn_info)"},{"line_number":1983,"context_line":"        LOG.info(\"Initialize volume connection completed successfully.\","},{"line_number":1984,"context_line":"                 resource\u003dvolume)"},{"line_number":1985,"context_line":"        return conn_info"}],"source_content_type":"text/x-python","patch_set":1,"id":"be63e173_ae4c72d8","line":1982,"updated":"2024-11-04 10:23:49.000000000","message":"-1: I believe we should be adding the information here as well","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[{"line_number":1979,"context_line":""},{"line_number":1980,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":1981,"context_line":""},{"line_number":1982,"context_line":"        conn_info \u003d self._parse_connection_options(context, volume, conn_info)"},{"line_number":1983,"context_line":"        LOG.info(\"Initialize volume connection completed successfully.\","},{"line_number":1984,"context_line":"                 resource\u003dvolume)"},{"line_number":1985,"context_line":"        return conn_info"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a895172_04ac1b18","line":1982,"in_reply_to":"be63e173_ae4c72d8","updated":"2024-11-13 10:00:36.000000000","message":"Done","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":true,"context_lines":[{"line_number":2041,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dex_msg)"},{"line_number":2042,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        LOG.info(\"Initialize snapshot connection completed successfully.\","},{"line_number":2045,"context_line":"                 resource\u003dsnapshot)"},{"line_number":2046,"context_line":"        return conn"},{"line_number":2047,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6478309d_5f697d73","line":2044,"updated":"2024-11-04 10:23:49.000000000","message":"?: There\u0027s a high change here as well...","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[{"line_number":2041,"context_line":"                raise exception.VolumeBackendAPIException(data\u003dex_msg)"},{"line_number":2042,"context_line":"            raise exception.VolumeBackendAPIException(data\u003derr_msg)"},{"line_number":2043,"context_line":""},{"line_number":2044,"context_line":"        LOG.info(\"Initialize snapshot connection completed successfully.\","},{"line_number":2045,"context_line":"                 resource\u003dsnapshot)"},{"line_number":2046,"context_line":"        return conn"},{"line_number":2047,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1b4d2595_9d871a16","line":2044,"in_reply_to":"6478309d_5f697d73","updated":"2024-11-13 10:00:36.000000000","message":"Done","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":true,"context_lines":[{"line_number":2153,"context_line":"    def _connect_device(self, conn: dict) -\u003e dict:"},{"line_number":2154,"context_line":"        use_multipath \u003d self.configuration.use_multipath_for_image_xfer"},{"line_number":2155,"context_line":"        device_scan_attempts \u003d self.configuration.num_volume_device_scan_tries"},{"line_number":2156,"context_line":"        protocol \u003d conn[\u0027driver_volume_type\u0027]"},{"line_number":2157,"context_line":"        connector \u003d volume_utils.brick_get_connector("},{"line_number":2158,"context_line":"            protocol,"},{"line_number":2159,"context_line":"            use_multipath\u003duse_multipath,"}],"source_content_type":"text/x-python","patch_set":1,"id":"860161ce_4bd8c88e","line":2156,"updated":"2024-11-04 10:23:49.000000000","message":"Interesting that we are not using the `enforce_multipath_for_image_xfer` here (and I think in other places).","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"ad725b80ed036f3c1b7e7d832e3b92f509191a96","unresolved":true,"context_lines":[{"line_number":2153,"context_line":"    def _connect_device(self, conn: dict) -\u003e dict:"},{"line_number":2154,"context_line":"        use_multipath \u003d self.configuration.use_multipath_for_image_xfer"},{"line_number":2155,"context_line":"        device_scan_attempts \u003d self.configuration.num_volume_device_scan_tries"},{"line_number":2156,"context_line":"        protocol \u003d conn[\u0027driver_volume_type\u0027]"},{"line_number":2157,"context_line":"        connector \u003d volume_utils.brick_get_connector("},{"line_number":2158,"context_line":"            protocol,"},{"line_number":2159,"context_line":"            use_multipath\u003duse_multipath,"}],"source_content_type":"text/x-python","patch_set":1,"id":"2c51eac8_72e5b882","line":2156,"in_reply_to":"3a829db6_2f73a2f5","updated":"2024-12-09 11:16:50.000000000","message":"It\u0027s most likely a bug, although it\u0027s not related to this patch.","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":true,"context_lines":[{"line_number":2153,"context_line":"    def _connect_device(self, conn: dict) -\u003e dict:"},{"line_number":2154,"context_line":"        use_multipath \u003d self.configuration.use_multipath_for_image_xfer"},{"line_number":2155,"context_line":"        device_scan_attempts \u003d self.configuration.num_volume_device_scan_tries"},{"line_number":2156,"context_line":"        protocol \u003d conn[\u0027driver_volume_type\u0027]"},{"line_number":2157,"context_line":"        connector \u003d volume_utils.brick_get_connector("},{"line_number":2158,"context_line":"            protocol,"},{"line_number":2159,"context_line":"            use_multipath\u003duse_multipath,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a829db6_2f73a2f5","line":2156,"in_reply_to":"860161ce_4bd8c88e","updated":"2024-11-13 10:00:36.000000000","message":"As i can see, this is called in two cases:\n1. generic volume migration\n2. revert to snapshot generic\n\nI\u0027m not sure if it was intentional or we just missed including the enforce option here.","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"43f23212ffbd048b578f6931c8756199c5056002","unresolved":true,"context_lines":[{"line_number":4852,"context_line":""},{"line_number":4853,"context_line":"        connection_info[\u0027attachment_id\u0027] \u003d attachment.id"},{"line_number":4854,"context_line":"        # Append the enforce_multipath value if the connector has it"},{"line_number":4855,"context_line":"        connection_info[\u0027enforce_multipath\u0027] \u003d connector.get("},{"line_number":4856,"context_line":"            \u0027enforce_multipath\u0027)"},{"line_number":4857,"context_line":"        LOG.debug(\"Connection info returned from driver %(connection_info)s\","},{"line_number":4858,"context_line":"                  {\u0027connection_info\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"52d8c047_6ddfc9dc","line":4855,"updated":"2024-11-04 10:23:49.000000000","message":"-1: Same as in the other file, please don\u0027t let it be possible to return it set to `None`","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2b21e670f01b35fb054156d708f4351d6e74ff9b","unresolved":false,"context_lines":[{"line_number":4852,"context_line":""},{"line_number":4853,"context_line":"        connection_info[\u0027attachment_id\u0027] \u003d attachment.id"},{"line_number":4854,"context_line":"        # Append the enforce_multipath value if the connector has it"},{"line_number":4855,"context_line":"        connection_info[\u0027enforce_multipath\u0027] \u003d connector.get("},{"line_number":4856,"context_line":"            \u0027enforce_multipath\u0027)"},{"line_number":4857,"context_line":"        LOG.debug(\"Connection info returned from driver %(connection_info)s\","},{"line_number":4858,"context_line":"                  {\u0027connection_info\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bab43ee9_f7ae35d9","line":4855,"in_reply_to":"52d8c047_6ddfc9dc","updated":"2024-11-13 10:00:36.000000000","message":"Done","commit_id":"5f6db908f9fe9a2e65d2db17e4d4f88014cdf412"}]}
