IP Library › Granted Patent US 10,649,834
Granted Patent B2
US 10,649,834 · App. 15/820,291 · Granted May 12, 2020

Distributed product deployment validation

Inventors: Raghavendra Rao Dhayapule (Bangalore, IN); Natesh H. Mariyappa (Bangalore, IN); Srinivas R. Mangi (Bangalore, IN); Patrick A. Dass (Bangalore, IN)
G06F11/079G06F11/0709G06F11/0751G06F11/0793
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,649,834
App. No.
15/820,291
Granted
May 12, 2020
Kind
B2
Abstract

In deploying a system in a computing environment, before deployment, a deployment engine performs a pre-deployment validation of the system using pre-determined system requirements. When the pre-deployment validation of the system fails, the deployment of the system is terminated. When the pre-deployment validation of the system succeeds, the deployment engine performs the following for each artifact of the system. Before deployment of a given artifact of the system, a pre-deployment validation of the given artifact is performed using pre-determined artifact properties. When the pre-deployment validation of the given artifact fails, the deployment of the system is terminated. When the pre-deployment validation of the given artifact succeeds, the given artifact is deployed. After the deployment of the given artifact, a post-deployment validation of the given artifact is performed using deployment data for the given artifact.

Claims (99)

1. A computer program product for validating a deployment of a system in a computing environment, the system comprising a plurality of components, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by one or more processors cause the one or more processors to:

before deployment of the system, perform a pre-deployment validation of the system using pre-determined system requirements;

when the pre-deployment validation of the system fails, terminate the deployment of the system;

when the pre-deployment validation of the system succeeds, perform a pre-deployment validation and a post-deployment validation for a given component of the plurality of components of the system, comprising:

before deployment of the given component, perform the pre-deployment validation of the given component using pre-determined properties for the given component;

when the pre-deployment validation of the given component fails, terminate the deployment of the system;

when the pre-deployment validation of the given component succeeds, deploy the given component;

immediately after the deployment of the given component, perform a post-deployment validation of the given component using deployment data for the given component;

when the post-deployment validation of the given component fails, terminate the deployment of the system; and

when the post-deployment validation of the given component succeeds, repeat the performance of the pre-deployment validation, and the post-deployment validation for a next given component of the plurality of components of the system; and

when the pre-deployment validation and the post-deployment validation of each of the plurality of components succeeds, perform a post-deployment validation of the system using values of one or more properties in the computing environment.

2. The computer program product of claim 1 , wherein the one or more processors are further caused to:

when the post-deployment validation of the system fails, terminate the deployment of the system.

3. The computer program product of claim 1 , wherein for each of the pre-determined system requirements, the pre-deployment validation of the system comprises:

determine whether the system satisfies a given predetermined system requirement;

when the system does not satisfy the given predetermined system requirement, determine whether a fixing method corresponding to an error associated with the given predetermined system requirement is available;

when the fixing method corresponding to the error is not available, return a failure for the pre-deployment validation of the system;

when the fixing method corresponding to the error is available, execute the fixing, method; and

when the system either satisfies or fixes errors for each of the given predetermined system requirements, return a success for the pre-deployment validation of the system.

4. The computer program product of claim 1 , wherein for each of the pre-determined properties for the given component, the pre-deployment validation of the given component comprises:

compare a value of a given property supplied by the given component with a value in the pre-determined properties for the given component;

when the value of the given property is different from the value in the pre-determined properties, determine whether a fixing method corresponding to an error associated with the given property is available;

when the fixing method corresponding to the error associated with the given property is not available, return a failure for the pre-deployment validation of the given component;

when the fixing method corresponding to the error is available, execute the fixing method; and

when the given component either satisfies or fixes errors for each of the given pre-determined properties for the given component, return a success for the pre-deployment validation of the given component.

5. The computer program product of claim 1 , wherein for each of the pre-determined properties for the given component, the post-deployment validation of the given component comprises:

compare a value of a given property supplied by the given component with a value in the pre-determined properties for the given component;

when the value of the given property is different from the value in the pre-determined properties, determine whether a fixing method corresponding to an error associated with the given property is available;

when the fixing method corresponding to the error associated with the given property is not available, return a failure for the post-deployment validation of the given component;

when the fixing method corresponding to the error is available, execute the fixing method; and

when the given component either satisfies or fixes errors for each of the given pre-determined properties for the given component, return a success for the post-deployment validation of the given component.

6. The computer program product of claim 1 , wherein the one or more processors are further caused to:

when the post-deployment validation, of the system fails, perform a deployment rollback, comprising:

retrieve a snapshot of a deployment repository for the computing environment captured prior to the deployment of the system;

restore the computing environment according to the snapshot; and

perform the post-deployment validation of the system using the snapshot of the deployment, repository.

7. The computer program product of claim 1 , wherein the one or more processors are further caused to:

determine that one or more incremental updates for one or more of the plurality of components are to be deployed in the system;

perform a pre-deployment validation and a post-deployment validation for the one or more incremental updates for the one or more of the plurality of components, comprising:

before deployment of a given incremental update for the given component, perform the pre-deployment validation of the given component using incremental update requirements for the given incremental update;

when the pre-deployment validation of the given component fails, terminate the deployment of the one or more incremental updates;

when the pre-deployment validation of the given component succeeds, update the given component according to the given incremental update and deploy the updated given component;

immediately after the deployment of the updated given component, perform the post-validation of the updated given component using deployment data for the updated given component; and

when the post-deployment validation of the updated given component fails, terminate the deployment of the one or more incremental updates.

