Consumed APIs

In the Amsterdam release, Holmes mainly depends on the APIs provided by DCAE, A&AI, DMaaP and MSB.

DCAE

Holmes uses DCAE APIs to fetch the information of the microservices that are registered to the DCAE Consul via the Config Binding Service provided by DCAE. The definition of the APIs could be found at Config Binding Service APIs.

A&AI

In order to get the correlation between different alarms with the help of the topological information provided by A&AI. Holmes needs to call the A&AI APIs. Generally, we have to query the information of VNFs, VMs and the corresponding relation between resources from different layers. The following APIs are invoked by Holmes.

  1. Query a VNF by name:

    /aai/v11/network/generic-vnfs/generic-vnf?vnf-name={vnf-name}

  2. Query a VNF by ID:

    /aai/v11/network/generic-vnfs/generic-vnf?vnf-id={vnf-id}

  3. Query a VM by name:

    /aai/v11/search/nodes-query?search-node-type=vserver&filter=vserver-name:EQUALS:{vserver-name}

  4. Query a VM by ID:

    /aai/v11/search/nodes-query?search-node-type=vserver&filter=vserver-id:EQUALS:{vserver-id}

More details could be found at A&AI APIs.

DMaaP

Holmes fetches VES data from DMaaP and publishes the control loop event back to DMaaP. The related APIs are:

  1. Subscribing:

    /events/{topic}/{consumergroup}/{consumerid}

  2. Publishing:

    /events/{topic}

More details could be found at DMaaP APIs.

MSB

MSB is a key component that Holmes depends on. Almost all communications between Holmes and other components are performed using MSB as a proxy. In order to utilize the service registration and discovery functions provided by MSB, Holmes has to register itself to MSB in advance.

Service Registration: /api/microservices/v1/services

More details could be found at MSB APIs.