Installing Multiple Patches During Upgrades
Techniques are provided for installing multiple patches during upgrades. In an example, an administrator specifies an upgrade image and multiple patches for a computing cluster. The computing cluster verifies compatibility between the upgrade image and the patch, registers the patch, and stores the patch for later use at the cluster level. This compatibility check can include a check that multiple patches do not write to the same file. Then, at the node level, the upgrade image and the patch are applied to each node that is upgraded.
1 . A system, comprising:
a processor; and
a memory that stores executable instructions that, when executed by the [[first]] processor, facilitate performance of operations, comprising:
receiving user input indicative of an upgrade image for at least one computing node of a first computing cluster that comprises multiple computing nodes, a first patch for the at least one computing node, and a second patch for the at least one computing node;
determining that the upgrade image, the first patch, and the second patch are compatible, the determining being performed once for the first computing cluster and independent of a number of nodes of the first computing cluster that are to be upgraded;
applying the upgrade image to a first computing node of the at least one computing nodes, the applying the upgrade image being performed separately for the first computing node relative to other computing nodes of the at least one computing node;
restarting the first computing node; and
performing a patch reconciliation of the first patch and the second patch on the first computing node.
2 . The system of claim 1 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
determining that the first patch and the second patch are compatible with each other.
3 . The system of claim 1 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
validating a first dependency of the first patch with a second dependency of the second patch.
4 . The system of claim 1 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
determining that applying the first patch and applying the second patch omits writing to a same file, wherein the first patch and the second patch are distinct from each other.
5 . The system of claim 1 , wherein the operations further comprise:
determining an order in which to apply the first patch and the second patch.
6 . The system of claim 5 , wherein the user input indicates the order in which to apply the first patch and the second patch.
7 . The system of claim 5 , wherein the determining the order in which to apply the first patch and the second patch is performed at the cluster level.
8 . A method, comprising:
determining, by a system comprising a processor, that an upgrade image, a first patch, and a second patch are compatible for a computing cluster, the determining being performed for the computing cluster and independent of a number of nodes of the computing cluster that are to be upgraded;
applying, by the system, the upgrade image to a first computing node of the computing cluster and a second computing node of the computing cluster, the applying the upgrade image being performed separately for the first computing node relative to the second computing node;
restarting, by the system, the first computing node and the second computing node; and
performing, by the system, a patch reconciliation of the first patch and the second patch on the first computing node and the second computing node, the performing the patch reconciliation being performed separately for the first computing node relative to the second computing node.
9 . The method of claim 8 , wherein the performing the patch reconciliation of the first patch and the second patch on the first computing node comprises:
applying the first patch to the first computing node; and
applying the second patch to the first computing node.
10 . The method of claim 8 , further comprising:
in response to the determining, registering, by the system, the first patch and the second patch to be installed for the first computing node.
11 . The method of claim 8 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
performing the determining that the upgrade image, the first patch, and the second patch are compatible for at least the first computing node and the second computing node of the computing cluster independently of performing a separate determination for each of the first computing node and the second computing node.
12 . The method of claim 8 , wherein the applying the upgrade image to the first computing node is separate from the applying the upgrade image to the second computing node.
13 . The method of claim 8 , wherein the performing the patch reconciliation of the first patch and the second patch on the first computing node comprises:
evaluating one or more previously-installed patches for the first computing node;
determining a missing patch based on the one or more previously-installed patches for the first computing node and a registered patch for the first computing node; and
determining at least one operation to perform to apply the missing patch to the first computing node.
14 . The method of claim 8 , wherein the performing the patch reconciliation is performed on an arbitrary number of patches that is at least two, the arbitrary number of patches comprising the first patch and the second patch, and wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
validating a first dependency of the first patch with a second dependency of the second patch.
15 . A computer-readable storage medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:
determining that an upgrade image, a first patch, and a second patch are compatible for a computing cluster that comprises multiple nodes, the determining being performed for the computing cluster and independent of a number of nodes of the computing cluster are to be upgraded;
applying the upgrade image to a first computing node of the computing cluster, the applying the upgrade image being performed separately for the first computing node relative to other computing nodes of the computing cluster;
restarting the first computing node; and
performing a patch reconciliation of the first patch and the second patch on the first computing node.
16 . The computer-readable storage medium of claim 15 , wherein the operations further comprise:
completing the performing the patch reconciliation on the first computing node before beginning the applying the upgrade image to a second computing node.
17 . The computer-readable storage medium of claim 15 , wherein the operations further comprise:
performing the applying the upgrade image to the first computing node concurrently with performing the applying the upgrade image to a second computing node.
18 . The computer-readable storage medium of claim 17 , wherein the operations further comprise:
completing the performing the patch reconciliation on the first computing node before beginning to apply the upgrade image to a third computing node of the computing cluster; and
performing the beginning to apply the upgrade image to the third computing node of the computing cluster concurrently with applying the upgrade image to the second computing node.
19 . The computer-readable storage medium of claim 15 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
validating a first dependency of the first patch with a second dependency of the second patch.
20 . The computer-readable storage medium of claim 15 , wherein the determining that the upgrade image, the first patch, and the second patch are compatible at the cluster level comprises:
determining that applying the first patch and applying the second patch omits writing to a same file, wherein the first patch and the second patch are distinct from each other.