Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
cPCE Deployment Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Debug cPCE and cPCEP Adaptor

date_range 09-Jan-24

Troubleshooting is a systematic approach to solving a problem. The goal of troubleshooting is to determine why something does not work as expected and how to resolve the problem.

Troubleshooting Container

You can implement various docker commands to monitor and troubleshoot issues at container level when cPCE is deployed as a docker container.

  • docker ps: List out active containers and their state.

  • docker stats: Continuous monitor the resource utilization.

  • docker logs: Extract container logs in case the container terminates unexpectedly.

  • docker stop: Stop the Docker from the current state.

  • docker start: Restart the Docker container.

Verify Docker

To verify docker details:
  1. Verify the installed Docker Engine version by using the docker version command.

    root@ubuntu-vm18:~# docker version

    content_copy zoom_out_map
    Client: Docker Engine - Community
     Version:           24.0.2
     API version:       1.43
     Go version:        go1.20.4
     Git commit:        cb74dfc
     Built:             Thu May 25 21:52:13 2023
     OS/Arch:           linux/amd64
     Context:           default
    
    Server: Docker Engine - Community
     Engine:
      Version:          24.0.2
      API version:      1.43 (minimum version 1.12)
      Go version:       go1.20.4
      Git commit:       659604f
      Built:            Thu May 25 21:52:13 2023
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.21
      GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
     runc:
      Version:          1.1.7
      GitCommit:        v1.1.7-0-g860f061
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
  2. View the software and hardware information in the system.

    root@ubuntu-vm18:~# uname -a

    content_copy zoom_out_map
    Linux ubuntu18-04-3 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  3. View the version of ubuntu.

    root@ubuntu-vm18:~# lsb_release -a

    content_copy zoom_out_map
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description:    Ubuntu 18.04.3 LTS
    Release:        18.04
    Codename:       bionic

Verify Reachability of cPCE Bash Shell

To access the cRPD using bash shell:
  1. Run the command to launch the Junos shell.

    root@ubuntu-vm18:~# docker exec -it cRPD-cpce bash

  2. Run the command to ping the host ubuntu VM from cPCE.

    root@cRPD-cpce:/# ping 172.17.0.1 -c 2

    content_copy zoom_out_map
    PING 172.17.0.1 (172.17.0.1) 56(84) bytes of data.
    64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.166 ms
    64 bytes from 172.17.0.1: icmp_seq=2 ttl=64 time=0.093 ms
    --- 172.17.0.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1007ms
    rtt min/avg/max/mdev = 0.093/0.129/0.166/0.036 ms

Verify Sample outputs from cPCE

  1. Verify route details.

    root@cRPD-cpce> show route

    content_copy zoom_out_map
    inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
    + = Active Route, - = Last Active, * = Both
    
    0.0.0.0/0          *[Static/5] 00:59:38
                        >  to 172.17.0.1 via eth0
    172.17.0.0/16      *[Direct/0] 00:59:39
                        >  via eth0
    172.17.0.2/32      *[Local/0] 00:59:39
                           Local via eth0
  2. Verify interfaces.

    root@cRPD-cpce> show interfaces terse

    content_copy zoom_out_map
    Interface@link   Oper State     Addresses
    erspan0@NONE     DOWN
    eth0@if6         UP             172.17.0.2/16 fe80::42:acff:fe11:2/64
    gre0@NONE        UNKNOWN
    gretap0@NONE     DOWN
    ip6tnl0@NONE     UNKNOWN        fe80::a8bf:23ff:fee3:a267/64
    irb              UNKNOWN        fe80::9c50:5bff:fe2a:fdb3/64
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    lo0.0            UNKNOWN        fe80::50c3:f7ff:fe7e:8ab6/64
    lsi              UNKNOWN        fe80::9090:eff:fe81:7b7b/64
    sit0@NONE        UNKNOWN        ::172.17.0.2/96 ::127.0.0.1/96
    tunl0@NONE       UNKNOWN
  3. Run the command to start shell mode.

    root@cRPD-cpce> start shell

  4. Run the command to ping R1 from cPCE.

    root@cRPD-cpce# ping 10.1.255.1 -c 2

    content_copy zoom_out_map
    PING 10.1.255.1 (10.1.255.1) 56(84) bytes of data.
    64 bytes from 10.1.255.1: icmp_seq=1 ttl=63 time=1.33 ms
    64 bytes from 10.1.255.1: icmp_seq=2 ttl=63 time=0.975 ms

Verify Reachability from R1

  1. Configure host device to connect to R1.

    root@ubuntu-vm18:~# ip link

    content_copy zoom_out_map
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
        link/ether 54:04:0a:31:b0:fe brd ff:ff:ff:ff:ff:ff
    3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
        link/ether 56:04:08:00:fb:87 brd ff:ff:ff:ff:ff:ff
    4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default 
        link/ether 02:42:09:4f:c5:c2 brd ff:ff:ff:ff:ff:ff

    root@ubuntu-vm18:~# ip addr add 10.1.1.2/30 dev eth1

    root@ubuntu-vm18:~# ip link set eth1 up

    root@ubuntu-vm18:~# ip route add 10.1.0.0/16 via 10.1.1.1

    root@ubuntu-vm18:~# ip route

    content_copy zoom_out_map
    default via 10.49.191.254 dev eth0 proto dhcp src 10.49.176.254 metric 100 
    10.1.0.0/16 via 10.1.1.1 dev eth1 
    10.1.1.0/30 dev eth1 proto kernel scope link src 10.1.1.2 
    10.49.160.0/19 dev eth0 proto kernel scope link src 10.49.176.254 
    10.49.191.254 dev eth0 proto dhcp scope link src 10.49.176.254 metric 100 
    172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
  2. Ping R1 from host device.

    root@ubuntu-vm18:~# ping 10.1.1.1 -c 2

    content_copy zoom_out_map
    PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
    64 bytes from 10.1.1.1: icmp_seq=1 ttl=64 time=1.04 ms
    64 bytes from 10.1.1.1: icmp_seq=2 ttl=64 time=2.02 ms
    
    --- 10.1.1.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 1.047/1.535/2.023/0.488 ms
    

