-
Notifications
You must be signed in to change notification settings - Fork 64
Create Virtual Machine #184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c018028
f8a020b
f0e49e0
8144098
77fedcb
a40f4d6
01869cf
761916d
c4df2cc
2a34aef
e9dca08
b33d1e8
d4b6119
212eda6
7f55e9c
df4fef3
6e21b68
31f12ef
8074819
cdb78a5
615c975
8f5cd41
0b38d6e
6bd7b99
8b210f5
d3af82f
75bd0c8
b391f0f
effe94e
efd68d4
c34ce4a
c2b3602
bf51ab9
1cbc642
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,156 @@ | ||
| # Create A Virtual Machine | ||
|
|
||
| ## Step 1: Basic | ||
|
|
||
|  | ||
|
|
||
| The wizard has 5 steps: Basic, Networking, Storage, Advanced, and Review. | ||
|
|
||
| The first (alphabetical) template is selected by default if available. Provision Source, Operating System, Flavor, and Workload Profile are pre-filled by the template, but only Flavor can be modified between either the predefined option or custom. The user can switch to a different template, or choose the top-most “None” option to not use a template at all. | ||
|
|
||
| The “Start virtual machine on creation” checkbox will do exactly that. The “Create new template from configuration” checkbox will be enabled if the user changes the Provision Source, OS, Flavor, or Workload Profile fields. | ||
|
|
||
| Once a name is provided the user can create the VM via the "Create virtual machine" action. Clicking this button will immediately bring them to the “Review” step and initiate the creation/import process. | ||
|
|
||
| If the user modifies the OS, Flavor, or Workload profile, the “Create new template from configuration” checkbox will no longer be disabled. | ||
|
|
||
|
|
||
| ## Fields | ||
|
|
||
| ## Namespace field | ||
|
|
||
|  | ||
|
|
||
| If the user initializes this wizard while viewing “All Projects” without a specific namespace selected, a new required Namespace field should appear above the template dropdown. | ||
|
|
||
| ## Template Field | ||
|
|
||
| ### Template selected | ||
|
|
||
|  | ||
|
|
||
| Template automatically loads the first (alphabetical) template and fills in the Provision Source, Operating System, Flavor, and Workload Profile. Only Flavor can be changed by the user between the template-defined default (Medium in this case) or Custom. | ||
|
|
||
| ### Template error | ||
|
|
||
|  | ||
matthewcarleton marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| Every template should be shown within the Template dropdown. If the selected template will not be able to run on the cluster (because the CPU family is incompatible or a Machine Type is unavailable) a warning message should be shown with a link to relevant documentation. | ||
|
|
||
| ### Template modified | ||
|
|
||
|  | ||
|
|
||
| When a template has been modified the template field will reflect this by appending -modified to the template name. | ||
|
|
||
| ### No Template State | ||
|
|
||
|  | ||
|
|
||
|
|
||
| If no templates are available the Templates field should be disabled with inner text of “No template available”. | ||
|
|
||
| Because a Provision Source has not been chosen, the OS, Flavor, and Workload Profile dropdowns should be disabled. | ||
|
|
||
| As soon as the OS, Flavor, or Workload profile fields are modified, the “Create new template from configuration” checkbox will no longer be disabled. | ||
|
|
||
| ## Provision Source Field | ||
|
|
||
| ### ISO (this is not implemented yet, but is planned) | ||
| Provision source tooltip content: Use an optical disk image that contains installation media for an operating system. | ||
|
|
||
|  | ||
|
|
||
| ISO enables the user to install an Operating System from existing installation media within ContainerDisk. | ||
|
|
||
|  | ||
|
|
||
| The user must select an ISO and then manually specify the OS, Flavor, and Workload Profile. None of those fields can be automatically pre-filled. | ||
|
|
||
|
|
||
| ### PXE | ||
| Provision source tooltip content: Discover provisionable virtual machines over the network. | ||
|
|
||
|  | ||
|
|
||
| PXE enables the user to install an OS and configure it over a network. PXE depends on DHCP to find the PXE Server on an L2 Network. If one is detected, it will automatically be selected in the Networking step (see Networking section) and a note will be displayed below Provision Source. | ||
|
|
||
| If a PXE-capable NIC cannot be found, one will be automatically created with the name “PXE” and selected by default. | ||
|
|
||
| ### URL | ||
| Provision source tooltip content: An external URL to the .iso, .img, .qcow2 or .raw that the virtual machine should be created from. | ||
|
|
||
|  | ||
|
|
||
|
|
||
| ### Container | ||
| Provision source tooltip content: Ephemeral virtual machine disk image which will be pulled from container registry. | ||
|
|
||
| Container allows the user to provide an image from container registry. | ||
|
|
||
| The user must provide a container image and then manually specify the OS, Flavor, and Workload Profile. None of those fields can be automatically pre-filled. | ||
|
|
||
|  | ||
|
|
||
| ### Attach Disk | ||
| Provision source tooltip content: Select an existing disk that has been previously cloned or created. | ||
|
|
||
| When selecting `Attach disk` the user will be prompted to select an available disk that has been previously cloned or created and made available in the Persistent Volume Claims. They must manually specify the OS, Flavor, and Workload Profile. None of those fields can be automatically pre-filled. | ||
|
|
||
|  | ||
|
|
||
|  | ||
|
|
||
| This list is populated by making a PVC available as a provision source for a virtual machine. This list is limited by the namespace it belongs to. These lists have the potential to be very long so a search field can help alleviate scrolling. | ||
|
|
||
|  | ||
|
|
||
|
|
||
| ## Operating System Field | ||
|
|
||
| Recommended minor version editing | ||
|
|
||
|  | ||
|
|
||
| Only major version numbers are shown in the OS dropdown. The user selects one. | ||
|
|
||
|  | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nit: Minor version dropdown here should be 8.0 (or whatever's the latest) rather than 7.x. This applies to the next screen too. |
||
|
|
||
| In situations where the minor OS version could be important (like versions of RHEL), a new dropdown for the minor version should appear next to the major version dropdown. | ||
|
|
||
| The latest recommended version should be pre-selected. | ||
|
|
||
|  | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Maybe we should align with whatever the OpenShift pattern is here. I've been just putting hyperlinked "Learn more" text after the period of the previous sentence, but I'm not sure that's right either. We should figure that out.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. +1 Ya I was just adding this text to be more accessible.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I should also say that this is just placeholder not actually what it should say. It would hopefully be different for each to allow for a more descriptive text. |
||
|
|
||
| If the user changes the minor OS version to something else, a warning appears with a link to relevant documentation about what functionality may not be supported in earlier versions of the OS. | ||
|
|
||
| ## Flavor Field | ||
|
|
||
|  | ||
|
|
||
| The user can choose from four flavors: | ||
|
|
||
| * Small - 2 vCPU, 4 GB Memory | ||
| * Medium - 4 vCPU, 8 GB Memory | ||
| * Large - 8 vCPU, 16 GB Memory | ||
| * Custom | ||
| * Tiny (default) | ||
|
|
||
| The “Custom” flavor allows the user to define Memory and vCPU manually. | ||
|
|
||
| ## Workload Profile Field | ||
|
|
||
|  | ||
|
|
||
| The user can choose from three workload profiles: | ||
|
|
||
| * High Performance | ||
| * Server | ||
| * Desktop | ||
|
|
||
| ## Step 2: Networking | ||
| ## Step 3: Storage | ||
| ## Step 4: Advanced | ||
| ## Step 5: Review | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- May as well switch to RHEL 8 in this screen and all others
- I think everything in PF4 is supposed to be capitalized sentence-style except for product names. The “Create Virtual Machine” title and quick action button would then be “Create virtual machine”. Might be worth double-checking.
- Where do help icons go? PF4’s form documentation shows the help icon next to the input label, rather than within a FormGroup. Which is correct? (I hope the documentation)
- Should include an auto-generated name here since that’s the new default behavior.
- "Create new template from configuration" should be disabled when a Template is selected unless they tweak the Flavor of that template.
- Screens use Flavour but text uses ‘merican Flavor, we should check on this 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only thing with the auto generated name is that it might not always be generated. There is a possibility that the feature has been disabled OR they are creating a VM from scratch and haven't chosen any settings yet. This is the only one I left it empty though for that reason. There will be a follow up PR to focus on this feature specifically.