Debugging Processes Using the Contrail Introspect Feature
This topic describes how to use the Sandesh infrastructure and the Contrail Introspect feature to debug processes.
Introspect is a mechanism for taking a program object and querying information about it.
Sandesh is the name of a unified infrastructure in the Contrail Virtual Networking solution.
Sandesh is a way for the Contrail daemons to provide a request-response mechanism. Requests and responses are defined in Sandesh format and the Sandesh compiler generates code to process the requests and send responses.
Sandesh also provides a way to use a Web browser to send Sandesh requests to a Contrail daemon and get the Sandesh responses. This feature is used to debug processes by looking into the operational status of the daemons.
Each Contrail daemon starts an HTTP server, with the following page types:
The main index.html listing all Sandesh modules and the links to them.
Sandesh module pages that present HTML forms for each Sandesh request.
XML-based dynamically-generated pages that display Sandesh responses.
An automatically generated page that shows all code needed for rendering and all HTTP server-client interactions.
You can display the HTTP introspect of a Contrail daemon directly by accessing the following Introspect ports:
<controller-ip>:8083. This port displays the contrail-control introspect port.
<compute-ip>:8085 This port displays the contrail-vrouter-agent introspect port.
Another way to launch the Introspect page is by browsing to a particular node page using the Contrail Web user interface.
Figure 1 shows the contrail-control infrastructure page. Notice the Introspect link at the bottom of the Control Nodes Details tab window.
The following are the Sandesh modules for the Contrail control process (contrail-control) Introspect port.
Figure 2 shows the Controller Introspect window.
Figure 3 shows an example of the BGP Peer (bgp_peer.xml) Introspect page.
Figure 4 shows an example of the BGP Neighbor Summary Introspect page.
The following are the Sandesh modules for the Contrail
vRouter agent (
contrail-vrouter-agent) Introspect port.
Figure 5 shows an example of the Agent (agent.xml) Introspect page.