[PVE-User] Non-configurable options in cloud-init config

Zhuoyun Wei wzyboy at wzyboy.org
Mon Jan 28 15:47:22 CET 2019


I am trying to set up our first Proxmox server. I am using the GenericCloud pre-built image by CentOS [1]. We use the exact same image already in a public cloud provider. By re-using the same image, we could replicate our production VMs in our office.

After importing and starting the first VM in Proxmox, I found that something was not quite right: the packages in the Proxmox VM were newer than the packages in the cloud provider VM. After checking logs, it turned out that cloud-init did a full system upgrade on first boot (it upgraded CentOS 7.5 to CentOS 7.6).

A further inspection revealed the roots of the issue: there was a hard-coded "package_upgrade: true" config key in the generated cloud-init config iso [2].

There was no way to override this config key as of cloud-init 0.7.9 [3], which was used in the latest CentOS GenericCloud image. Could Proxmox make a little improvement here and allow user to opt out the full system upgrade after the first boot of the VM? The only workaround I could see now is edit the CloudInit.pm file and comment out that line.



[1] https://cloud.centos.org/centos/7/images/
[2] https://git.proxmox.com/?p=qemu-server.git;a=blob;f=PVE/QemuServer/Cloudinit.pm;h=5be820c22d58b0cc0014e7dab6412f8d2db9132d;hb=refs/heads/master#l135
[3] https://cloudinit.readthedocs.io/en/0.7.9/topics/modules.html#package-update-upgrade-install

Zhuoyun Wei

More information about the pve-user mailing list