Support Support Downloads Knowledge Base Case Manager My Juniper Community

Knowledge Base

Search our Knowledge Base sites to find answers to your questions.

Ask All Knowledge Base Sites All Knowledge Base Sites JunosE Defect (KA)Knowledge BaseSecurity AdvisoriesTechnical BulletinsTechnotes Sign in to display secure content and recently viewed articles

[Contrail] Description of Contrail processes and their roles

0

0

Article ID: KB30909 KB Last Updated: 21 Apr 2017Version: 2.0
Summary:

Contrail cloud management processes can be divided into different logical roles like configuration, database management, control, analytics, and so forth. Each role consists of a bundle of services doing specific functions. This article provides a brief overview of each service.

Symptoms:

 This article will describe the different Contrail services that run on each type of node.

Solution:

Here are some of the different Contrail services that run on each type of node. 

Contrail vRouter
Contrail Control
Contrail Analytics
Contrail Config
Contrail Web UI
Contrail Database
Contrail Support Services

Contrail vRouter

Vrouter agent introspect page:

http://<ip-address-of-vrouter>:8085/

Analytics report on any vrouter:

http://<analytics-node-ip>:8081/analytics/uves/vrouter/<vrouter-name>?flat 
  1. supervisor-vrouter: Monitors all other vrouter process and restarts them if they are stopped

  2. contrail-vrouter-agent: Vrouter agent connects to the contrail controller and contrail dns through xmpp channel. 

  3. contrail-vrouter-nodemgr: Collects vrouter process status, process info and  reports it to contrail collector          

Logs

Crash logs for the vrouter-agent are stored in /var/crashes

  • /var/log/contrail/contrail-vrouter-agent.log for troubleshooting vrouter agent issues

  • /var/log/contrail/vrouter-nodemgr-stderr.log and /var/log/contrail/contrail-vrouter-nodemgr-stdout.log for node manager related issues.

Back to top.

Contrail Control

Analytics report for any control node:

http://<controller-ip>:8081/analytics/uves/control-node/oblocknode04?flat 

Controller introspect page:

http://<controller-ip>:8083/
  • supervisor-control: Monitors all other Contrail controller processes and restarts them if they are stopped.
  • contrail-control: Accepts XMPP connections from vrouter nodes. If the deployment has more than one controller, each vrouter node connects to two Contrail controller nodes running contrail-control process. The controller selection process is handled by the discovery process.  Controller also connects to ifmap server on port 8443 to receive config updates.

  • contrail-control-nodemgr: Collects Contrail controller process info, status and reports to Contrail collector.
  • contrail-dns: Provides DNS service to the VMs spawned on different compute nodes. It uses Bind.  If the deployment has more than one controller, each vrouter node connects to two Contrail controller nodes running contrail-dns process. The controller selection process is handled by discovery process.     

  • contrail-named: Complements Contrail-dns process.

Logs:

  • Contrail-control logs:/var/log/contrail/contrail-control.log, /var/log/contrail/contrail-control-stdout.log
  • Contrail-dns logs: /var/log/contrail/contrail-dns.log, /var/log/contrail/contrail-dns-stdout.log

  • Contrail-named logs: /var/log/contrail/contrail-named.log, /var/log/contrail/contrail-named-stdout.log

Back to top

Contrail Analytics

Analytics Introspect port:

http://<controller IP>:8089/

Contrail Query Engine introspect port:

http://10.85.23.9:8091/

Query Contrail API server:

http://<controller-ip>:8081/analytics   

