LVM UI
[edit]
Select Storage (from existing storage server)
- Display the list of storage choices in a tree structure, starting with the non-LVM storage pools in the hardware pool. An expanded tree might look something like the following:
+ NFS Pool 1
- NFSVol1
- NFSVol2
- NFSVol3
+ iSCSI Pool 2
- iSCSIVol1
+ iSCSIVol2
- LVMVol1
- LVMVol2
- iSCSIVol3
- Each list item within the tree:
- For each item we'll show the item's alias, size (if a selectable volume), and available space (if 'add new' link is present)
- Has a checkbox to select the item if it's available. Completely unavailable items (volumes already in use for example) won't show up at all. But other items will be unselectable, although they might have selectable children. For example, anything at the storage pool level is unselectable, as would be an iSCSI volume if it had LVM volumes attached to VMs.
- If an item is unavailable for selection, it will be denoted visually as such (possibly by being greyed out).
- If appropriate, has an 'add new X' icon right before or after the checkbox to select that item (if it has a checkbox)
- How we handle selected items in the tree:
- Normally, 'used' volumes are filtered out, unless they are volumes for the current VM.
- If you are editing a VM, checkboxes will be pre-selected
- The tree should open to these items so it is easy to see what you already have
- Clicking 'add new X' hides current form/facebox and opens new facebox for adding item (for instance, new LVM), passing it a callback handler to be initiated upon completion of 'add new'. When this process is complete, callback re-opens first facebox and updates selections with whatever was just created.
[edit]
New LVM (from existing storage server)
- A new LVM can be added:
- Directly from the volumes grid (located in the detail panel of an iscsi pool)
- Via the same link in a popup showing details for the specific iscsi volume. If the popup entry point is used, successful creation of an LVM should bring you back to the popup detail for the parent volume.
- Via link in tree portion of Create New VM. This has the same 'go back to previous form' constraint as last bullet item.
- The flows that require 2 consecutive popups need to store the form information on some way so that once the Add LVM step is done the user is brought back where they were, and the form state is saved, if appropriate. Two options for how to do this are:
- Copy the form in the popup to a hidden element, and put it back once the Add step is complete
- Use the form js plugin to save the form state to a var, then put it back as it was after Add.

