Description of problem: When the compensation is passed to a child command from a parent command, on failure of the child command the data registered on the compensation context will be cleared although it wasn't actually reverted. Detailed description: 1.When the compensation context is created for the parent command, it's created with the parent command id (so entities registered to it are registered with the parent id). 2. Compensation data is registered and saved to the db using the parent command id. 3. The child command fails. 2. We attempt to revert on the failure of the child command, the data to revert is queried from the db using the child command id, as the entities were registered with the parent id no results returns and no data is reverted. 3. All the compensation data is cleared, so the entities registered with the parent id are cleared as well. 4. Compensation context rollback is running for the parent command, as the compensation data was deleted from the db there's nothing to revert. How reproducible: Always Steps to Reproduce: 1. Create new data center, it'll be added in uninitialized status. 2. Add cluster/host and activate the host 3. Make sure that CreateStoragePoolVDS command will fail (can be done by simulating a failure) Actual results: The compensation data isn't reverted. Expected results: The compnsation data should be reverted. +++ This bug was initially created as a clone of Bug #1359788 +++
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.
Moving back to POST as we need to backport to ovirt-engine-4.0
Closed as a Code change