The discussion in [2] indicated that [1] would lead to orphaned
items during error cases. This refactoring replaces the
optimistic approach followed by [1] with a separate delete code
path that does not execute the operations that take place within
the namespace that will be removed. Operations that take place
outside of those namespaces are still performed to ensure that
no orphaned items result.
A comment has been added to the functional test to explain what
case is being tested.
[1] https://review.openstack.org/#/c/240971
[2] conversation starting at http://goo.gl/bZgvqW
Change-Id: I663f1264fb3963789b79a4a7c3e46d232b2f0620 Signed-off-by: Ryan Moats <rmoats@us.ibm.com>