Tag-based deployment
First Claim
1. A computer-implemented method for deploying a software release to a host computer system, comprising:
- providing, by a computing system, a software release deployable to a host computer system, the software release comprising a release package associated with a package tag, the package tag being selected from a plurality of tag values of a tag category, the plurality of tag values forming a tag hierarchy associated with the tag category comprising a root node having a first tag value and at least one child node having a second tag value that is more specific, with respect to the associated tag category, than the first tag value, the tag category being related to a computer architecture that is an instruction set architecture;
receiving one or more host tags associated with the host computer system;
determining that at least one of the one or more host tags is selected from the plurality of tag values of the tag category that descends from the package tag in the tag hierarchy and determining the one or more host tags matches the package tag when descending from the package tag in the tag hierarchy by recursively traversing a release package hierarchy associated with the release package based at least in part on the one or more host tags of the tag category that is related to the computer architecture;
selecting the release package to be deployed at the host computer system based at least in part on the determination that a match has been found based on the recursive traversal; and
causing the selected release package to be deployed at the host computer system.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for deploying upgrades are provided. In an example, a release package containing upgrade for software application, operating system, firmware and the like may be tagged with one or more package tags. Each of the package tags may be associated with a tag category comprising one or more tag values which may form a tag hierarchy. In an example, a target host for a upgrade release may be tagged with one or more host tags similar to the package tags. In an embodiment, a release package may be selected from a plurality of release packages to be deployed to a host by matching the package tags associated with the release package to the host tags associated with the host. The package tags, host tags and associated tag categories may be arbitrarily defined and/or extended.
31 Citations
17 Claims
-
1. A computer-implemented method for deploying a software release to a host computer system, comprising:
-
providing, by a computing system, a software release deployable to a host computer system, the software release comprising a release package associated with a package tag, the package tag being selected from a plurality of tag values of a tag category, the plurality of tag values forming a tag hierarchy associated with the tag category comprising a root node having a first tag value and at least one child node having a second tag value that is more specific, with respect to the associated tag category, than the first tag value, the tag category being related to a computer architecture that is an instruction set architecture; receiving one or more host tags associated with the host computer system; determining that at least one of the one or more host tags is selected from the plurality of tag values of the tag category that descends from the package tag in the tag hierarchy and determining the one or more host tags matches the package tag when descending from the package tag in the tag hierarchy by recursively traversing a release package hierarchy associated with the release package based at least in part on the one or more host tags of the tag category that is related to the computer architecture; selecting the release package to be deployed at the host computer system based at least in part on the determination that a match has been found based on the recursive traversal; and causing the selected release package to be deployed at the host computer system. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for managing deployments, comprising:
-
determining, by a computer system, that at least one computational entity tag of one or more computational entity tags associated with the computational entity descends from at least one versioned entity tag of one or more versioned entity tags associated with a versioned entity in a tag hierarchy associated with a tag category and determining the at least one computational entity tag matches the at least one versioned entity tag when descending from the at least one versioned entity tag in the tag hierarchy by recursively traversing a release package hierarchy associated with a release package based in part on the at least one computational entity tag of the tag category that is related to a computer architecture that is an instruction set architecture, the tag category comprising a plurality of tag values, the tag hierarchy comprising a root node having a first tag value and at least one child node having a second tag value that is more specific, with respect to the associated tag category, than the first tag value, the tag category being related to the computer architecture; selecting, by the computer system, the versioned entity to be deployed to the computational entity based on the determination that a match has been found based on the recursive traversal; and causing the selected versioned entity to be deployed to the computational entity. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computer system for managing upgrades, comprising:
-
one or more processors; and memory, including instructions executable by the one or more processors to cause the computer system to at least; provide an upgrade release comprising a plurality of release packages, each of the plurality of release packages associated with one or more package tags, at least one package tag of the one or more package tags being selected from a plurality of tag values of a tag category, the plurality of tag values forming a tag hierarchy associated with the tag category comprising a root node having a first tag value and at least one child node having a second tag value that is more specific, with respect to the associated tag category, than the first tag value, the tag category being related to a computer architecture that is an instruction set architecture; and generate a release package hierarchy based at least in part on the plurality of release packages and the corresponding package tags; for each of a plurality of hosts, select a release package of the plurality of release packages to be installed on the host by determining that at least one host tag of the one or more host tags associated with the host descends from the at least one package tag of one or more package tags associated with the selected release package in the corresponding tag hierarchy and recursively traversing the release package hierarchy based at least in part on the one or more host tags associated with the host, the at least one host tag matching the at least one package tag when descending from the at least one package tag in the corresponding tag hierarchy; and cause the selected release package to be installed on the host. - View Dependent Claims (11, 12, 13, 14)
-
-
15. One or more non-transitory computer-readable storage media having stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least:
-
cause building of an upgrade release comprising a plurality of release packages, each of the plurality of release packages associated with one or more package tags, at least one package tag of the one or more package tags being selected from a plurality of tag values of a tag category, the plurality of tag values forming a tag hierarchy associated with the tag category comprising a root node having a first tag value and at least one child node having a second tag value that is more specific, with respect to the associated tag category, than the first tag value, the tag category being related to a computer architecture that is an instruction set architecture, the building of the upgrade release including generating information usable for constructing a release package hierarchy, the release package hierarchy being based at least in part on the plurality of release packages; and cause selection of one of the plurality of release packages to deploy to a host by determining that the at least one host tag of the one or more host tags associated with the host descends from the at least one package tag of the one or more package tags associated with the selected release package in the associated tag hierarchy and restoring the release package hierarchy based at least in part on the generated information and recursively traversing the restored release package hierarchy based at least in part on the one or more host tags associated with the host, the at least one host tag matching the at least one package tag when descending from the at least one package tag in the associated tag hierarchy. - View Dependent Claims (16, 17)
-
Specification