IP Library Granted Patent US 11,507,358
Granted Patent B2
US 11,507,358 · App. 17/144,589 · Granted Nov 22, 2022

Method and apparatus for change automation

Inventors: James Watt (Austin, TX); Bhaskar Todi (Indore, IN)
Assignee: Dell Products L.P.
G06F8/61G06F8/71H04L67/02H04L67/1097
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 11,507,358
App. No.
17/144,589
Granted
Nov 22, 2022
Kind
B2
Abstract

A method, comprising: receiving, by an admission controller, a deployment object associated with code that is desired to be deployed to a production system; detecting, by a first responder, whether the deployment object is associated with a change ticket and, when the deployment object is not associated with a change ticket, submitting a change ticket that is associated with the deployment object, the change ticket being submitted by the first responder; detecting, by a second responder, whether the change ticket, that is associated with the deployment object, is allowed, and, when the change ticket is allowed, authorizing a deployment of the code, the deployment being authorized by the second responder; and deploying the code to a production system when the deployment of the code has been authorized by the second responder, the code being deployed by the admission controller.

Claims (64)

1. A method, comprising:

receiving, by an admission controller, a deployment object associated with code that is desired to be deployed to a production system;

detecting, by a first responder, whether the deployment object is associated with a change ticket and, when the deployment object is not associated with a change ticket, submitting a change ticket that is associated with the deployment object, the change ticket being submitted by the first responder, wherein the first responder is executed by the admission controller, the change ticket is obtained by the first responder after the deployment object is received by the admission controller, and the submission of the change ticket is performed based on information that is retrieved by the first responder from at least one of the deployment object or a configuration map that is associated with the deployment object;

detecting, by a second responder, whether the change ticket, that is associated with the deployment object, is allowed, and, when the change ticket is allowed, authorizing a deployment of the code, the deployment being authorized by the second responder; and

deploying the code to a production system when the deployment of the code has been authorized by the second responder, the code being deployed by the admission controller.

2. The method of claim 1 , wherein the first responder and the second responder are invoked by the admission controller by using different webhooks, and the admission controller includes a process that is configured to: (i) detect a change request that is associated with the deployment object and (ii) process the deployment object by using the first responder and the second responder.

3. The method of claim 1 , wherein the admission controller includes an admission controller for a container orchestration system that is configured to force registration of deployment objects with a change management system that is used by the container orchestration system, the registration of each deployment object being forced following a submission of change request that is associated with the deployment object.

4. The method of claim 1 , further comprising, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether the change ticket is allowed after the deployment object is stored in the buffer storage; and

when the change ticket is allowed, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

5. The method of claim 1 , further comprising, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether a moratorium on code deployments is over;

in response to detecting that a moratorium is over, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

6. The method of claim 1 , further comprising, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether installation window has started;

when the installation window has started, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

7. The method of claim 1 , wherein the first responder includes a mutating responder and the second responder include a validating responder.

8. A system, comprising:

a memory; and

at least one processor operatively coupled to the memory, the at least one processor being configured to perform the operations of:

receiving, by an admission controller, a deployment object associated with code that is desired to be deployed to a production system;

detecting, by a first responder, whether the deployment object is associated with a change ticket and, when the deployment object is not associated with a change ticket, submitting a change ticket that is associated with the deployment object, the change ticket being submitted by the first responder, wherein the first responder is executed by the admission controller, the change ticket is obtained by the first responder after the deployment object is received by the admission controller, and the submission of the change ticket is performed based on information that is retrieved by the first responder from at least one of the deployment object or a configuration map that is associated with the deployment object;

detecting, by a second responder, whether the change ticket, that is associated with the deployment object, is allowed, and, when the change ticket is allowed, authorizing a deployment of the code, the deployment being authorized by the second responder; and

deploying the code to a production system when the deployment of the code has been authorized by the second responder, the code being deployed by the admission controller.

9. The system of claim 8 , wherein the first responder and the second responder are invoked by the admission controller by using different webhooks, and the admission controller includes a process that is configured to: (i) detect a change request that is associated with the deployment object and (ii) process the deployment object by using the first responder and the second responder.

10. The system of claim 8 , wherein the admission controller includes an admission controller for a container orchestration system that is configured to force registration of deployment objects with a change management system that is used by the container orchestration system, the registration of each deployment object being forced following a submission of change request that is associated with the deployment object.

11. The system of claim 8 , wherein the at least one processor is further configured to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether the change ticket is allowed after the deployment object is stored in the buffer storage; and

when the change ticket is allowed, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

12. The system of claim 8 , wherein the at least one processor is further configured to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether a moratorium on code deployments is over;

in response to detecting that a moratorium is over, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

13. The system of claim 8 , wherein the at least one processor is further configured to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, wherein putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether installation window has started;

when the installation window has started, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

14. The system of claim 8 , wherein the first responder includes a mutating responder and the second responder include a validating responder.

15. A non-transitory computer-readable medium storing one or more processor executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the operations of:

receiving, by an admission controller, a deployment object associated with code that is desired to be deployed to a production system;

detecting, by a first responder, whether the deployment object is associated with a change ticket and, when the deployment object is not associated with a change ticket, submitting a change ticket that is associated with the deployment object, the change ticket being submitted by the first responder, wherein the first responder is executed by the admission controller, the change ticket is obtained by the first responder after the deployment object is received by the admission controller, and the submission of the change ticket is performed based on information that is retrieved by the first responder from at least one of the deployment object or a configuration map that is associated with the deployment object;

detecting, by a second responder, whether the change ticket, that is associated with the deployment object, is allowed, and, when the change ticket is allowed, authorizing a deployment of the code, the deployment being authorized by the second responder; and

deploying the code to a production system when the deployment of the code has been authorized by the second responder, the code being deployed by the admission controller.

16. The non-transitory computer-readable medium of claim 15 , wherein the first responder and the second responder are invoked by the admission controller by using different webhooks, and the admission controller includes a process that is configured to: (i) detect a change request that is associated with the deployment object and (ii) process the deployment object by using the first responder and the second responder.

17. The non-transitory computer-readable medium of claim 15 , wherein the admission controller includes an admission controller for a container orchestration system that is configured to force registration of deployment objects with a change management system that is used by the container orchestration system, the registration of each deployment object being forced following a submission of change request that is associated with the deployment object.

18. The non-transitory computer-readable medium of claim 15 , wherein:

the one or more processor executable instructions further cause the at least one processor to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, and putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether the change ticket is allowed after the deployment object is stored in the buffer storage; and

when the change ticket is allowed, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

19. The non-transitory computer-readable medium of claim 15 , wherein:

the one or more processor executable instructions further cause the at least one processor to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, and putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether a moratorium on code deployments is over;

in response to detecting that a moratorium is over, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

20. The non-transitory computer-readable medium of claim 15 , wherein:

the one or more processor executable instructions further cause the at least one processor to perform the operation of, when the change ticket has not been allowed, putting the deployment object on hold by the second responder, and putting the deployment object on hold includes:

storing the deployment object in a buffer storage;

detecting whether installation window has started;

when the installation window has started, retrieving the deployment object from the buffer storage and triggering a deployment of the code to the production system by the admissions controller.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2021
From: WATT, JAMES; TODI, BHASKAR
To: DELL PRODUCTS L.P.
Reel/Frame 054900/0913 →