IP Library Granted Patent US 11,848,818
Granted Patent B2
US 11,848,818 · App. 17/481,095 · Granted Dec 19, 2023

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,848,818
App. No.
17/481,095
Granted
Dec 19, 2023
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 (46)

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, the user request comprising a user specification;

deriving a meta-model of a resource type associated with the requested resource to determine a set of configurable attributes of the 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;

determining a desired state of the requested resource, said determining comprising merging the user specification with the derived meta-model of the resource type, said merging comprising filling in at least one of a default or optional field based upon the derived meta-model, said user specification identifying an attribute to be excluded and a subset of the set of configurable attributes to be matched;

comparing the desired state of the requested resource and the subset of the set of configurable attributes to be matched against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a pre-existing resource among the plurality of pre-existing resources that matches the subset of the configurable attributes to be matched against, returning the pre-existing resource that matches the subset of the configurable attributes to be matched against.

2. The method of claim 1 ,

wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values.

3. The method of claim 1 , further comprising:

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

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

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

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

a computer comprising one or more microprocessors;

wherein the computer performs steps comprising:

receiving, at a controller machine, a user request for a resource, the user request comprising a user specification;

deriving a meta-model of a resource type associated with the requested resource to determine a set of configurable attributes of the 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;

determining a desired state of the requested resource, said determining comprising merging the user specification with the derived meta-model of the resource type, said merging comprising filling in at least one of a default or optional field based upon the derived meta-model, said user specification identifying an attribute to be excluded and a subset of the set of configurable attributes to be matched;

comparing the desired state of the requested resource and the subset of the set of configurable attributes to be matched against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a pre-existing resource among the plurality of pre-existing resources that matches the subset of the configurable attributes to be matched against, returning the pre-existing resource that matches the subset of the configurable attributes to be matched against.

7. The system of claim 6 ,

wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values.

8. The system of claim 6 , the steps further comprising:

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

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

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

11. A non-transitory computer readable storage medium having instructions thereon for building idempotent configuration management modules for cloud infrastructure services, which when read by a computer cause the computer to perform steps comprising:

receiving, at a controller machine, a user request for a resource, the user request comprising a user specification;

deriving a meta-model of a resource type associated with the requested resource to determine a set of configurable attributes of the 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;

determining a desired state of the requested resource, said determining comprising merging the user specification with the derived meta-model of the resource type, said merging comprising filling in at least one of a default or optional field based upon the derived meta-model, said user specification identifying an attribute to be excluded and a subset of the set of configurable attributes to be matched;

comparing the desired state of the requested resource and the subset of the set of configurable attributes to be matched against a plurality of pre-existing resources in the cloud infrastructure service; and

upon finding a pre-existing resource among the plurality of pre-existing resources that matches the subset of the configurable attributes to be matched against, returning the pre-existing resource that matches the subset of the configurable attributes to be matched against.

12. The non-transitory computer readable storage medium of claim 11 ,

wherein the determined set of configurable attributes comprises:

required attributes,

optional attributes with static default values, and

optional attributes with dynamic default values.

13. The non-transitory computer readable storage medium of claim 11 , further comprising:

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

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: CHAWARE, ROHIT RAVINDRA; THYAGARAJAN, SIVAKUMAR MELAPANNAI; GUPTA, DEBAYAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 057551/0320 →
Continuity (3)
Continuation 16370301 · Mar 29, 2019
Provisional Application 62666839 · May 4, 2018
Related Publication 20220006698A1 · Jan 6, 2022