Created attachment 1244274 [details]
Description of problem:
Restore HE backup will fail if the HE SD has disks of non-HE VM's
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Deploy HE environment
2. Add the storage domain to the engine(to start auto-import process)
3. Wait until the engine will have HE VM
4. Add non-HE VM with the disk on the HE SD
5. Set global maintenance
6. Backup the engine: # engine-backup --mode=backup --file=engine.backup --log=engine-backup.log
7. Copy the backup file from the HE VM to the host
8. Clean host from HE deploy(reprovisioning)
9. Run the HE deployment again
10. Answer No on the question "Automatically execute engine-setup on the engine appliance on first boot (Yes, No)[Yes]? "
11. Enter to the HE VM and copy the backup file from the host to the HE VM
12. Run restore command: # engine-backup --mode=restore --scope=all --file=engine.backup --log=engine-restore.log --he-remove-storage-vm --he-remove-hosts --restore-permissions --provision-all-databases
Restore operation failed with the error:
ERROR: The hosted-engine storage domain contains more than one vm.
FATAL: Cannot execute sql command: --command=SELECT DeleteHostedEngineStorageVM();
2017-01-25 09:25:05 9460: FATAL: Failed cleaning hosted-engine
Restore operation succeeds.
I do not sure what the correct way to fix this problem(maybe we just need to prevent adding non-HE VM disks on the HE SD)
Let's remove the other disks from the SD during restore and prompt that we have done so for this use case. This because its not the same physical device.
Verified on rhevm-126.96.36.199-0.1.el7.noarch