one
one copied to clipboard
[FSunstone] VM template create/update adds unnecessary parameters
Description When using FireEdge to update an existing VM template, whatever you change will make it so the VM template gets updated with a lot of information that the user didn't explicitly set.
Edit Potentially add this to all create/update dialogs to get rid of unnecessary parameters (untouched/modified)
To Reproduce
Update a non intrusive attribute (for example the logo) of a VM Template like the following
root@ubuntu2204-kvm-qcow2-6-8-zm1vb-0:~# onetemplate show 0
TEMPLATE 0 INFORMATION
ID : 0
NAME : alpine
USER : oneadmin
GROUP : oneadmin
LOCK : None
REGISTER TIME : 10/25 21:28:11
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" ]
GRAPHICS=[
LISTEN="0.0.0.0",
TYPE="vnc" ]
MEMORY="96"
NIC=[
NETWORK="public" ]
NIC_DEFAULT=[
MODEL="virtio" ]
It will then become
root@ubuntu2204-kvm-qcow2-6-8-zm1vb-0:~# onetemplate show 0
TEMPLATE 0 INFORMATION
ID : 0
NAME : alpine
USER : oneadmin
GROUP : oneadmin
LOCK : None
REGISTER TIME : 10/25 21:28:11
PERMISSIONS
OWNER : um-
GROUP : ---
OTHER : ---
TEMPLATE CONTENTS
ARCH="x86_64"
BACKUP_CONFIG=[
BACKUP_VOLATILE="NO" ]
CONTEXT=[
NETWORK="YES",
REPORT_READY="NO",
SSH_PUBLIC_KEY="$USER[SSH_PUBLIC_KEY]",
TOKEN="NO" ]
CPU="0.1"
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="1",
LN_TARGET="NONE",
NAME="DISK0",
ORIGINAL_SIZE="256",
READONLY="NO",
SAVE="NO",
SIZE="256",
SOURCE="/var/lib/one//datastores/1/457c051f6f174fc44488f83120dccd9f",
TM_MAD="qcow2",
TYPE="FILE" ]
FEATURES=[
VIRTIO_SCSI_QUEUES="4" ]
GRAPHICS=[
LISTEN="0.0.0.0",
RANDOM_PASSWD="NO",
TYPE="VNC" ]
HOT_RESIZE=[
CPU_HOT_ADD_ENABLED="NO",
MEMORY_HOT_ADD_ENABLED="NO" ]
HYPERVISOR="kvm"
LOGO="images/logos/linux.png"
MEMORY="96"
MEMORY_RESIZE_MODE="BALLOONING"
MEMORY_UNIT_COST="MB"
NAME="alpine"
NIC=[
NAME="NIC0",
NETWORK="public",
NETWORK_ID="0" ]
NIC_DEFAULT=[
MODEL="virtio" ]
OS=[
FIRMWARE_SECURE="NO" ]
RAW=[
TYPE="kvm",
VALIDATE="NO" ]
VROUTER="NO"
Expected behavior
Only the attribute(s) that change should be modified
Additional context
The same thing happens with VM Template creation. If you choose just
- CPU
- MEMORY
- NAME
- Select DISK (no extra config)
- Select NIC (no extra config)
- Enable context with SSH and NETWORK
It will create an overly complicated template like the one shown before.
Old Sunstone kinda has the same problem, but at a much lower scale. The base template with just the logo updated became
root@ubuntu2204-kvm-qcow2-6-8-zm1vb-0:~# onetemplate show 0
TEMPLATE 0 INFORMATION
ID : 0
NAME : alpine
USER : oneadmin
GROUP : oneadmin
LOCK : None
REGISTER TIME : 10/25 21:28:11
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" ]
FEATURES=[
VIRTIO_SCSI_QUEUES="4" ]
GRAPHICS=[
LISTEN="0.0.0.0",
TYPE="VNC" ]
HOT_RESIZE=[
CPU_HOT_ADD_ENABLED="NO",
MEMORY_HOT_ADD_ENABLED="NO" ]
LOGO="images/logos/alpine.png"
MEMORY="96"
MEMORY_RESIZE_MODE="BALLOONING"
MEMORY_UNIT_COST="MB"
NIC=[
NETWORK="public" ]
NIC_DEFAULT=[
MODEL="virtio" ]
Progress Status
- [ ] Code committed
- [ ] Testing - QA
- [ ] Documentation (Release notes - resolved issues, compatibility, known issues)