Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation
Guide That Contains This Content
[+] Expand All
[-] Collapse All

    Basic Requirements of Operational Scripts

    For operational (op) scripts, the context is a required argument because a context is transmitted to the script, when the script is run from troubleshooting operation. The format of the argument to be pushed to the script is as follows:

    var $arguments = { 
       <argument> { 
          <name> "CONTEXT"; 
          <description> "The CONTEXT."; 
       } 
    } 
    var $CONTEXT; 
    
    
    

    The context has parameters based on the service type, which needs to be parsed to use the parameters.

    The following is an example of a P2P LDP service context:

    Context: /device[name=”deviceName”]/configuration/protocols/l2circuit/neighbor[name=”neighbor IP”]/interface[name=”interfaceName.unitID”]

    The code in op script to parse the context is as follows:

    var $tempContext = str:replace(str:replace($CONTEXT, "/device[name=\"", ""), "\"]/configuration/protocols/l2circuit/neighbor[name=\"", "|"); 
    var $finalContext = str:replace(str:replace($tempContext, "\"]/interface[name=\"", "|"), "\"]", "");      
    var $variables = jcs:split( "\\|", $finalContext ); 
    var $deviceName = $variables[1]; 
    var $neighborIp = $variables[2]; 
    var $interfaceName = $variables[3]; 
    
    

    The following is an example of a P2P BGP service context:

    Context: /device[name=”device name”]/configuration/routing-instances/instance[name=”Service name” and instance-type=”l2vpn”]/bgp/interface[name=”interfaceName.unitID”]

    The code in op script to parse the context is as follows:

    var $tempContext1 = str:replace(str:replace($CONTEXT, "/device[name=\"", ""), "\"]/configuration/routing-instances/instance[name=\"", "|"); 
    var $tempContext2 = str:replace($tempContext1, "\" and instance-type=\"l2vpn\"]", ""); 
    var $finalContext = str:replace(str:replace($tempContext2, "/bgp/interface[name=\"", "|"), "\"]", "");      
    var $variables = jcs:split( "\\|", $finalContext ); 
    var $deviceName = $variables[1]; 
    var $instanceName = $variables[2]; 
    var $interfaceName = $variables[3]; 
    

    The following is an example of a P2P VPLS service context:

    Context: /device[name=”device name”]/configuration/routing-instances/instance[name=”Service name” and instance-type=”vpls”]/vpls/interface[name=”interfaceName.unitID”]

    The code in op script to parse the context is as follows:

    var $tempContext1 = str:replace(str:replace($CONTEXT, "/device[name=\"", ""), "\"]/configuration/routing-instances/instance[name=\"", "|"); 
    var $tempContext2 = str:replace($tempContext1, "\" and instance-type=\"vpls\"]", ""); 
    var $finalContext = str:replace(str:replace($tempContext2, "/vpls/interface[name=\"", "|"), "\"]", "");      
    var $variables = jcs:split( "\\|", $finalContext ); 
    var $deviceName = $variables[1]; 
    var $instanceName = $variables[2]; 
    var $interfaceName = $variables[3]; 
    
    

    The following is an example of a P2P L3VPN service context:

    Context: /device[name=”device name”]/configuration/routing-instances/instance[name=”Service name” and instance-type=”vrf”]/vrf/interface[name=”interfaceName.unitID”]

    The code in op script to parse the context:

    var $tempContext1 = str:replace(str:replace($CONTEXT, "/device[name=\"", ""), "\"]/configuration/routing-instances/instance[name=\"", "|"); 
    var $tempContext2 = str:replace($tempContext1, "\" and instance-type=\"vrf\"]", ""); 
    var $finalContext = str:replace(str:replace($tempContext2, "/vrf/interface[name=\"", "|"), "\"]", "");      
    var $variables = jcs:split( "\\|", $finalContext ); 
    var $deviceName = $variables[1]; 
    var $instanceName = $variables[2]; 
    var $interfaceName = $variables[3]; 
    
    
    
    

    Predefined Scripts for Troubleshooting

    Predefined troubleshooting scripts are included by default, during the installation of Connectivity Services Director. The following are the script names for each service and the commands supported for them.

    P2P LDP Service

    P2PLDPPredefinedScript.slax is the predefined script that is uploaded.

    The following are the supported commands:

    • get-l2ckt-connection-information

    • get-interface-information

    • get-ldp-session-information

    • get-ldp-neighbor-information

    P2P BGP Service

    P2PBGPPredefinedScript.slax is the predefined script that is uploaded.

    The following are the supported commands:

    • get-l2vpn-connection-information

    • get-interface-information

    • get-bgp-summary-information

    • get-interface-statistics

    VPLS Service

    VPLSPredefinedScript.slax is the predefined script that is uploaded.

    The following are the supported commands:

    • get-vpls-connection-information

    • get-interface-information

    • get-interface-statistics

    L3VPN Service

    L3VPNPredefinedScript.slax is the predefined script that is uploaded.

    The following are the supported commands:

    • get-vrrp-connection-information

    • get-interface-information

    • get-interface-statistics

    RSVP LSP Service

    RSVPLSPPredefinedScript.slax is the predefined script that is uploaded.

    The following are the supported commands:

    • get-mpls-connection-information

    • get-mpls-lsp-information

    Modified: 2015-09-21