Launchpad Entry: upgrade-testing-in-the-sandbox
Created:
Contributors:
Packages affected:
Summary
Testing a upgrade currently means that the user has to setup a separate machine or a VM and run the test in it or use his main machine with the rest that if something goes wrong he needs to fix it manually. The proposed feature would allow to migrate the current system to a VM and run the upgrade in that VM. This means that the user can test if his upgrade would actually be successful before he performs it.
Release Note
TBD when beta is available.
Rationale
Currently not a lot of users tests upgrades on real systems before the release because there is the real risk that something goes wrong and they need to manually fix the upgrade. With this new framework we should get more testers and better coverage of real world systems.
Use Cases
1. Bob wants to help ubuntu development and has a bit of time and free bandwidth and harddisk space. So he decides to run a test-upgrade of his real system.
Assumptions
The user machine must support kvm, this limits the user base somewhat, however most modern (or semi-modern) machines have this support now.
Design
We provide two options: a) automatic - create clone of the current system as vm and run update-manager with the non-interactive frontend and copy the results b) manual - create the clone of the current VM but let the user do the upgrade with his favorite GUI
On failures, provide a "report bug" page that uses apport to sent a failure report.
We need to make clear to the user that this test will only ensure that packages and daemon upgrade correctly, not that e.g. the new kernel works well with their specific hardware (because we only test in the VM).
Implementation
This is implemented on top of the current update-manager and the https://code.edge.launchpad.net/~mvo/ubuntu-jeos/clone-system-to-vm script.
Limitations
The test will not be 100 accurate because we can not test if e.g. the kernel boots on the particular hardware (we only run in a VM). However, we know if the packages upgrade, the daemons restart properly and the system comes up again.
Test/Demo Plan
TBD
This need not be added or completed until the specification is nearing beta.