Section 3.4 - UI Infrastructure for Multi-Chassis Systems

UI Infrastructure Programmer's Guide

3.4.1. Introduction

This site provides information for developers using the UI infrastructure for multi-chassis systems.

3.4.1.1. Description of the different architectures

Terminology

'primary':

'secondary':

'distribution':

3.4.1.2. UI Implications

3.4.1.2.1. Configuration Statements

3.4.1.2.1.1 Special Groups

Purpose

Special groups are groups that get applied to certain RE's in dual-RE and multi-chassis systems. These groups allow the user to maintain configuration of dual-RE and the entire multi-chassis system in one configuration.

Usage

1. Define the special groups under [groups] hierarchy.

For example:

     groups {
       scc-re0 { 
         /* 
          * configuration defined here this will only
          * be applied to SCC's RE0
          */
         system {
           host-name host1 
         }
         ...
       }
     }

2. Set all special groups variables under the [apply-groups] hierarchy

For example:

     apply-groups ${scc}-${re}

Group States

The special group variables are categorized as: (examples of special group variables: ${scc}, ${re}, ${lcc})

Special Groups By Platforms

3.4.1.2.2. Operational Commmands

3.4.1.2.2.1. Command Forwarding

Purpose

Command Forwarding provides a mechanism to invoke commands on remote systems/REs.

Details: How MGD does this The feature developers decorate their commands with appropriate command forwarding attributes. When the user executes the commands, mgd will interrupt the commands, parse their command forwarding attributes and forward to the specified targets as necessary.

Example

    command version {
        command-forwarding {
          chassis-selector all-chassis;
          exclude-targets multi-chassis;
          help "Show software version on %s";
        }
           ...
    }

Display

    J-series (Voyager)
      
        regress@router1> show version ?
        Possible completions:
           node                   Cluster node

        regress@router1> show version node ?
        Possible completions:
           all                    All node
           local                  Local node
           primary                Primary node
           <node-id>              Node id (0..1)

        regress@router1> show version node all
        node0:
        --------------------------------------------------------------
        Hostname: router1
        Model: jsr6350
        JUNOS Software Release [8.3I20061123_1829]

        node1:
        --------------------------------------------------------------
        Hostname: router2
        Model: jsr6350
        JUNOS Software Release [8.3I20061123_1829]
       

    TX Matrix (Hobson)
       
        regress@router1> show version ?
        Possible completions:
          routing-engine               Specify routing engine
          re0                          Routing engine 0 
          re1                          Routing engine 1
          all-chassis                  SCC and all LCC chassis
          all-lcc                      All LCC chassis
          scc                          SCC chassis
          lcc                          Specify LCC chassis

        regress@router1> show version lcc ?
        Possible completions:
            <lcc>                      LCC number (0..3)

        regress@router1> show version lcc 0 ?
        Possible completions:
          routing-engine               Specify routing engine
          re0                          Routing engine 0 
          re1                          Routing engine 1

        regress@router1> show version lcc 0 routing-engine ?
        Possible completions:
          local                        Local routing engine
          other                        Other routing engine
          master                       Master routing engine
          backup                       Backup routing engine
          both                         Both routing engines
    

Example #2

    command show {
      command route {
        command-forwarding {
          lr-selector;
        }
      }
    }

Display

         regress@router1> show route ?
         Possible completions:
           logical-router             Name of logical router, or 'all'
    

DDL

To allow remote command execution a command must have the command-forwarding statement defined.

Example

    command "show" {
       command "version" {
           command-forwarding {
              chassis-selector all-chassis;
              re-selector;
           }
       }
    }

Example #2

   command clear {
     command system {
       command reboot {
         help "Clear all pending halt or reboot requests";
         command-forwarding {
           chassis-selector all-chassis;
           exclude-targets cluster;
         }
       }
     }
   }

"clear system reboot" command excludes the cluster target. This means that the command forwarding targets will not be available for a J-series/SRX-series cluster. The command forwarding targets will still be available on other multi-chassis platforms.

Display

J-series (Voyager)/SRX-series (Viking) cluster

   clear system reboot ?
   Possible completions:
     <[Enter]>            Execute this command
     |                    Pipe through a command

TX Matrix (Hobson)
   clear system reboot ?
   Possible completions:
     <[Enter]>            Execute this command
     all-chassis          Clear halt or reboot requests on all chassis
     all-lcc              Clear halt or reboot requests on all LCC chassis
     both-routing-engines Clear halt or reboot on both Routing Engines
     lcc                  Clear halt or reboot requests on specific LCC (0..3)
     scc                  Clear halt or reboot requests on SCC
     |                    Pipe through a command

Exclude-Targets

Excludes some of the targets, by default all targets applicable to the current hardware are included.

The excluded targets will affect the default action. For example, on TX Matrix (Hobson), excluding target 'scc' on a command with default chassis selector of 'all-chassis' is equivalent to 'all-lcc'.

Flags


2007-2009 Juniper Networks, Inc. All rights reserved. The information contained herein is confidential information of Juniper Networks, Inc., and may not be used, disclosed, distributed, modified, or copied without the prior written consent of Juniper Networks, Inc. in an express license. This information is subject to change by Juniper Networks, Inc. Juniper Networks, the Juniper Networks logo, and JUNOS are registered trademarks of Juniper Networks, Inc. in the United States and other countries. All other trademarks, service marks, registered trademarks, or registered service marks are the property of their respective owners.
Generated on Sun May 30 20:23:10 2010 for JUNOS UI Programmer's Guide by Doxygen 1.4.5