Ignore spurious nested stack locks in convergence
Ignore spurious nested stack locks in convergence

Several operations (e.g. stack check) are yet to be converted to
convergence-style workflows, and still create locks. While we try to always
remove dead locks, it's possible that if one of these gets left behind we
won't notice, since convergence doesn't actually use stack locks for most
regular operations.

When doing _check_status_complete() on a nested stack resource, we wait for
the operation to release the nested stack's lock before reporting the
resource completed, to ensure that for legacy operations the nested stack
is ready to perform another action on as soon as the resource is complete.
For convergence stacks this is an unnecessary DB call, and it can lead to
resources never completing if a stray lock happens to be left in the
database.

Only check the nested stack's stack lock for operations where we are not
taking a resource lock. This corresponds exactly to legacy-style
operations.

Change-Id: I4eb20ad82cc3e9434da34500fafa3880567d0959
Story: #1727142
Task: 24939

openstack/heat,noironetworks/heat,openstack/heat,noironetworks/heat