)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d519b5bb0f22fe058127d2a0f90b0337f781dce6","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When connecting volumes to the underlying host the virt drivers can"},{"line_number":10,"context_line":"attempt to stash additional metadata returned from os-brick into the"},{"line_number":11,"context_line":"connection_info associated with a bdm. This pretty janky behaviour"},{"line_number":12,"context_line":"relies on someone later calling .save() against the underlying"},{"line_number":13,"context_line":"BlockDeviceMapping object to persist these changes into the database as"},{"line_number":14,"context_line":"happens in the driver block device layer during a standard volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9fe3d110_3b423ace","line":11,"range":{"start_line":11,"start_character":51,"end_line":11,"end_character":56},"updated":"2021-08-20 00:19:19.000000000","message":"I love this 😆","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"}],"nova/compute/manager.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6e6f89b31a762453da2f043a5636fdc66d45fa11","unresolved":true,"context_lines":[{"line_number":8212,"context_line":"            # Ensure this is saved to the database by calling .save() against"},{"line_number":8213,"context_line":"            # the driver BDMs we passed down via block_device_info."},{"line_number":8214,"context_line":"            for driver_bdm in block_device_info[\u0027block_device_mapping\u0027]:"},{"line_number":8215,"context_line":"                driver_bdm.save()"},{"line_number":8216,"context_line":""},{"line_number":8217,"context_line":"        except Exception:"},{"line_number":8218,"context_line":"            # If we raise, migrate_data with the updated attachment ids"}],"source_content_type":"text/x-python","patch_set":1,"id":"eeb6c137_b6680c18","line":8215,"updated":"2021-08-11 12:56:51.000000000","message":"Does this get rolled back if the migration later fails? Seems like it should based on a cursory reading of the code, but maybe a rollback func test to assert that it does would help?","commit_id":"dd63600d45711887a74a53fd14a351139c0185fd"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"05c2b3ec1eae77dc624f2a7e6a0d01b0e63bd913","unresolved":true,"context_lines":[{"line_number":8212,"context_line":"            # Ensure this is saved to the database by calling .save() against"},{"line_number":8213,"context_line":"            # the driver BDMs we passed down via block_device_info."},{"line_number":8214,"context_line":"            for driver_bdm in block_device_info[\u0027block_device_mapping\u0027]:"},{"line_number":8215,"context_line":"                driver_bdm.save()"},{"line_number":8216,"context_line":""},{"line_number":8217,"context_line":"        except Exception:"},{"line_number":8218,"context_line":"            # If we raise, migrate_data with the updated attachment ids"}],"source_content_type":"text/x-python","patch_set":1,"id":"b6eeee11_904de047","line":8215,"in_reply_to":"eeb6c137_b6680c18","updated":"2021-08-11 13:26:30.000000000","message":"Yeah it\u0027s overwritten with the original connection_info from the source.\n\nhttps://github.com/openstack/nova/blob/84b61790763f91e12eebb96d955e2f83abc00d56/nova/compute/manager.py#L8978-L9010\n\nI thought I had written a functional test in the past to assert that but I can\u0027t seem to find it. Either way I can follow up with something as it isn\u0027t directly applicable to this fix.","commit_id":"dd63600d45711887a74a53fd14a351139c0185fd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"169077c5a29b63c6954f83fbb55694574c9a75d5","unresolved":true,"context_lines":[{"line_number":8212,"context_line":"            # Ensure this is saved to the database by calling .save() against"},{"line_number":8213,"context_line":"            # the driver BDMs we passed down via block_device_info."},{"line_number":8214,"context_line":"            for driver_bdm in block_device_info[\u0027block_device_mapping\u0027]:"},{"line_number":8215,"context_line":"                driver_bdm.save()"},{"line_number":8216,"context_line":""},{"line_number":8217,"context_line":"        except Exception:"},{"line_number":8218,"context_line":"            # If we raise, migrate_data with the updated attachment ids"}],"source_content_type":"text/x-python","patch_set":3,"id":"6033dedb_49ad43e5","line":8215,"updated":"2021-08-18 09:18:59.000000000","message":"If the migration later rolled back to the source host (e.g. aborted, cancelled) then do we clean up the now stale metadata?","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4a777e2d33aed3ef6b2ba7636f0186f2882be3b2","unresolved":false,"context_lines":[{"line_number":8212,"context_line":"            # Ensure this is saved to the database by calling .save() against"},{"line_number":8213,"context_line":"            # the driver BDMs we passed down via block_device_info."},{"line_number":8214,"context_line":"            for driver_bdm in block_device_info[\u0027block_device_mapping\u0027]:"},{"line_number":8215,"context_line":"                driver_bdm.save()"},{"line_number":8216,"context_line":""},{"line_number":8217,"context_line":"        except Exception:"},{"line_number":8218,"context_line":"            # If we raise, migrate_data with the updated attachment ids"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f40595f_da7196d6","line":8215,"in_reply_to":"16a5cfe7_8a8406ba","updated":"2021-08-18 09:26:44.000000000","message":"superb","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"9699ae7b82862d828ce2e6193ad50f6b626107c8","unresolved":false,"context_lines":[{"line_number":8212,"context_line":"            # Ensure this is saved to the database by calling .save() against"},{"line_number":8213,"context_line":"            # the driver BDMs we passed down via block_device_info."},{"line_number":8214,"context_line":"            for driver_bdm in block_device_info[\u0027block_device_mapping\u0027]:"},{"line_number":8215,"context_line":"                driver_bdm.save()"},{"line_number":8216,"context_line":""},{"line_number":8217,"context_line":"        except Exception:"},{"line_number":8218,"context_line":"            # If we raise, migrate_data with the updated attachment ids"}],"source_content_type":"text/x-python","patch_set":3,"id":"16a5cfe7_8a8406ba","line":8215,"in_reply_to":"6033dedb_49ad43e5","updated":"2021-08-18 09:22:59.000000000","message":"Yeah Artom asked this earlier in the review and it prompted me to ensure this was covered in our func tests below:\n\nhttps://review.opendev.org/c/openstack/nova/+/804299/","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"169077c5a29b63c6954f83fbb55694574c9a75d5","unresolved":false,"context_lines":[{"line_number":9190,"context_line":"                  mock_bdm_save, mock_attach_complete, mock_notify_about_inst):"},{"line_number":9191,"context_line":""},{"line_number":9192,"context_line":"            mock_driver_bdm \u003d mock.Mock(spec\u003ddriver_bdm_volume)"},{"line_number":9193,"context_line":"            mock_gibdi.return_value \u003d {"},{"line_number":9194,"context_line":"                \u0027block_device_mapping\u0027: [mock_driver_bdm]}"},{"line_number":9195,"context_line":""},{"line_number":9196,"context_line":"            mock_get_bdms.return_value \u003d [vol_bdm, image_bdm]"}],"source_content_type":"text/x-python","patch_set":3,"id":"c73c752d_38ef9e99","line":9193,"range":{"start_line":9193,"start_character":12,"end_line":9193,"end_character":22},"updated":"2021-08-18 09:18:59.000000000","message":"this naming feels personal :)","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d519b5bb0f22fe058127d2a0f90b0337f781dce6","unresolved":false,"context_lines":[{"line_number":9190,"context_line":"                  mock_bdm_save, mock_attach_complete, mock_notify_about_inst):"},{"line_number":9191,"context_line":""},{"line_number":9192,"context_line":"            mock_driver_bdm \u003d mock.Mock(spec\u003ddriver_bdm_volume)"},{"line_number":9193,"context_line":"            mock_gibdi.return_value \u003d {"},{"line_number":9194,"context_line":"                \u0027block_device_mapping\u0027: [mock_driver_bdm]}"},{"line_number":9195,"context_line":""},{"line_number":9196,"context_line":"            mock_get_bdms.return_value \u003d [vol_bdm, image_bdm]"}],"source_content_type":"text/x-python","patch_set":3,"id":"6739188a_54fd0df1","line":9193,"range":{"start_line":9193,"start_character":12,"end_line":9193,"end_character":22},"in_reply_to":"c73c752d_38ef9e99","updated":"2021-08-20 00:19:19.000000000","message":"😂","commit_id":"962eda94d52321c3237da870c3d0455c6f0e851b"}]}