8. The computer program product of claim 7 , wherein the one or more processors are further caused to:

when the post-deployment validation of the updated given component fails, further perform an incremental deployment rollback, comprising:

retrieve a snapshot of a deployment repository for the computing environment captured prior to the deployment of the given incremental update;

restore the computing environment according to the snapshot; and

perform the post-deployment validation of the system using the snapshot of the deployment repository.

9. A system, comprising:

a computer readable storage medium having program instructions embodied therewith for validating a deployment of a computing system in a computing environment, the computing system comprising a plurality of components, the program instructions executable by one or more processors cause the one or more processors to:

before deployment of the computing system, perform a pre-deployment validation of the computing system using pre-determined system requirements;

when the pre-deployment validation of the computing system fails, terminate the deployment of the computing system;

when the pre-deployment validation of the computing system succeeds, perform a pre deployment validation and a post-deployment validation for a given component of the plurality of components of the computing system, comprising:

before deployment of the given component, perform the pre-deployment validation of the given component using pre-determined properties for the given component;

when the pre-deployment validation of the given component fails, terminate the deployment of the computing system;

when the pre-deployment validation of the given component succeeds, deploy the given component;

immediately after the deployment of the given component, perform a post-deployment validation of the given component using deployment data for the given component;

when the post-deployment validation of the given component fails, terminate the deployment of the computing system; and

when the post-deployment validation of the given component succeeds, repeat the performance of the pre-deployment validation and the post-deployment validation for a next given component of the plurality of components of the system; and

when the pre-deployment validation and the post-deployment validation of each of the plurality of components succeeds, perform a post-deployment validation of the system using values of one or more properties in the computing environment.

10. The system of claim 9 , wherein the one or more processors are further caused to:

when the post-deployment validation of the computing system fails, terminate the deployment of the computing system.

11. The system of claim 9 , wherein for each of the pre-determined system requirements, the pre-deployment validation of the computing system comprises:

determine whether the computing system satisfies a given predetermined system requirement;

when the system does not satisfy the given predetermined system requirement, determine whether a fixing method corresponding to an error associated with the given predetermined system requirement is available;

when the fixing method corresponding to the error is not available, return a failure for the pre-deployment validation of the computing system;

when the fixing method corresponding to the error is available, execute the fixing method; and

when the computing system either satisfies or fixes errors for each of the given predetermined system requirements, return a success for the pre-deployment validation of the computing system.

12. The system of claim 9 , wherein for each of the pre-determined properties for the given component, the pre-deployment validation of the given component comprises:

compare a value of a given property supplied by the given component with a value in the pre-determined properties for the given component;

when the value of the given property is different from the value in the pre-determined properties, determine whether a fixing method corresponding to an error associated with the given property is available;

when the fixing method corresponding to the error associated with the given property is not available, return a failure for the pre-deployment validation of the given component;

when the fixing method corresponding to the error is available, execute the fixing method; and

when the given component either satisfies or fixes errors for each of the given pre-determined properties for the given component, return a success for the pre-deployment validation of the given component.

13. The system of claim 9 , wherein for each of the pre-determined properties for the given component, the post-deployment validation of the given component comprises:

compare a value of a given property supplied by the given component with a value in the pre-determined properties for the given component;

when the value of the given property is different from the value in the pre-determined properties, determine whether a fixing method corresponding to an error associated with the given property is available;

when the fixing method corresponding to the error associated with the given property is not available, return a failure for the post-deployment validation of the given component;

when the fixing method corresponding to the error is available, execute the fixing method; and

when the given component either satisfies or fixes errors for each of the given pre-determined properties for the given component, return a success for the post-deployment validation of the given component.

14. The system of claim 9 , wherein the one or more processors are further caused to:

when the post-deployment validation of the system fails, perform a deployment rollback, comprising:

retrieve a snapshot of a deployment repository for the computing environment captured prior to the deployment of the system;

restore the computing environment according to the snapshot; and

perform the post-deployment validation of the system using the snapshot of the deployment repository.

15. The system of claim 9 , wherein the one or more processors are further caused to:

determine that one or more incremental updates for one or more of the plurality of components are to be deployed in the system;

perform a pre-deployment validation and a post-deployment validation for the one or more incremental updates for the one or more of the plurality of components, comprising:

before deployment of a given incremental update for the given component, perform the pre-deployment validation of the given component using incremental update requirements for the given incremental update;

when the pre-deployment validation of the given component fails, terminate the deployment of the one or more incremental updates;

when the pre-deployment validation of the given component succeeds, update the given component according to the given incremental update and deploy the updated given component;

immediately after the deployment of the updated given component, perform the post-validation of the updated given component using deployment data for the updated given component; and

when the post-deployment validation of the updated given component fails, terminate the deployment of the one or more incremental updates.

16. The system of claim 15 , wherein the one or more processors are further caused to:

when the post-deployment validation of the updated given component fails, further perform an incremental deployment rollback, comprising:

retrieve a snapshot of a deployment repository for the computing environment captured prior to the deployment of the given incremental update;

restore the computing environment according to the snapshot; and

perform the post-deployment validation of the system using the snapshot of the deployment repository.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: DHAYAPULE, RAGHAVENDRA RAO; MARIYAPPA, NATESH H.; MANGI, SRINIVAS R.; DASS1, PATRICK A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044798/0853 →
Continuity (1)
Related Publication 20190155674A1 · May 23, 2019
Cited By (4)
US 12,417,085 US 12,418,539 US 12,494,901 US 12,726,365