Closed eric-c-wood closed 11 months ago
@eric-c-wood I haven't had a chance to compile and test this yet... just peaked at the code changes. Is there a way to disconnect a connected ISO from a VM? Also, what do you think about supporting the upload of an ISO if it's not already on the server?
@activeshadow I have a few questions/comments related to your questions.
1) Is there a way to disconnect a connected ISO from a VM? - I did not currently implement this in the UI. This can be implemented fairly easily. Would you like to see an eject button adjacent to the "insert disc" button when an ISO is inserted into the VM? For reference, when inserting an ISO, the current ISO/disc is ejected before the new ISO is inserted. On an odd note, an ISO can be ejected from within the VM but that state is not accurately reflected in minimega's vm info command. Minimega's vm info command will still show the ISO inserted when the ISO has been ejected from within the VM. Ejecting the ISO via minimega will be accurately reflected in minimega's vm info command.
2) Also, what do you think about supporting the upload of an ISO if it's not already on the server? - I am not sure that I have an appreciation for what you mean by 'server'. Is 'server' a server hosting the VMs? Are you looking for a mechanism from the UI to upload an ISO into the minimega files directory such that it would appear in the optical disc dropdown listbox? I am assuming that you are not referring to uploading an ISO from a server hosting a VM to the VM as that functionality is already implemented to some degree.
1. Is there a way to disconnect a connected ISO from a VM? - I did not currently implement this in the UI. This can be implemented fairly easily. Would you like to see an eject button adjacent to the "insert disc" button when an ISO is inserted into the VM? For reference, when inserting an ISO, the current ISO/disc is ejected before the new ISO is inserted. On an odd note, an ISO can be ejected from within the VM but that state is not accurately reflected in minimega's vm info command. Minimega's vm info command will still show the ISO inserted when the ISO has been ejected from within the VM. Ejecting the ISO via minimega will be accurately reflected in minimega's vm info command.
Would it be possible to just replace the insert disc
button with an eject disc
button when an ISO is connected?
2. Also, what do you think about supporting the upload of an ISO if it's not already on the server? - I am not sure that I have an appreciation for what you mean by 'server'. Is 'server' a server hosting the VMs? Are you looking for a mechanism from the UI to upload an ISO into the minimega files directory such that it would appear in the optical disc dropdown listbox? I am assuming that you are not referring to uploading an ISO from a server hosting a VM to the VM as that functionality is already implemented to some degree.
By server
I mean the minimega/phēnix head node server. Yeah, I'm looking for an easy way for users to add ISOs to the head node if they need to.
@activeshadow I added an option to eject an ISO when inserted/connected. The label will say 1 of 3 things:
1) eject optical disc
- an existing ISO is inserted/connected
2) insert optical disc
- no ISO is inserted/connected
3) change optical disc
- selecting a new ISO when an existing ISO is connected
With regards to an easy way to upload ISOs to the head node, do you think a new component geared towards large file uploads would be appropriate? The large file upload component would handle files such as base/backing images as well as any other large files required for experimentation. The component should probably include drag/drop, resume on failure, a progress bar for each file, warnings if overwriting an existing base/backing image, disk space checks prior to upload, etc.
@activeshadow I added an option to eject an ISO when inserted/connected. The label will say 1 of 3 things:
- eject optical disc - an existing ISO is inserted/connected
- insert optical disc - no ISO is inserted/connected
- change optical disc - selecting a new ISO when an existing ISO is connected
This sounds good. I'll pull and test ASAP. Thanks @eric-c-wood!
With regards to an easy way to upload ISOs to the head node, do you think a new component geared towards large file uploads would be appropriate? The large file upload component would handle files such as base/backing images as well as any other large files required for experimentation. The component should probably include drag/drop, resume on failure, a progress bar for each file, warnings if overwriting an existing base/backing image, disk space checks prior to upload, etc.
This all sounds useful, but a larger effort. Probably better as a separate PR.
@eric-c-wood I did some testing locally and it all looks good.
I made a few changes to HTTP endpoint names and RBAC resource names. Can you take a quick look at the changes I made in the commit I just pushed as a sanity check please? Once you've had a chance to do that I'll merge this PR.
@activeshadow I tested all of your changes and everything works as expected. Thanks for the super fast look at this PR.
Removed the unused
record screenshots
button from the experiment modal in the RunningExperiments view and replaced it with aninsert optical disc
function. While inserting a disc in the drive of a running VM is fairly straightforward using the minimega command line, being able to insert a disc from the UI is a bit easier and convenient.The screenshots below show the placement of the
insert optical disc
function/button.Insert Optical Disc button replaces
record screenshots
buttonOnly ISOs appear in the dropdown