PREPARING INSTALLATIONS AND UPDATES FOR SOFTWARE SYSTEMS
First Claim
1. A method for generating a software update package for updating a cloud appliance, the cloud appliance running a plurality of different software components, at least some of the plurality of software components interoperating with one another, each of the plurality of software components maintained by a different corresponding development group, the method comprising:
- gathering a plurality of code changes for updating the cloud appliance, the plurality of code changes including one or more code changes for each of the plurality of software components, the one or more code changes for each software component having been released by a managing development group for the software component;
creating a software update package for the cloud appliance, the software update package for installing the plurality of code changes to bring the cloud appliance to a goal state from any of one or more prior states, including;
formulating a bill of materials (BOM) for a software update package version, the software update package version being the next version in a linear progression of a plurality of software update package versions for updating the cloud appliance, one or more prior versions in the linear progression corresponding to the one or more prior states, the bill of materials (BOM) indicating applicability to the cloud appliance and how to access the plurality of code changes;
formulating a manifest, the manifest;
including references to management artifacts for installing the plurality of code changes; and
indicating interdependencies between code changes from among the plurality of code changes; and
including the bill or materials and the manifest in the software update package; and
making the software update package available so that entities running the cloud appliance can update the cloud appliance to the goal state from any of the one or more prior states.
4 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for preparing installations and updates for software systems. Aspects of the invention include creating software update packages that are selectable to automatically install essentially any number of code changes for any number of software components to update a software system (e.g., a cloud appliance). In one aspect, a software update package includes: references to code changes for a plurality of software components and references to installation artifacts for installing the code changes, and also indicates interdependencies between the plurality of software components. In another aspect, a software update package includes references to validation code for validating that a software update package transitioned a software system to a goal state. In a further aspect, a software update package expressly indicates that installation artifact references for different installation artifacts are to be processed during different passes in a multi-pass installation process.
-
Citations
20 Claims
-
1. A method for generating a software update package for updating a cloud appliance, the cloud appliance running a plurality of different software components, at least some of the plurality of software components interoperating with one another, each of the plurality of software components maintained by a different corresponding development group, the method comprising:
-
gathering a plurality of code changes for updating the cloud appliance, the plurality of code changes including one or more code changes for each of the plurality of software components, the one or more code changes for each software component having been released by a managing development group for the software component; creating a software update package for the cloud appliance, the software update package for installing the plurality of code changes to bring the cloud appliance to a goal state from any of one or more prior states, including; formulating a bill of materials (BOM) for a software update package version, the software update package version being the next version in a linear progression of a plurality of software update package versions for updating the cloud appliance, one or more prior versions in the linear progression corresponding to the one or more prior states, the bill of materials (BOM) indicating applicability to the cloud appliance and how to access the plurality of code changes; formulating a manifest, the manifest; including references to management artifacts for installing the plurality of code changes; and indicating interdependencies between code changes from among the plurality of code changes; and including the bill or materials and the manifest in the software update package; and making the software update package available so that entities running the cloud appliance can update the cloud appliance to the goal state from any of the one or more prior states. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 15)
-
-
9. A method for generating a software update package for updating a cloud appliance, the cloud appliance running a plurality of different software components, at least some of the plurality of software components interoperating with one another, each of the plurality of software components maintained by a different corresponding development group, the method comprising:
-
gathering a plurality of code changes for updating the cloud appliance, the plurality of code changes including one or more code changes for each of the plurality of software components, the one or more code changes for each software component having been released by a managing development group for the software component; creating a software update package for the cloud appliance, the software update package for installing the plurality of code changes to bring the cloud appliance to a goal state from any of one or more prior validated states, including; identifying code change references that indicate how to access the plurality of code changes; analyzing the plurality of code changes to identify intercomponent dependencies between the plurality of software components; accessing state data for the one or more prior validated states; identifying validation code for validating that implementation of the software update package brings the cloud appliance to the goal state, the validation code identified based on the accessed state data and identified intercomponent dependencies; formulating validation code references referring to the identified validation code; and including the code change references, intercomponent dependencies, validation code references, and the goal state in the software update package; and making the software update package available so that entities running the cloud appliance can validate that implementation of the software update package brings the cloud appliance to the goal state from any of the one or more prior validated states. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
16. A method for generating a software update package for updating a cloud appliance through a multi-pass installation process having a plurality of passes, the cloud appliance running a plurality of different software components, each of the plurality of software components maintained by a different corresponding development group, the method comprising:
-
gathering a plurality of code changes for updating the cloud appliance, the plurality of code changes including one or more code changes for each of the plurality of software components, the one or more code changes for each software component having been released by a managing development group for the software component; creating a software update package for the cloud appliance, the software update package for installing the plurality of code changes through the multi-pass installation process, including identifying code change references that indicate how to access the plurality of code changes; identifying installation artifacts for each of the plurality of code changes; for each pass in the plurality of passes; for the identified installation artifacts for each of the plurality of code changes, identifying a subset of installation artifacts tailored for the pass; determining installation artifact references for the identified installation artifacts; including the code change references and the installation artifact references in the software update package, including for each pass in the plurality of passes; expressly indicating in the software update package that installation artifact references for subsets of installation artifacts tailored for the pass are to processed during the pass; making the software update package available so that entities running the cloud appliance can use multi-pass installation process to implement the software update package. - View Dependent Claims (17, 18, 19, 20)
-
Specification