The problem seems to be that soft-deleted instance's "DELETED" field is set to "True" whereas "nova list --status SOFT_DELETED" queries with search_opts's 'deleted' filter set to "False".
The problem seems to be that soft-deleted instance's "DELETED" field is set to "True" whereas "nova list --status SOFT_DELETED" queries with search_opts's 'deleted' filter set to "False".