System and method for upgrading kernels in cloud computing environments
First Claim
1. A method for upgrading kernels in cloud computing environments, comprising:
- deploying a cloud image that includes a root file system, a kernel, and a ramdisk in a cloud computing environment, wherein one or more physical resources in the cloud computing environment host the deployed cloud image; and
running computer executable instructions in the ramdisk to verify that the root file system supports the kernel in the cloud image, wherein running the computer executable instructions in the ramdisk includes;
identifying an operating system release associated with the kernel;
retrieving one or more kernel modules from a repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release;
creating the directory hierarchy in the root file system in response to the root file system not containing the directory hierarchy;
identifying an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy;
retrieving the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and
injecting the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel.
19 Assignments
0 Petitions
Accused Products
Abstract
The system and method described herein may upgrade kernels in cloud images deployed in cloud computing environments without having to rebuild a machine image that contains a root file system for the cloud image. For example, the cloud image may include a ramdisk that compares the kernel booted in the cloud image to the root file system to verify whether the machine image contains a directory hierarchy matching an operating system release for the kernel. In response to the machine image containing the matching directory hierarchy, the root file system may be mounted for execution in the cloud computing environment. Alternatively, in response to the machine image lacking the matching directory hierarchy, the ramdisk may dynamically create the matching directory hierarchy and inject modules that support the kernel into the root file system prior to mounting and delivering control to the root file system.
114 Citations
20 Claims
-
1. A method for upgrading kernels in cloud computing environments, comprising:
-
deploying a cloud image that includes a root file system, a kernel, and a ramdisk in a cloud computing environment, wherein one or more physical resources in the cloud computing environment host the deployed cloud image; and running computer executable instructions in the ramdisk to verify that the root file system supports the kernel in the cloud image, wherein running the computer executable instructions in the ramdisk includes; identifying an operating system release associated with the kernel; retrieving one or more kernel modules from a repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release; creating the directory hierarchy in the root file system in response to the root file system not containing the directory hierarchy; identifying an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy; retrieving the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and injecting the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for upgrading kernels in cloud computing environments, comprising:
-
a cloud computing environment having a plurality of physical resources; a repository that contains a plurality of kernel modules; and a cloud image hosted on one or more of the plurality of physical resources in the cloud computing environment, the cloud image including a root file system, a kernel, and a ramdisk, wherein the ramdisk includes computer executable instructions configured to; identify an operating system release associated with the kernel; retrieve one or more of the plurality of kernel modules from the repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release; create the directory hierarchy in the root file system in response to determining that the root file system does not contain the directory hierarchy; identify an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy; retrieve the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and inject the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable storage medium containing a cloud image hosted on one or more physical resources in a cloud computing environment, the cloud image including a root file system, a kernel, and a ramdisk, wherein the ramdisk includes computer executable instructions configured to:
-
identify an operating system release associated with the kernel; retrieve one or more kernel modules from a repository in response to determining that the root file system does not contain a directory hierarchy that corresponds to the identified operating system release; create the directory hierarchy in the root file system in response to determining that the root file system does not contain the directory hierarchy; identify an environment used to build the kernel in response to determining that the root file system does contain the directory hierarchy; retrieve the one or more kernel modules from the repository in response to determining that the root file system does contain the directory hierarchy and that one or more kernel modules in the directory hierarchy do not validly correspond to the environment used to build the kernel, wherein the one or more kernel modules retrieved from the repository correspond to the environment used to build the kernel; and inject the one or more kernel modules retrieved from the repository within the directory hierarchy in the root file system, wherein the injected kernel modules support the operating system release associated with the kernel. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification