Tested with (.img.raw/.raw), .qcow2, .vmdk and different combinations of
target storages/formats.

Everything worked fine except for one thing:
The upload dialog allows the user to manually change the file name. When
changing the file extension to ".img". Clicking "Upload" is allowed but
after the upload completes, the following error is thrown:
```
Error 400: Parameter verification failed.

filename: invalid filename or wrong extension
```

On 26/03/2025 16:26, Dominik Csapak wrote:
most of the building blocks are already there:
* we can have image files in an import storage
* we can import image files via the api from such a storage

this series fills in the missing bits & pieces:
* allow uploading/downloading image files into an import storage via the webgui
* adding the possibility to select such a file when creating a vm/disk

One minor "ugliness": when switching between import on/off, the target
storage selector resets. This is normally intended by the component,
since it's most often only disabled when it's still visible, except here
in this case.

If this is a blocker, I can of course add an option to the selector
to not do this here, but IMHO this is a rather odd use case anyway,
so I opted for not handling that explicitely.

changes from v3:
* allow raw (.raw, .img) and vmdk files too
* automatically append '.raw' for '.img' files

changes from v2:
* fix correctly unset 'import-from' in wizard when going to summary,
   back to disk, unselecting import, then going forward to the summary
   again
* fixed an issue with the file selector being mistakenly disabled

changes from v1:
* fixed an issue where the file selector would be hidden but invalid

pve-storage:

Dominik Csapak (1):
   import: allow upload of guest images files into import storage

  src/PVE/API2/Storage/Status.pm | 17 ++++++++++++++++-
  src/PVE/Storage.pm             |  3 ++-
  2 files changed, 18 insertions(+), 2 deletions(-)

pve-manager:

Dominik Csapak (3):
   ui: storage content: allow upload of guest images for import type
   ui: form: file selector: allow optional filter
   ui: qemu hd edit: allow importing a disk from the import storage

  www/manager6/form/FileSelector.js           | 10 +++
  www/manager6/qemu/HDEdit.js                 | 71 ++++++++++++++++++++-
  www/manager6/window/DownloadUrlToStorage.js |  4 ++
  www/manager6/window/UploadToStorage.js      |  7 +-
  4 files changed, 89 insertions(+), 3 deletions(-)



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to