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

Zhuoyun Wei wzyboy at wzyboy.org
Wed Feb 13 08:09:34 CET 2019


I did my little experiemnt:

root at inf-vmh-3:~# for i in /dev/pve/*cloudinit; do grep package_upgrade $i; done
Binary file /dev/pve/vm-104-cloudinit matches
Binary file /dev/pve/vm-110-cloudinit matches

Look, there are two VM (104 and 110) that have "package_upgrade" options in their cloud-init drive.

- Click on "Regenerate Image" button while the VMs are powered on - the config is still there;
- Power off the VMs - the config is still there;
- Clicking on "Regenerate Image" button while the VMs are powered off - the entire LV is wiped (cat or strings shows nothing);
- Start the VMs - the config is still there.

I am befuddled. I am sure that in "Cloudinit.pm" file, the relevant code is commented out, so why does regenerated images still have that option hard-coded?

-- 
Zhuoyun Wei

On Wed, Feb 13, 2019, at 01:34, Zhuoyun Wei wrote:
> Hi again,
> 
> sorry for bringing this up. I have commented out the code that 
> generates hard-coded "package_upgrade: true" config in cloud-init drive 
> two weeks ago. And all worked well, until today.
> 
> Today I modified the hardware (CPU and memory) of a VM thru the Web UI, 
> and rebooted the VM. After rebooting, the VM did a full system upgrade. 
> I checked its /dev/sr0 and found "package_upgrade: true" was all there 
> again. (But the Cloudinit.pm file I modified was okay)
> 
> I am confused. Could someone explain to me how does the cloud-init iso 
> generation work? What should I do to prevent the unsolicited iso 
> re-generation?
> 
> 
> With regards.
> 
> -- 
> Zhuoyun Wei
> 
> On Mon, Jan 28, 2019, at 10:45, Zhuoyun Wei wrote:
> > Thanks. I have filed a bug. [1]
> > 
> > I am aware that cloud-init 0.7.9 is quite an old version. The good news 
> > is, CentOS Team has rebased its cloud-init source to upstream version 
> > 18.2 as of 2018-10 [2]. The new cloud-init package is already in the 
> > repo (could be yum updated). But the latest pre-built cloud image is 
> > 1809, so it is stuck at 0.7.9 for now. Highly likely cloud-init 18.2 
> > would be available in the next pre-built cloud image release.
> > 
> > 
> > Links:
> > [1] https://bugzilla.proxmox.com/show_bug.cgi?id=2068
> > [2] 
> > https://git.centos.org/blobdiff/rpms!cloud-init.git/c60dcdee662fa585e0ef611c5cd5c48078259a68/SPECS!cloud-init.spec
> > 
> > -- 
> > Zhuoyun Wei
> > 
> > On Mon, Jan 28, 2019, at 23:28, David Limbeck wrote:
> > > Yes, that's currently the only way to disable package upgrades. Feel 
> > > free to open an enhancement in our bugtracker. 
> > > (https://bugzilla.proxmox.com/)
> > > 
> > > Just a quick note, the cloud-init version in CentOS is old and some 
> > > features don't work correctly or at all.
> > > 
> > > On 1/28/19 3:47 PM, Zhuoyun Wei wrote:
> > > > Hi,
> > > >
> > > > 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.
> > > >
> > > > Thanks.
> > > >
> > > >
> > > > Links:
> > > >
> > > > [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
> > > >
> > > 
> > > _______________________________________________
> > > pve-user mailing list
> > > pve-user at pve.proxmox.com
> > > https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-user
> > >



More information about the pve-user mailing list