Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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.

Figure 1: Control Nodes Details Tab WindowJuniper Networks control node monitoring details Hostname b6s24 IP 192.168.68.2 Version 2.20 Build 64 Node Status Up 7 days 6 hrs 11 mins Processes Control Node up 7 days 20 hrs 6 mins Ifmap Connection 192.168.68.2 Up 7 days 20 hrs 5 mins Analytics Node 192.168.68.3 Up 192.168.68.1 Analytics Messages 441669 1000.57 MB BGP Peers 4 vRouters 10 in Sync 7 subscribed CPU 0.04 percent Memory 86.76 MB Last Log July 28 2015 2:23:33 PM PDT Graphs of CPU and Memory Utilization on the right Status Introspect marked red

The following are the Sandesh modules for the Contrail control process (contrail-control) Introspect port.

  • bgp_peer.xml

  • control_node.xml

  • cpuinfo.xml

  • discovery_client_stats.xml

  • ifmap_log.xml

  • ifmap_server_show.xml

  • rtarget_group.xml

  • sandesh_trace.xml

  • sandesh_uve.xml

  • service_chaining.xml

  • static_route.xml

  • task.xml

  • xmpp_server.xml

Figure 2 shows the Controller Introspect window.

Figure 2: Controller Introspect WindowController Introspect interface for querying Contrail Networking system status with AgentXmppConnectionStatusReq.

Figure 3 shows an example of the BGP Peer (bgp_peer.xml) Introspect page.

Figure 3: BGP Peer Introspect PageContrail BGP peer interface for managing BGP configurations, with sidebar options and forms for BGP operations.

Figure 4 shows an example of the BGP Neighbor Summary Introspect page.

Figure 4: BGP Neighbor Summary Introspect PageSummary table of BGP neighbor info: Peer, Deleted status, Deletion timestamp, Peer address, Peer ID, Peer ASN, Encoding, Peer type, State, Local address, Local ID.

The following are the Sandesh modules for the Contrail vRouter agent (contrail-vrouter-agent) Introspect port.

  • agent.xml

  • agent_stats_interval.xml

  • cfg.xml

  • controller.xml

  • cpuinfo.xml

  • diag.xml

  • discovery_client_stats.xml

  • flow_stats_interval.xml

  • ifmap_agent.xml

  • kstate.xml

  • multicast.xml

  • pkt.xml

  • port_ipc.xml

  • sandesh_trace.xml

  • sandesh_uve.xml

  • services.xml

  • stats_interval.xml

  • task.xml

  • xmpp_server.xml

Figure 5 shows an example of the Agent (agent.xml) Introspect page.

Figure 5: Agent Introspect PageMonitoring page showing Contrail AgentXmppConnectionStatus with controller IPs 192.168.68.3 and 192.168.68.2. Both connections are established.