Hi, I'm developing cloudbase-init to support password management in Windows with ConfigDrive for CloudStack. The logic behind the user-data service in CloudStack causes some problems that I need to change the logic of cloudbase-init to make it compliant with CloudStack! To use both ConfigDrive and DataServer user-data providers, it is recommended to enable both metadata service providers in cloudbase-init config respectively. So first ConfigDrive will be checked and if no ConfigDrive was found, DataServer will be checked. For example, I create a VM with 2 networks. The primary network is an isolated network that provides user-data with DataServer of VR and the secondary network is an L2 network that provides user-data with ConfigDrive. When the user tries to reset the VMs password, the VR will provide the password so no vm_password.txt file will be created in ConfigDrive. Cloudbase-init will search for ConfigDrive and will find it. But because of the non-existing vm_password.txt file, it will skip the SetUserPasswordPlugin plugin and never checks DataServer to get the password because it already has found a valid disk as ConfigDrive. I think ConfigDrive is network-independent, so we should always provide the vm_password.txt file in it.
Regards, Alireza