Verify Sample Outputs from cPCEPAdaptor

  1. Start shell mode on Adaptor.

    root@CPCE1-pcepAdaptor> start shell

    root@CPCE1-pcepAdaptor# ifconfig

    content_copy zoom_out_map
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.17.0.3  netmask 255.255.0.0  broadcast 172.17.255.255
            ether 02:42:ac:11:00:03  txqueuelen 0  (Ethernet)
            RX packets 11767  bytes 816903 (816.9 KB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 10957  bytes 867427 (867.4 KB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            loop  txqueuelen 1000  (Local Loopback)
            RX packets 155010  bytes 15506032 (15.5 MB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 155010  bytes 15506032 (15.5 MB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  2. Ping cPCE from Adaptor.

    root@CPCE1-pcepAdaptor# ping 172.17.0.2 -c 2

    content_copy zoom_out_map
    PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
    64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=6.04 ms
    64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.086 ms
    
    --- 172.17.0.2 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.086/3.062/6.038/2.976 ms
  3. Ping Ubuntu host VM from Adaptor.

    root@CPCE1-pcepAdaptor# ping 172.17.0.1 -c 2

    content_copy zoom_out_map
    PING 172.17.0.1 (172.17.0.1) 56(84) bytes of data.
    64 bytes from 172.17.0.1: icmp_seq=1 ttl=64 time=0.076 ms
    64 bytes from 172.17.0.1: icmp_seq=2 ttl=64 time=0.183 ms
    
    --- 172.17.0.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1013ms
    rtt min/avg/max/mdev = 0.076/0.129/0.183/0.053 ms
  4. Ping Router R1 from Adaptor.

    root@CPCE1-pcepAdaptor# ping 10.1.255.1 -c 2

    content_copy zoom_out_map
    PING 10.1.255.1 (10.1.255.1) 56(84) bytes of data.
    64 bytes from 10.1.255.1: icmp_seq=1 ttl=63 time=0.993 ms
    64 bytes from 10.1.255.1: icmp_seq=2 ttl=63 time=1.03 ms
    
    --- 10.1.255.1 ping statistics ---
    2 packets transmitted, 2 received, 0% packet loss, time 1001ms
    rtt min/avg/max/mdev = 0.993/1.013/1.033/0.020 ms
    

Verify Sample Outputs from R1

  1. Verify that the LSP is up.

    root@R1> show mpls lsp ingress

    content_copy zoom_out_map
    Ingress LSP: 1 sessions
    To              From            State Rt P     ActivePath       LSPname
    10.1.255.2      10.1.255.1      Up     0 *                      to-R2
    Total 1 displayed, Up 1, Down 0
  2. Verify OSPF neighbor.

    root@R1> show ospf neighbor

    content_copy zoom_out_map
    Address          Interface              State           ID               Pri  Dead
    10.1.12.2        ge-0/0/1.0             Full            10.1.255.2       128    31
  3. Verify BGP summary.

    root@R1> show bgp summary

    content_copy zoom_out_map
    Threading mode: BGP I/O
    Default eBGP mode: advertise - accept, receive - accept
    Groups: 1 Peers: 1 Down peers: 0
    Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
    lsdist.0             
                           0          0          0          0          0          0
    Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
    172.17.0.2            65000         91         96       0       0       39:17 Establ
      lsdist.0: 0/0/0/0

View Trace Files

  1. Configure the gRPC trace options.

    root@CPCE1-pce# set system services extension-service traceoptions file grpc.log

    root@CPCE1-pce# set system services extension-service traceoptions flag all

  2. Configure the programmable RPD trace options.

    root@CPCE1-pce# set routing-options programmable-rpd traceoptions file grpc-server.log

    root@CPCE1-pce# set routing-options programmable-rpd traceoptions flag te-path-compute

  3. Configure bgp trace options.

    root@CPCE1-pce# set protocols bgp traceoptions file bgp.log

    root@CPCE1-pce# set protocols bgp traceoptions file size 1m

    root@CPCE1-pce# set protocols bgp traceoptions file world-readable

    root@CPCE1-pce# set protocols bgp traceoptions flag all

  4. Configure mpls trace options.

    root@CPCE1-pce# set protocols mpls traceoptions file extctrl.log

    root@CPCE1-pce# set protocols mpls traceoptions file size 1m

    root@CPCE1-pce# set protocols mpls traceoptions file world-readable

    root@CPCE1-pce# set protocols mpls traceoptions flag externally-controlled-lsp

    root@CPCE1-pce# set protocols mpls traceoptions flag all

Restart cPCEPAdaptor

Specify the command to restart if the pcepAdaptor gets disconnected.

root@CPCE1-pcepAdaptor# run restart pceserver

content_copy zoom_out_map
Pce Server Daemon started, pid 24564
footer-navigation