Pool creation allows multiple vdev types to be checked
Attached is a screenshot showing how to reproduce the issue.
Create a new pool with at least 1 disk for data vdevs.
Add a cache device.
Check the box next to "Cache vdev" and check an available disk.
Click the > next to Cache vdev and the disk adds fine.
Add a log vdev.
Check the box next to log vdev, and an available disk.
Click the > next to log vdev and the disk will be added to Data vdevs because we allow both Cache vDev, and log vDev to be checked at the same time.
The result is that sometimes the cache vdev will be added to the data vdev. To summarize unchecking Cache vdev before trying to add a device to log vdev will fix the issue. I think the issue I see is that we allow multiple vdev types to be selected at the same time. I think we should only allow one vdev type to be checked a at time. Ideally we wouldn't need a checkbox next to vdev type at all. We could simply check the available disk(s), and click the > next to the vdev type we want to move the available disk too.