Discovery of resource clusters
A discovery application on a computing system is provided. The discovery application receives a user input, which is for discovery of resources associated with a cloud operating system of a cloud computing system. The user input includes an authentication credential and account information associated with the cloud operating system. Based on the received input, the discovery application executes a discovery pattern comprising operations for the discovery of resources. The cloud operating system includes a group of services to access such resources. At least one of the operations corresponds to an API call to an API endpoint associated with a service of the group of services. The discovery application receives a response to the API call from the cloud operating system. The response includes a payload of information associated with the resources. The discovery application updates, based on the received response, one or more configuration items in a configuration management database.
1 . A method comprising:
receiving credentials associated with a first server;
executing, based on the credentials, a sequence of operations to determine a resource associated with the first server, wherein executing the sequence of operations includes sending a request to the first server;
receiving, from the first server, a first response to the request, the first response including first information associated with the resource; and
updating, based on the first response, at least one configuration item associated with the resource, wherein updating the at least one configuration item includes: updating the at least one configuration item in a configuration management database.
2 . The method of claim 1 , wherein executing the sequence of operations includes a first application programming interface call to the first server.
3 . The method of claim 1 , wherein the credentials are secure shell (SSH) credentials.
4 . The method of claim 1 , further comprising:
providing, for display on a user device, results of discovery of the resource.
5 . The method of claim 1 , wherein the resource is a set of nodes and a set of resources managed by a resource manager, wherein subsets of the nodes are associated with subsets of the resources, and wherein the resource manager is configured to create one or more of the nodes, shut down one or more of the nodes, or scale up and scale down one or more of the nodes.
6 . The method of claim 1 , wherein the credentials are associated with a set of permissions.
7 . The method of claim 6 , wherein the set of permissions includes a set of commands that can be executed or a set of files that can be accessed during discovery.
8 . The method of claim 1 , wherein user input specifies a periodic time interval based on which the sequence of operations is re-executed.
9 . The method of claim 1 , wherein the configuration management database supports a class model including a server class, a resource cluster class, a cluster group class, a resource class, and a node class.
10 . The method of claim 9 , wherein the class model indicates that members of the resource cluster class and the node class have hosted on relationships with members of the server class.
11 . The method of claim 9 , wherein the class model indicates that members of the resource class have resources for relationships with members of the resource cluster class and members of the node class.
12 . The method of claim 1 , further comprising:
executing an initial query to the first server to confirm a presence of a cluster resource manager on the first server prior to executing the sequence of operations, wherein confirming the presence of the cluster resource manager includes executing a process-status utility command to search for running processes matching a predefined regular expression of the cluster resource manager.
13 . The method of claim 1 , wherein updating the at least one configuration item includes populating a node status field of a configuration item corresponding to a cluster node with an operational redundancy configuration architecture mapping extracted from the first server.
14 . A non-transitory computer-readable medium storing program instructions that, when executed by one or more processors of a computing system, cause the computing system to perform steps comprising:
receiving credentials associated with a first server;
executing, based on the credentials, a sequence of operations for discovery of a resource associated with the first server, wherein executing the sequence of operations includes a first application programming interface call to the first server;
receiving a first response from the first server, the first response including first information associated with the resource; and
updating, based on the first response, at least one configuration item corresponding to the resource.
15 . The non-transitory computer-readable medium of claim 14 , wherein updating the at least one configuration item includes: updating the at least one configuration item in a configuration management database.
16 . The non-transitory computer-readable medium of claim 14 , wherein the resource includes a set of nodes and a set of resources managed by a cluster resource manager, wherein subsets of the nodes are associated with subsets of the resources, and wherein the cluster resource manager is configured to create one or more of the nodes, shut down one or more of the nodes, or scale up and scale down one or more of the nodes.
17 . The non-transitory computer-readable medium of claim 16 , wherein the resources include one or more of network addresses, applications, I/O operations, databases, or disks.
18 . The non-transitory computer-readable medium of claim 14 , wherein the credentials are associated with a set of permissions.
19 . The non-transitory computer-readable medium of claim 14 , wherein user input also includes a discovery schedule that specifies a periodic time interval based on which the sequence of operations is re-executed.
20 . The non-transitory computer-readable medium of claim 15 , wherein the configuration management database supports a class model including a server class, a resource cluster class, a cluster group class, a resource class, and a node class.