@tianhao, Can you double confirm the directory is empty without any files inside?
If only having the empty directory, maybe nova code just doesn't delete the /var/lib/nova/instances/, because of either the permission issue or forgetting to delete it after code migration.
@tianhao, Can you double confirm the directory is empty without any files inside? nova/instances/ , because of either the permission issue or forgetting to delete it after code migration.
If only having the empty directory, maybe nova code just doesn't delete the /var/lib/