one icon indicating copy to clipboard operation
one copied to clipboard

[FSunstone] VM template create/update adds unnecessary parameters

Open dann1 opened this issue 1 year ago • 0 comments

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)

dann1 avatar Nov 02 '23 03:11 dann1