Red Hat Bugzilla – Bug 853044
[engine-core][TEXT] bad error message when Create Storage Pool fails (host can't reach LUNs)
Last modified: 2016-02-10 12:38:08 EST
Description of problem:
please take the following case study: user tries to add a new storage domain, has 2 hosts in its cluster, host A sees the storage, host B doesn't, host A is used to create the storage domain, engine pick host B for the create storage pool, fails, and rollback.
- new domain dialogue, 2 available
- chose host A
- login to new target
- mark the new lun
- hit create
result: CreateStorageDomain command is send to host A, and succeeds.
since its the first storage domain in pool (uninitialized), engine sends the CreateStoragePool command, but now, to host B, problem is, host B can't see the luns (i.e; connectStorageServer is successful, though it doesn't make sure host indeed see the lun, access list problem), create storage pool fails, user is notified with the following error: Internal oVirt ERROR.
1) connectStorageServer command should be improved (different matter and bug)
2) engine should pick the host that was used to create the storage.
3) error should be improved.
Created attachment 608157 [details]
vdsm & engine logs
Storage pool requires all hosts in DC to reach the storage domain.
I have no problem with creation failing in this state.
However, the error message should properly explain what the problem is.
Ack is to fix error message only.
Note that reproducing (at least in my case) depended on the order the backend wanted to iterate over the hosts. It's necessary to choose a host in the new domain dialog with access, and also have the engine choose the /other/ host. If the engine chooses the wrong host, you may need to switch things up, e.g. instead of blocking storage access from host B and choosing host A, you may need to block storage access from host A and choose host B.
merged change id
si19. fixed. getting an appropriate error message from the backend engine.