IP Library Granted Patent US 11,140,032
Granted Patent B2
US 11,140,032 · App. 16/370,301 · Granted Oct 5, 2021

System and method for building idempotent configuration management modules for a cloud Infrastructure Service

Inventors: Rohit Ravindra Chaware (Bangalore, IN); Sivakumar Melapannai Thyagarajan (Bangalore, IN); Debayan Gupta (Bangalore, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L41/0823G06F9/5005H04L41/0806H04L41/0813
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,140,032
App. No.
16/370,301
Granted
Oct 5, 2021
Kind
B2
Abstract

Embodiments provide a system and method for building idempotent configuration management modules for cloud infrastructure services. Idempotency of a configuration management (CM) task in a CM plan is one of the mechanisms used to achieve repeatable and reliable automations of configuration management tasks. This helps DevOps and operations personnel reliably apply and maintain configuration of their systems.

Claims (49)

1. A method for building idempotent configuration management modules for cloud infrastructure services, the method comprising:

receiving, at a controller machine, a user request for a resource for use in the cloud infrastructure service, the user request comprising a configuration management task definition, the configuration management task definition comprising a user specification;

deriving a meta-model of a requested resource type of the requested resource to determine a set of configurable attributes of the requested resource type, wherein deriving the meta-model of the requested resource type comprises inspecting a current version of an application programming interface (API) of the requested resource, wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values;

computing a desired state of the requested resource, said computing of the desired state of the requested resource comprising merging the determined set of configuration attributes, including the required attributes, the optional attributes with static default values, and the optional attributes with dynamic default values, of the requested resource type and the configuration management task definition, including the user specification;

comparing the desired state of the requested resource against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a matching resource among the plurality of pre-existing resources, returning the matching resource.

2. The method of claim 1 , further comprising:

upon not finding a matching resource, creating a resource comprising the desired state of the resource.

3. The method of claim 1 , wherein the plurality of pre-existing resources comprises a defined set of resources.

4. The method of claim 3 , wherein the user request comprises the defined set of resources.

5. The method of claim 1 , wherein computing a desired state of the requested resource considers a configuration management task definition of the user.

6. The method of claim 1 , wherein comparing the desired state of the requested resource against the plurality of pre-existing resources in the cloud infrastructure utilizes an application programming interface of the cloud infrastructure service.

7. The method of claim 1 , wherein the user request comprises a configuration management plan, the configuration management plan comprising the requested resource.

8. A system for building idempotent configuration management modules for cloud infrastructure services, the system comprising:

a computer system having a memory and a processor; and

a configuration manager operating on said computer system, wherein the configuration manager operates to

receive, at a controller machine, a user request for a resource for use in the cloud infrastructure service, the user request comprising a configuration management task definition, the configuration management task definition comprising a user specification;

derive a meta-model of a requested resource type of the requested resource to determine a set of configurable attributes of the requested resource type, wherein deriving the meta-model of the requested resource type comprises inspecting a current version of an application programming interface (API) of the requested resource, wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values;

compute a desired state of the requested resource, said computing of the desired state of the requested resource comprising merging the determined set of configuration attributes, including the required attributes, the optional attributes with static default values, and the optional attributes with dynamic default values, of the requested resource type and the configuration management task definition, including the user specification of the requested resource type and the configuration management task definition, including the user specification;

compare the desired state of the requested resource against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a matching resource among the plurality of pre-existing resources, return the matching resource.

9. The system of claim 8 , wherein the configuration manager operating on said computer system, further operates to

upon not finding a matching resource, create a resource comprising the desired state of the resource.

10. The system of claim 8 , wherein the plurality of pre-existing resources comprises a defined set of resources.

11. The system of claim 10 , wherein the user request comprises the defined set of resources.

12. The system of claim 8 , wherein computing a desired state of the requested resource considers a configuration management task definition of the user.

13. The system of claim 8 , wherein comparing the desired state of the requested resource against the plurality of pre-existing resources in the cloud infrastructure utilizes an application programming interface of the cloud infrastructure service.

14. The system of claim 8 , wherein the user request comprises a configuration management plan, the configuration management plan comprising the requested resource.

15. A non-transitory computer readable storage medium, including instructions thereon for building idempotent configuration management modules for cloud infrastructure services, which when read and executed by one or more computers cause the one or more computers to perform the steps comprising:

receiving, at a controller machine, a user request for a resource for use in the cloud infrastructure service, the user request comprising a configuration management task definition, the configuration management task definition comprising a user specification;

deriving a meta-model of a requested resource type of the requested resource to determine a set of configurable attributes of the requested resource type, wherein deriving the meta-model of the requested resource type comprises inspecting a current version of an application programming interface (API) of the requested resource, wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values;

computing a desired state of the requested resource, said computing of the desired state of the requested resource comprising merging the determined set of configuration attributes, including the required attributes, the optional attributes with static default values, and the optional attributes with dynamic default values, of the requested resource type and the configuration management task definition, including the user specification;

comparing the desired state of the requested resource against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a matching resource among the plurality of pre-existing resources, returning the matching resource.

16. The non-transitory computer readable storage medium of claim 15 , further comprising:

upon not finding a matching resource, creating a resource comprising the desired state of the resource.

17. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of pre-existing resources comprises a defined set of resources.

18. The non-transitory computer readable storage medium of claim 17 , wherein the user request comprises the defined set of resources.

19. The non-transitory computer readable storage medium of claim 15 , wherein computing a desired state of the requested resource considers a configuration management task definition of the user.

20. The non-transitory computer readable storage medium of claim 15 , wherein comparing the desired state of the requested resource against the plurality of pre-existing resources in the cloud infrastructure utilizes an application programming interface of the cloud infrastructure service.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2019
From: CHAWARE, ROHIT RAVINDRA; THYAGARAJAN, SIVAKUMAR MELAPANNAI; GUPTA, DEBAYAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048785/0423 →
Continuity (2)
Provisional Application 62666839 · May 4, 2018
Related Publication 20190342166A1 · Nov 7, 2019