Methods, systems, and computer program products for taking a snapshot of installed software on a data processing system as part of a software update process
Software is updated on a data processing system by invoking a software update operation and using a hypervisor layer to take a snapshot of a software image on the data processing system responsive to invoking the software update operation.
1. A method of updating software on a data processing system, comprising:
invoking, but not executing, a software update operation on the data processing system, the software update being an update operation on an application program;
using a hypervisor layer to take a snapshot of a software image on the data processing system responsive to invoking the software update operation, wherein the hypervisor layer is a virtualization layer providing an interface between a physical hardware layer and a virtual hardware layer associated with an operating system;
confirming executing of the snapshot of the software image, including confirmation that the snapshot has been fully executed and the software image includes a complete back-up of the software image; and
upon confirmation of the complete back-up, executing the software update operation.
2. The method of claim 1 , further comprising: installing the snapshot of the software image on the data processing system responsive to a rollback request.
3. The method of claim 1 , wherein the snapshot of the software image comprises all software on the data processing system.
4. The method of claim 1 , wherein the snapshot of the software image comprises selected files on the data processing system.
5. The method of claim 1 , wherein the software update operation comprises an update operation on a virtual appliance.
6. The method of claim 5 , wherein the virtual appliance comprises an application program and a Just enough Operating System (JeOS) module.
7. A system for updating software, comprising:
a data processing system, comprising a processor and memory, that is configured to:
invoke, but not execute, a software update operation, the software update being an update operation on an application program;
use a hypervisor layer to take a snapshot of a software image on the data processing system responsive to invocation of the software update operation, wherein the hypervisor layer is a virtualization layer providing an interface between a physical hardware layer and a virtual hardware layer associated with an operating system;
confirm executing of the snapshot of the software image, including confirmation that the snapshot has been fully executed and the software image includes a complete back-up of the software image; and
upon confirmation of the complete back-up, execute the software update operation.
8. The system of claim 7 , wherein the data processing system is further configured to install the snapshot of the software image on the data processing system responsive to a rollback request.
9. The system of claim 7 , wherein the snapshot of the software image comprises all software on the data processing system.
10. The system of claim 7 , wherein the snapshot of the software image comprises selected files on the data processing system.
11. The system of claim 7 , wherein the software update operation comprises an update operation on a virtual appliance.
12. The system of claim 11 , wherein the virtual appliance comprises an application program and a Just enough Operating System (JeOS) module.
13. A computer program product for updating software on a data processing system, comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therein, the computer readable program code comprising:
computer readable program code configured to invoke, but not execute, a software update operation on the data processing system, the software update being an update operation on an application program;
computer readable program code configured to use a hypervisor layer to take a snapshot of a software image on the data processing system responsive to invoking the software update operation, wherein the hypervisor layer is a virtualization layer providing an interface between a physical hardware layer and a virtual hardware layer associated with an operating system;
confirming executing of the snapshot of the software image, including confirmation that the snapshot has been fully executed and the software image includes a complete back-up of the software image; and
upon confirmation of the complete back-up, executing the software update operation.
14. The computer program product of claim 13 , further comprising:
computer readable program code configured to install the snapshot of the software image on the data processing system responsive to a rollback request.
15. The computer program product of claim 13 , wherein the software update operation comprises an update operation on a virtual appliance.