Delete orphan compute nodes before updating resources
Delete orphan compute nodes before updating resources

We were previously deleting orphan nodes before running the code path
that hits update_[from_]provider_tree.  This meant that, if there were
nodes that needed to be cleaned up, they would still show up in the
provider tree and we would be trying to update their ancillary info
(aggregates, traits, etc.).

With this change set, we delete these providers before running the
update path, so they should be gone from the provider tree and we won't
try to muck with them.

Existing unit test coverage in
nova.tests.unit.compute.test_compute[_mgr] already validates these code
paths; and we validated that the reorder fixes ironic via [1], PS13-15.

[1] https://review.openstack.org/#/c/514312/

Change-Id: I7e0658e681ead30c241ad39baa0fd4334e5a86a1

klmitch/nova,rahulunair/nova,gooddata/openstack-nova,mikalstill/nova,openstack/nova,rahulunair/nova,mahak/nova,gooddata/openstack-nova,klmitch/nova,openstack/nova,mahak/nova,mikalstill/nova,klmitch/nova,mahak/nova,rahulunair/nova,gooddata/openstack-nova,openstack/nova,klmitch/nova,mikalstill/nova,gooddata/openstack-nova