1
0
mirror of https://github.com/lxc/incus.git synced 2026-02-05 09:46:19 +01:00
Files
incus/test/suites/storage_volume_import.sh
Benjamin Somers c05c0e2b89 test: Incus now allows ISO export
Signed-off-by: Benjamin Somers <benjamin.somers@imt-atlantique.fr>
2025-10-03 16:07:13 +00:00

59 lines
3.0 KiB
Bash

test_storage_volume_import() {
truncate -s 25MiB foo.iso
truncate -s 25MiB foo.img
ensure_import_testimage
# importing an ISO as storage volume requires a volume name
! incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.iso || false
! incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.img --type=iso || false
# import ISO as storage volume
incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.iso foo
incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.img --type=iso foobar
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foo | grep -q 'content_type: iso'
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foobar | grep -q 'content_type: iso'
# delete an ISO storage volume and re-import it
incus storage volume delete "incustest-$(basename "${INCUS_DIR}")" foo
incus storage volume delete "incustest-$(basename "${INCUS_DIR}")" foobar
incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.iso foo
incus storage volume import "incustest-$(basename "${INCUS_DIR}")" ./foo.img --type=iso foobar
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foo | grep -q 'content_type: iso'
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foobar | grep -q 'content_type: iso'
# snapshots are disabled for ISO storage volumes
! incus storage volume snapshot create "incustest-$(basename "${INCUS_DIR}")" foo || false
# exporting an ISO storage volume returns the ISO file unchanged
incus storage volume export "incustest-$(basename "${INCUS_DIR}")" foo foo.new.iso
cmp -s foo.iso foo.new.iso || false
# cannot attach ISO storage volumes to containers
incus init testimage c1
! incus storage volume attach "incustest-$(basename "${INCUS_DIR}")" c1 foo || false
# cannot change storage volume config
! incus storage volume set "incustest-$(basename "${INCUS_DIR}")" foo size=1GiB || false
# copy volume
incus storage volume copy "incustest-$(basename "${INCUS_DIR}")"/foo "incustest-$(basename "${INCUS_DIR}")"/bar
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" bar | grep -q 'content_type: iso'
# cannot refresh copy
! incus storage volume copy "incustest-$(basename "${INCUS_DIR}")"/foo "incustest-$(basename "${INCUS_DIR}")"/bar --refresh || false
# can change description
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foo | sed 's/^description:.*/description: foo/' | incus storage volume edit "incustest-$(basename "${INCUS_DIR}")" foo
incus storage volume show "incustest-$(basename "${INCUS_DIR}")" foo | grep -q 'description: foo'
# cleanup
incus delete -f c1
incus storage volume delete "incustest-$(basename "${INCUS_DIR}")" foo
incus storage volume delete "incustest-$(basename "${INCUS_DIR}")" bar
incus storage volume delete "incustest-$(basename "${INCUS_DIR}")" foobar
rm -f foo.iso foo.img
}