)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f9bf9b6ebe8c0634966fa4394c3591a7ee7e785d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"the instance is created via the Instance object and"},{"line_number":17,"context_line":"DB API. This is beneficial in two ways:"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"1. It\u0027s arguably better performance to create the tags"},{"line_number":20,"context_line":"   at the same time as the instance while we\u0027re in the"},{"line_number":21,"context_line":"   same DB API call rather than separate calls."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_166c209a","line":19,"updated":"2019-05-30 20:52:53.000000000","message":"It\u0027s arguably also different from how bdms are created, so if we did this for tags we could say we should do the same for bdms, right? And vifs, etc. Basically anything we have to create separate from the instance in here:\n\nhttps://review.opendev.org/#/c/627892/36/nova/conductor/tasks/cross_cell_migrate.py@86","commit_id":"26308fdd58aacbcafea719a33cbb3e58616b1fb2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f9bf9b6ebe8c0634966fa4394c3591a7ee7e785d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"   at the same time as the instance while we\u0027re in the"},{"line_number":21,"context_line":"   same DB API call rather than separate calls."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"2. We want the tags set in the instance object before"},{"line_number":24,"context_line":"   casting to the compute build_and_run_instance method."},{"line_number":25,"context_line":"   We want that because otherwise the instance.create"},{"line_number":26,"context_line":"   versioned notification method in compute will end"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_1653c0e3","line":23,"updated":"2019-05-30 20:52:53.000000000","message":"This happens now:\n\nhttps://github.com/openstack/nova/blob/653515a45032811b6bc2f1d0fb651472005496ec/nova/conductor/manager.py#L1483","commit_id":"26308fdd58aacbcafea719a33cbb3e58616b1fb2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f9bf9b6ebe8c0634966fa4394c3591a7ee7e785d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"   up lazy-loading the instance tags, so this is another"},{"line_number":28,"context_line":"   performance optimization."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Along the way, we can also remove the redundant"},{"line_number":31,"context_line":"TagList.destroy call in conductor because we destroy"},{"line_number":32,"context_line":"the tags when we destroy the instance down in the DB API."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bfb3d3c7_56fb78bf","line":30,"updated":"2019-05-30 20:52:53.000000000","message":"We could do this separately.","commit_id":"26308fdd58aacbcafea719a33cbb3e58616b1fb2"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f9bf9b6ebe8c0634966fa4394c3591a7ee7e785d","unresolved":false,"context_lines":[{"line_number":1068,"context_line":"                        bdm.destroy()"},{"line_number":1069,"context_line":"                    except exception.ObjectActionError:"},{"line_number":1070,"context_line":"                        pass"},{"line_number":1071,"context_line":"            if instance_tags:"},{"line_number":1072,"context_line":"                with try_target_cell(context, cell) as target_ctxt:"},{"line_number":1073,"context_line":"                    try:"},{"line_number":1074,"context_line":"                        objects.TagList.destroy(target_ctxt, instance.uuid)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb3d3c7_f63cec93","side":"PARENT","line":1071,"updated":"2019-05-30 20:52:53.000000000","message":"We could do this separately.","commit_id":"b50b5a660efd5401490e9dbda853d7363d0568e3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"387b47f551d4b6477d4ac8b21269b0ff5b215301","unresolved":false,"context_lines":[{"line_number":1589,"context_line":"            for bdm in instance_bdms:"},{"line_number":1590,"context_line":"                with obj_target_cell(bdm, cell):"},{"line_number":1591,"context_line":"                    try:"},{"line_number":1592,"context_line":"                        bdm.destroy()"},{"line_number":1593,"context_line":"                    except exception.ObjectActionError:"},{"line_number":1594,"context_line":"                        pass"},{"line_number":1595,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fb8cfa7_439da364","line":1592,"updated":"2019-06-19 19:30:40.000000000","message":"This is probably also redundant because bdms are cleaned up when the instance is destroyed:\n\nhttps://github.com/openstack/nova/blob/74aebe0d4e5a978a40011e890aee9e70e98246c4/nova/db/sqlalchemy/api.py#L1791","commit_id":"d1daedf48555fff2393db7cba7cf6f6da10adca4"}]}
