apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
2.1k stars 1.11k forks source link

Add option to skip mount of ConfigDrive #9831

Open tanganellilore opened 1 month ago

tanganellilore commented 1 month ago
ISSUE TYPE
COMPONENT NAME
Backend
CLOUDSTACK VERSION
4.19.1.2
CONFIGURATION

N/A

OS / ENVIRONMENT

Ubuntu 22 for Managemente KVM with Rocky Linux for hypervisor

SUMMARY

HI team, I configured a L2 network offering with support for ConfigDrive, becasue i need to use cloudinit to do some tasks. As per documentation, in this configuration, an iso will be created with ConfigDrive and attached as cdrom to instance. Moreover with option we can decide to store it on primary or secondary storage.

However, this happen everytime I use at least one network where ConfigDrive is enabled and i don't find a way to "disable" this behaviour apart choice a network with different Offering.

It will be very usefull have a machine settings that can allow us to "disable" mounting the iso, for example after first deployment we can set it ad avoid attach or buil the iso.

STEPS TO REPRODUCE
Create aL2 network offering with Userdata flagged
Create a VM with/without user data
Iso is attached to the vm and mounted (as default) to secondary storage
Remove network with this Network offering
Attach a network with netwokr offering without userdata
VM will not have attached the iso, iso is deleted on secondary
EXPECTED RESULTS
Add a settings to disable the usage of userdata to vm specific
ACTUAL RESULTS
No way to disable userdata if is enabled on Network offering

I think that one pice of code to be modified is this function: https://github.com/apache/cloudstack/blob/019f2c60ceb7a7c15c670a98280bd5764a5fcf5b/server/src/main/java/com/cloud/network/element/ConfigDriveNetworkElement.java#L770-L793

As per system VM, we can add an option to avoid the configuration of ConfigDrive with vm settings.

What do you think team?