one
one copied to clipboard
Sunstone ignores volatile disks on VM Template
Description Extra volatile disks declared on a VM Template will be ignored by Sunstone on VM instantiation if no default values are changed on the instantiate wizard.
To Reproduce Create a VM Template such as
root@ubuntu2004-kvm-qcow2-6-4-fDavu-0:~# onetemplate show 19
TEMPLATE 19 INFORMATION
ID : 19
NAME : alpine_extra_volatile
USER : oneadmin
GROUP : oneadmin
LOCK : None
REGISTER TIME : 09/13 13:52:10
PERMISSIONS
OWNER : um-
GROUP : ---
OTHER : ---
TEMPLATE CONTENTS
ARCH="x86_64"
CONTEXT=[
NETWORK="YES",
SSH_PUBLIC_KEY="$USER[SSH_PUBLIC_KEY]" ]
CPU="0.1"
DISK=[
IMAGE="alpine",
IMAGE_UNAME="oneadmin",
SIZE="1024" ]
DISK=[
FORMAT="raw",
SIZE="1024",
TYPE="fs" ]
GRAPHICS=[
LISTEN="0.0.0.0",
TYPE="VNC" ]
HOT_RESIZE=[
CPU_HOT_ADD_ENABLED="NO",
MEMORY_HOT_ADD_ENABLED="NO" ]
MEMORY="96"
MEMORY_UNIT_COST="MB"
NIC=[
NETWORK="public" ]
NIC_DEFAULT=[
MODEL="virtio" ]
Then proceed to instantiate the Template on Sunstone without changing any value of the Disk sub-template.
root@ubuntu2004-kvm-qcow2-6-4-fDavu-0:~# onevm list
ID USER GROUP NAME STAT CPU MEM HOST TIME
70 oneadmin oneadmin alpine_extra_swap-70 runn 0.1 96M ubuntu2004-kvm-qcow2-6-4-fDavu-1.test 0d 00h05
69 oneadmin oneadmin alpine_extra_volatile-69 runn 0.1 96M ubuntu2004-kvm-qcow2-6-4-fDavu-2.test 0d 00h06
root@ubuntu2004-kvm-qcow2-6-4-fDavu-0:~# onevm show 69 | grep 'VM DISKS' -A 5
VM DISKS
ID DATASTORE TARGET IMAGE SIZE TYPE SAVE
0 default vda alpine 4M/1024M file NO
1 - hda CONTEXT 1M/- - -
VM NICS
Expected behavior Volatile disks should be instantiated.
Details
- Affected Component: [e.g. Sunstone, Scheduler or Storage]
- Hypervisor: [e.g. KVM]
- Version: [e.g. 5.4.12 or development]
Additional context
Wrong API Call made when instantiating the example VM Template
Tue Sep 13 13:55:53 2022 [Z0][ReM][D]: Req:9472 UID:0 IP:127.0.0.1 one.template.instantiate invoked , 18, "", false, "DISK=[
ALLOW_ORPHANS="FORMAT",
CLONE="YES",
CLONE_TARGET="SYSTEM",
CLUSTER_ID="0",
DATASTORE="default",
DATASTORE_ID="1",
DEV_PREFIX="vd",
DISK_ID="0",
DISK_SNAPSHOT_TOTAL_SIZE="0",
DISK_TYPE="FILE",
DRIVER="qcow2",
FORMAT="qcow2",
IMAGE="alpine",
IMAGE_ID="0",
IMAGE_STATE="2",
IMAGE_UNAME="oneadmin",
LN_TARGET="NONE",
READONLY="NO",
SAVE="NO",
SIZE="1024",
SOURCE="/var/lib/one//datastores/1/a6f1e0bf50823e7f234efe1c96d34e0c",
TM_MAD="qcow2",
TYPE="FILE"
]
NIC=[
NETWORK="public",
NETWORK_ID="0"
]
NIC_ALIAS = []
SCHED_REQUIREMENTS = []
SCHED_DS_REQUIREMENTS = []", false
it's missing the 2nd disk.
The issue might be related to https://github.com/OpenNebula/one/issues/5938
Progress Status
- [ ] Code committed
- [ ] Testing - QA
- [ ] Documentation (Release notes - resolved issues, compatibility, known issues)