In OnApp Cloud platform, you can create the custom template of any running reference VM which you can use to create VMs with similar configuration.
Sometimes, you might be having issues with OnApp whereby the VM created using a User Template is not booting.
In this context, we shall look into ways to resolve this issue.
Nature of the issue VM created using a User Template not booting in OnApp
Sometimes, on creating a VM using a user template, it may not boot.
When we get into the console, the booting process will stuck at GRUB with the below error message:
Error 15: File not found
Basically, this means that the defined kernel image in the grub.conf couldn't seen.
Main cause of VM created using a User Template to not boot in OnApp ?
Usually, we create an image from a perfectly running VM, but the cloned VM fails to boot.
That is because the OnApp will overwrite many configurations including /etc/fstab, ifcfg-eth0 etc with new one matching with new VM environment.
For the grub.conf, it keeps many versions for different virtualization and overwrites the grub.conf with one of the templates matching with the virtualization of the new VM.
When we update the Kernel over time, the new kernel images will be added to grub.conf and old ones will be removed too.
These changes won't add to the grub templates automatically.
The reference VM will boot into the new kernel after reboot. But, the VMs created using its template will try to load the old kernel image defined in the grub template.
How to fix VM created using a User Template to not booting in OnApp ?
In order to resolve it, just update the grub templates matching with the current configuration.
Each grub template differs in the root device’s path.
The different root device names are given below:
Virtualization GRUB template name Root device name
KVM grub.conf.kvm root=/dev/sda1
KVM (Virt IO) grub.conf.kvm_virtio root=/dev/vda1
Xen grub.conf.xen root=/dev/xvda1