Use the above link to fetch data from the analytics database: UVE info, virtual networks info (http://localhost:8081/analytics/uves/virtual-networks).

Note: You should install the JSON plugin in the browser, else the output will not be formatted correctly.

  1. supervisor-analytics: Monitors all other Contrail analytics process and restarts them if they are stopped.
  2. contrail-analytics-api: Provides rest interface to interact with the analytics database (Cassandra database).

  3. contrail-analytics-nodemgr: Collects all Contrail analytics process info, status and reports to Contrail collector.

  4. contrail-collector:  Collects the running state of different process sent by other nodes.

  5. contrail-query-engine: Handles the queries to access data from Cassandra database.

  6. contrail-snmp-collector: The SNMP collector module receives the authorizations and configurations of the physical routers from the contrail-config module, polls all of the physical routers, using SNMP protocol, then uploads the data to the Contrail analytics collectors. The SNMP information is stored in the physical Router UVEs (User Visible Entities, used by analytics to store information).

  7. contrail-topology:The Contrail topology module reads SNMP information from the physical Router UVEs from the analytics API, computes the neighbor list, and writes the neighbor information into the physical Router UVEs. This neighbor list is used by the Contrail WebUI to display the physical topology.           

Note: More on physical router (prouter) data collection can be found here: Underlay Overlay Mapping in Contrail.

Logs:

  • Contrail Analytics API logs: /var/log/contrail/contrail-analytics-api.log, /var/log/contrail/contrail-analytics-api-stdout.log  
    Note: Enabling SYS_DEBUG as the log_level in /etc/contrail/contrail-analytics-api.conf can provide detailed log. Restart service for the changes to take effect (service supervisor-analytics restart).
  • Contrail Collector logs: /var/log/contrail/contrail-collector.log, /var/log/contrail/contrail-collector-stdout.log
    Note: Enabling SYS_DEBUG as the log_level in /etc/contrail/contrail-collector.conf can provide detailed log. Restart service for the changes to take effect (service supervisor-analytics restart).

  • Redis server logs in /var/log/redis/redis-server.log
    Note: Redis server is used for UVE storage (it serves as a cache server) and also as a message bus for event notifications. Enabling loglevel to verbose/debug  in /etc/redis/redis.conf can provide more detailed log. Restart service for the changes to take effect (service supervisor-analytics restart)
  • Contrail Query Engine logs: /var/log/contrail/contrail-query-engine.log,  /var/log/contrail/contrail-query-engine-stdout.log
    Note: Enabling SYS_DEBUG as the log_level in /etc/contrail/contrail-query-engine.conf can provide detailed log. Restart service for the changes to take effect (service supervisor-analytics restart).

  • Contrail SNMP collector logs: /var/log/contrail/contrail-snmp-collector.log, /var/log/contrail/contrail-snmp-collector-stdout.log
    Note: Enabling SYS_DEBUG as the log_level in /etc/contrail/contrail-snmp-collector.conf can provide detailed log. Restart service for the changes to take effect (service supervisor-analytics restart).
  • Contrail topology logs: /var/log/contrail/contrail-topology.log, /var/log/contrail/contrail-topology-stdout.log

  • Contrail analytics nodemanager logs:  /var/log/contrail/contrail-analytics-nodemgr-stderr.log, /var/log/contrail/contrail-analytics-nodemgr-stdout.log 

Back to top

Contrail Config

  1. supervisor-config: Monitors all other Contrail config process and restarts them if they are stopped.
  2. contrail-api: Provides northbound REST interface for orchestration program to configure the system. API server interacts with ifmap server to update the config; it also reads and writes information into Cassandra database for any new network object creation or update.

  3. contrail-config-nodemgr: Collects all Contrail config process info, status and reports to Contrail collector.

  4. contrail-device-manager: The device manager daemon monitors configuration events from the API server, creating any necessary configurations for all physical routers it is managing, and programs those physical routers. The physical routers are configured to be part of any of the virtual networks configured in the Contrail cluster, facilitating communication between the physical routers and the Contrail control nodes. Contrail policy configurations can be used to control this communication. If more than one instance is running, the service has only one active instance and the other instances are backup.

  5. contrail-discovery: All the other services like ifmap server, contrail-api server, contrail-dns, contrail-control subscribe themselves to the discovery process. A typical Contrail multinode deployment will have multiple instances of these services running on different physical nodes. The discovery process maintains a list of these services and their instances. Any service that must communicate with another service first communicates to the discovery process, which will point it to that service instance. The states of various services registered with the discovery process can be access from the following link:

    http://<controller-ip>:5998/services
  6. contrail-schema: The Contrail schema process does the low level configuration. For example, when a user creates a virtual network, the schema transformer receives the notification through the rabbitmq bus. It will contact the contrail-api server to fetch the details. It will then create a routing instance, a route target for that virtual network so the user does not have to create it manually. Contrail-schema itself does not create the objects; instead, it interacts with the contrail-api server to have these objects created. The api-server writes them to the Cassandra database. If more than one instance is running, the service has only one active instance and other instances are backup.

  7. contrail-svc-monitor: Service monitor brings up and monitors any service instance that are spawned. If more than one instance is running, the service has only one active instance and other instances are backup. 

  8. ifmap: Serves as an interface for other services like contrail-control to fetch configuration data. Contrail-api server is responsible for writing data into the ifmap server. It reads it from Cassandra database.

Logs:

  • Contrail discovery logs: /var/log/contrail/contrail-discovery-0-stdout.log, /var/log/contrail/discovery.log
  • Contrail device manager logs:/var/log/contrail/contrail-device-manager.log, /var/log/contrail/contrail-device-manager-stdout.log  , /var/log/contrail/device-manager-zk.log

Note: Enabling SYS_DEBUG as the log_level in /etc/contrail/contrail-device-manager.conf will increase debugging level. It would need a restart of services (service supervisor-config restart).

  • Contrail config node manager logs: /var/log/contrail/contrail-config-nodemgr-stderr.log, /var/log/contrail/contrail-config-nodemgr-stdout.log

Back to top

Contrail Web UI

  1. supervisor-webui: Monitors all other Contrail web UI process and restarts them if they are stopped.

  2. contrail-webui: Provides the WebUI service to end user. The WebUI is accessible at

    http://<webUI node IP>:8080 or https://<webUI IP>:8143

  3. contrail-webui-middleware: It handles jobs from the WebUI service and contacts other contrail services to execute them.

 

Logs

  • Contrail WebUI logs: /var/log/contrail/contrail-webui-stdout.log 
  • Contrail WebUI middleware logs: /var/log/contrail/contrail-webui-middleware-stdout.log 

 

Back to top

Contrail Database

  1. supervisor-database: Monitors all other Contrail database process and restarts them if they are stopped
  2. contrail-database: Contrail uses Cassandra DB as its system DB. The config, system logs, process and module messages and flow level data are stored in different keyspaces within Cassandra. Cassandra listens on port 9160.

  3. contrail-database-nodemgr: Collects all Contrail database process info, status and reports to contrail collector

Logs:

  • Database logs: /var/log/cassandra/system.log - for the general cassandra process, repair-<keyspace>.log- individual logs from nodetool repair logs, gc-<timestamp-in-epoch>.log - garbage collection logs. CLI commands like nodetool status, nodetool netstats, nodetool tpstats can be used to display different statistics.
  • Contrail database nodemanager logs: /var/log/contrail/contrail-database-nodemgr-stderr.log, /var/log/contrail/contrail-database-nodemgr-stdout.log 

 

Back to top

Contrail Support Services

  1. 1) supervisor-support-service: Monitors all other Contrail support process and restarts them if they are stopped.
  2. 2) rabbitmq-server: The message bus that different Contrail process subscribe to.  Default rabbitmq port is 5672.  

Logs:

Rabbitmq logs are located at /var/log/rabbitmq/.

Back to top

Comment on this article > Affected Products Browse the Knowledge Base for more articles related to these product categories. Select a category to begin.

Getting Up and Running with Junos

Getting Up and Running with Junos Security Alerts and Vulnerabilities Product Alerts and Software Release Notices Problem Report (PR) Search Tool EOL Notices and Bulletins JTAC User Guide Customer Care User Guide Pathfinder SRX High Availability Configurator SRX VPN Configurator Training Courses and Videos End User Licence Agreement Global Search