Handling kernel upgrades in EC2 and UEC
Prior to the advent of EBS root volumes there was no way to change the kernel of an instance after initialization time. It is still impossible to change the kernel for an instance-store instance, and for an EBS instance to mange its own kernel upgrades. This leads to a fair amount of confusion by users who have done an 'apt-get dist-upgrade' and expect to reboot into their new kernel. This discussion will cover ways of improving that user experience, hopefully making the process clear.
Finished: On EC2, 10.04 images and later use the pv-grub kernels and have 'grub-legacy-ec2' installed inside, which manages /boot/grub/
Blueprint information
- Status:
- Complete
- Approver:
- Jos Boumans
- Priority:
- High
- Drafter:
- Scott Moser
- Direction:
- Approved
- Assignee:
- Scott Moser
- Definition:
- Approved
- Series goal:
- Accepted for maverick
- Implementation:
- Implemented
- Milestone target:
- maverick-alpha-3
- Started by
- Thierry Carrez
- Completed by
- Scott Moser
Whiteboard
Status:
Done
Complexity:
maverick-alpha-3: 5
Work items for maverick-alpha-2:
[smoser] send mail to amazon indicating intent, and end goals, request some solution: DONE
[smoser] adjust work items with respect to amazon mail above: DONE
[smoser] Verify expected solution on EC2 works with lucid Ubuntu images: DONE
[smoser] address issues with images preventing EC2 solution: DONE
verify that grub1 and grub2 can be installed and functional side by side (they can't): DONE
investigate grub kernel selection with multiple kernels and apt-get upgrade: DONE
look at grub multiboot image: DONE
Work items for maverick-alpha-3:
uec - euca code to run time determine kernel type (linux or multiboot): DONE
uec - euca code to build floppy loader at runtime: DONE
uec - reproducibly build or document creation of grub image: DONE
uec - build grub multiboot image to load hd0,1/boot/
[serge-
[serge-hallyn]SRU bug 598649 for lucid (patch not SRU-able; too big to be safe): DONE
uec - verify images are working by booting maverick image: DONE
ec2 - verify images are working by booting maverick image (20100716): DONE
ec2 - write script to handle kernel upgrade triggers for grub1: DONE
ec2 - package above script in cloud-init (grub-legacy-ec2): DONE
ec2 - get grub-legacy-ec2 into universe: DONE
ec2 - MIR grub-legacy-ec2 (bug 605013): DONE
ec2 - uec seed grub-legacy-ec2 (bug 605001): DONE
ec2 - modify publishing scripts to utilize "well known kernels" (20100716): DONE
uec - modify uec-publish-tarball to handle new tarball format (supporting lucid also): DONE
uec - make sure grub update-
ec2 - make sure grub 1 menu.lst generating script is written in images during install : DONE