As soon as stack-delete is called on a convergence stack, subsequent calls to resource list return nothing. This is known to occur for a stack which is CREATE_IN_PROGRESS.
$ heat resource-list overcloud
# returns lots of results
$ heat stack-delete overcloud
+--------------------------------------+------------+--------------------+---------------------+---------------------+
| id | stack_name | stack_status | creation_time | updated_time |
+--------------------------------------+------------+--------------------+---------------------+---------------------+
| 9d6d1e79-71c3-4f81-8946-5b6894149c96 | overcloud | DELETE_IN_PROGRESS | 2015-12-08T02:46:13 | 2015-12-08T02:58:57 |
+--------------------------------------+------------+--------------------+---------------------+---------------------+
$ heat resource-list overcloud
+---------------+----------------------+---------------+-----------------+--------------+
| resource_name | physical_resource_id | resource_type | resource_status | updated_time |
+---------------+----------------------+---------------+-----------------+--------------+
+---------------+----------------------+---------------+-----------------+--------------+
Since the DELETE operation is an update with an empty template, the existing method of retrieving the resources by depending on the current template and iterating over the resource definitions won't work anymore. It looks like we'd have to query the database for existing resources to manually load instances of the Resource class to be passed back to the API.