Scenario 1 - Using Stack Interactive-setup to Create a Stack

The following are connection requirements for discovering new units:

  • A port in a valid-stack-port set must be connected; otherwise, the stack interactive-setup utility treats the stack as an invalid topology. For example, one valid-stack-port set for ICX 7750 devices is (x/2/1, x/2/4, 3). You must connect either x/2/1 or x/2/4.

    Note: The valid-stack-port requirement does not apply to the process of discovering new links between existing units, which enlarges stack-trunks or converts a chain to a ring.

  • The connections must form a contiguous stack-trunk even if there are "holes" in the connections. For the previous ICX 7750 example, the two links 1/2/1 to 2/2/4 and 1/2/3 to 2/2/6 will form stack-trunk 1/2/1 to 1/2/3 and stack-trunk 2/2/4 to 2/2/6.
  • The connecting ports must not have data port configuration.

Note: The active controller of a stack or a standalone with stacking enabled can initiate interactive setup to discover new stack units. The following procedure is performed from a standalone unit.
Note: Stack interactive-setup can discover new units and new links between existing units. If the process detects both new units and new links, it first handles the new links between existing units and terminates. The system then requests that you run stack interactive-setup again to discover new units.

Perform these steps to create a stack using the stack interactive-setup utility.

  1. Connect the devices using the stacking ports and stack cabling. For more information, refer to the stacking overview for the device and to the appropriate hardware installation guide.
  2. Power on the units.
  3. Connect your console to the intended active controller. The unit through which you run stack interactive-setup becomes the active controller by default.
  4. (Optional) Enter the show stack and the show running-config commands to check the current configuration of the standalone from which you plan to construct the stack. The configuration must include stack enable.

    The following example shows that stacking is not enabled (and stacking probes are not being sent) on the standalone from which the stack is to be discovered. Configured stacking ports would be operating at 100 Gbps.

    ICX7650-48ZP Router# show stack
    
    ***** Warning! stack is not enabled. *****
    
    T=41m26.1: alone: standalone, D: dynamic cfg, S: static
    ID   Type          Role    Mac Address    Pri State   Comment                   
    1  S ICX7650-48ZP  alone   609c.9f52.b52e   0 local   None:0
    
                                                                                   
         +---+                                                                     
      3/1| 1 |3/2                                                                  
         +---+
    Current stack management MAC is 609c.9f52.b52e
    Stack ports are operating at 100G.
    

    The following example indicates stacking ports as 1/3/1 and 1/3/2.

    ICX7650-48ZP Router# show running-config
    Current configuration:
    !
    ver 08.0.91
    !
    stack unit 1
      module 1 icx7650-48zp-port-management-module
      module 2 icx7600-qsfp-2port-80g-module
      module 3 icx7650-100g-2port-200g-module
      stack-port 1/3/1
      stack-port 1/3/2
    !
    !
    !
    end
    
  5. If stacking is not enabled on the unit, enter the stack enable command in global configuration mode.
    ICX7650-48ZP Router# configure terminal
    ICX7650-48ZP Router(config)# stack enable
    Enable stacking. This unit actively participates in stacking
    ICX7650-48ZP Router(config)# end
    
  6. Enter the stack interactive-setup command in Privileged EXEC mode on the standalone that will serve as the active controller for the stack.
    Note: The stack secure-setup command has been deprecated and replaced by the stack interactive-setup command. If you enter the stack secure-setup command, the system responds with an error and instructs you to use the new command.
    Note: The stack interactive-setup process can be initiated by a standalone unit or by the active controller of a stack. In the following example, the process is initiated by a standalone.
  7. Select from the available options as shown in the following example. If you are building a stack for the first time and the attached units are clean units with no startup configuration, select 2.
    Note: Units with any startup configuration in flash memory are not discovered by option 2.
    Note: If the connected units contain configuration, you can select option 3, which saves the manual steps of removing configuration from the units (using the erase startup-config and reload commands for each one).
    Note: An ICX 7650 device with startup-config flash using 40-Gbps stacking ports but no other configuration is treated as a clean unit. Because an ICX 7650 device that uses 40-Gbps stacking requires the rear-module stack-40g command followed by the write memory and reload commands to change the default 100-Gbps stacking ports to 40-Gbps stacking ports, the related startup-config flash must be present.
    ICX7650-48ZP Router# stack interactive-setup
    You can abort stack interactive-setup at any stage by <ctrl-c>
    0: quit
    1: change stack unit IDs
    2: discover and convert new units (no startup-config flash) to members
    3: discover and convert existing/new standalone units to members
    2&3 can also find new links and auto-trunk or convert chain(s) to ring.
    Please type your selection: 2
    Probing topology to find clean units...
    T=43m29.0: Sending probes to ports: u1: 1/3/1 to 1/3/2, 
    

    The command triggers a RUCKUS proprietary discovery protocol that begins the discovery process in both upstream and downstream directions. The discovery process produces a list of upstream and downstream devices that are available to join the stack. Interactive-setup can detect up to 11 units in each direction (22 units total); however, you must select a total number of units that is less than the maximum stack size for the device because the controller is also part of the stack.

    Note: Probes are sent through all qualified ports, that is, ports that are up but have no configuration, excluding any stacking port or stacking trunk connected to a live neighbor.
    Note: During the stack interactive-setup process, after two minutes of inactivity, authentication for stack members expires, forcing you to restart the process.

    Note: To exit the stack interactive-setup process, enter Control-C at any time.

    In the example, the user has selected option 2, which, when clean units are attached, initiates probes to discover other potential stack units and links as shown in the following example. Because the initiating standalone in the example has no live neighbors, it sends stacking probes through ports 1/3/1 and 1/3/2, assuming these ports are up and have no configuration.

    Existing stack: ============================================================
                                                                                   
         +---+                                                                     
      3/1| 1 |3/2                                                                  
         +---+    <-- Initial topology shows the 
                       standalone and the active 
                       stacking port.
    Horizontal bars link to discovered units. Vertical bars link to stack units.
    
    
    Chain #0: ==================================================================
    #1: icx7650-48zp-port-management 609c.9f52.37ba
    #2: icx7650-48zp-port-management 609c.9f52.b33e
    
         1/3/1        1/3/2                                                        
           |            |                                                          
           |            |                                                          
          3/1          3/1                                                         
         +---+        +---+                                                        
         |#1 |3/2--3/2|#2 |                                                        
         +---+        +---+                                                        
    
    Discovered units and their connections to the standalone (unit 1 at top) are displayed.

    In the example, two connected units are discovered. The first is connected to the standalone through standalone port 1/3/1 and discovered device port x/3/1. The device is shown as #1 to indicate the order of discovery in the discovered topology but ultimately receives another stack unit ID, as the standalone retains stack ID 1.

    Note: You can use the MAC address provided for each discovered unit to track its identity prior to stack unit ID assignment.

    The second discovered connection in the example, shown as #2 in the discovered topology, also receives a real stack unit ID assignment later in the process. It is connected to stack unit 1 (the initiating standalone) through standalone port 1/3/2 and new unit port x/3/1.

  8. The active controller automatically checks all prospective stack members to see if they are super-user password-protected. If a unit is password-protected, the utility asks for the password after you select the unit. If the password entered is wrong, the utility repeats the ID selection for the same unit. If you do not know the password, take one of the following actions:
    • Discontinue stack interactive-setup by entering Control-C.
    • Obtain the device password from the administrator.
    • Skip the unit by entering 0 as the ID selection for this unit, and continue the stack interactive-setup process for your stack. The password-protected device and all devices connected behind it will not be included in the setup process.
  9. As each discovered unit connection is re-displayed, enter y when prompted to accept the connection as shown in the following example (or enter n to decline the connection).
    Discovered 1 chain/ring
    Chain #0: Do you want to select this chain? (enter 'y' or 'n'): y
    #1: icx7650-48zp-port 609c.9f52.37ba, type an ID (No: 0, default: 3): 
    #2: icx7650-48zp-port 609c.9f52.b33e, type an ID (No: 0, default: 2): <-- The connecting module 
                                                                                   type and MAC address 
                                                                                   for discovered units
                                                                                   and the proposed 
                                                                                   stack unit IDs.
    
    The example shows the connections and identifying information for two accepted stack units, along with proposed IDs assigned by default, stack unit 3 and stack unit 2.
  10. As the full topology is re-displayed for confirmation, enter y when prompted to confirm the topology (or n to decline the topology and terminate the process).
    After you accept the topology, the active controller is confirmed, the stack is formed, and a standby controller is designated.
    During the interactive-setup process, you are prompted to execute the write memory command if there are any changes to the stack-port or stack-trunk configuration on the active controller. At the end of the process, after new units join the stack, you are prompted to execute the write memory command to save the configuration of the other units.
    Note: If you do not issue the write memory command when prompted, you may lose the configuration the next time the stack reboots.
    You selected 2 unit(s): #1: ID=3, #2: ID=2,  
    
    Links U1--U3, #=1: 3/1--3/1 
    Links U3--U2, #=1: 3/2--3/2 
    Links U2--U1, #=1: 3/1--3/2 
    
                       #1           #2                                             
         +---+        +---+        +---+                                           
     -3/2| 1 |3/1--3/1| 3 |3/2--3/2| 2 |3/1-                                       
     |   +---+        +---+        +---+   |                                       
     |                                     |                                       
     |-------------------------------------|   <-- The proposed topology is displayed 
                                                   with assigned stack IDs.
                                        
    Proceeding will produce the above topology. Do you accept it? (enter 'y' or 'n'): y
    stack interactive-setup discovers 2 unit(s) and sends stack-port/trunk to chain 0: <-- Stack ports
                                                                                         and trunks
                                                                                         form so stack
                                                                                         units can join.
     #1 609c.9f52.37ba U3, D0: 3/1, D1: 3/2  <-- The first discovered link 
                                                     to unit 3 has a direction 0 ("D0") 
                                                     connection through port 3/3/1
                                                     and a direction 1 ("D1") connection
                                                     through port 3/3/2.
    
     #2 609c.9f52.b33e U2, D0: 3/1, D1: 3/2   <-- The second discovered link 
                                                      to stack unit 2 has a 
                                                      DO connection through port 2/3/1 
                                                      and a D1 connection through 2/3/2.
    
    
    

    In the example, a three-unit stacking ring is formed.

    Note: To form a stack, the original stacking port and stacking trunk configuration may be modified or deleted, or new stacking port or trunk configuration may be added. Although the original configuration is not required in discovering units, the system attempts to keep the original configuration when possible, to respect the user's intentions.

    After you confirm the configuration, all stack units except the active controller are reloaded.

    The active controller is promoted to a priority of 128. This priority is used in hitless switchover and failover negotiations as described in Hitless Stacking.

  11. After the units reload and join the stack, the system displays information on the synchronization activities performed for each stack member as shown in the following example.
    After units reload and join:
    
    ICX7650-48ZP Router#T=46m57.3: Election, was alone --> active, ID=1, pri=128, 2U(1-2), A=u1, nbr#=0 1, reason: u2: enable, , 
    Detect stack member 2 POE capable
    Debug: Jul 13 05:00:02 Detect stack unit 2 has different ssh rsahost key, will synchronize it
    Debug: Jul 13 05:00:02 T=46m57.7: Synchronize webauth files to u2
    2000 log entries of PoE Event Trace Log Buffer is allocated on unit 1 for unit 2 
    T:46m59.1: Done hot swap: active controller u1 sets u2 to Ready.
    Stack unit 2 Power supply 1 is not present
    PoE: Stack unit 2 Power supply 2 with 748000 mwatts capacity is up
    T=46m59.8: Election, was active, no change, ID=1, pri=128, 2U(1-2), A=u1, nbr#=0 1, reason: u1: stk-po-chg, , 
    Debug: Jul 13 05:00:09 
    Config changed due to add/del units. Do write mem if you want to keep it <-- Changes to stack 
                                                                                     units must be 
                                                                                     saved with 
                                                                                     write memory.
    
    Debug: Jul 13 05:00:12 T=47m7.7: Synchronize ssh rsa host key to u2
    T=47m11.1: Election, was active, no change, ID=1, pri=128, 3U(1-3), A=u1, nbr#=2 2, reason: u3: enable, , 
    T=47m13.7: Election, was active, no change, ID=1, pri=128, 3U(1-3), A=u1, nbr#=2 2, reason: u1: stk-po-chg, , 
    Detect stack member 3 POE capable
    Debug: Jul 13 05:00:18 Detect stack unit 3 has different ssh rsahost key, will synchronize it
    Debug: Jul 13 05:00:18 T=47m14.1: Synchronize webauth files to u3
    2000 log entries of PoE Event Trace Log Buffer is allocated on unit 1 for unit 3 
    T:47m15.6: Done hot swap: active controller u1 sets u3 to Ready.
    Debug: Jul 13 05:00:23 
    Config changed due to add/del units. Do write mem if you want to keep it  <-- Changes to stack 
                                                                                     units must be 
                                                                                     saved with 
                                                                                     write memory.
    
    Stack unit 3 Power supply 1 is not present
    PoE: Stack unit 3 Power supply 2 with 748000 mwatts capacity is up
    Debug: Jul 13 05:00:28 T=47m24.1: Synchronize ssh rsa host key to u3
    PoE Info: PoE module 1 of Unit 2 on ports 2/1/1 to 2/1/48 detected. Initializing....
    PoE Info: PoE module 1 of Unit 2 initialization is done. 
    PoE Info: PoE module 1 of Unit 3 on ports 3/1/1 to 3/1/48 detected. Initializing....
    PoE Info: PoE module 1 of Unit 3 initialization is done. 
    T=48m15.7: Assigned unit 2 to be standby
    Debug: Jul 13 05:01:22 T=48m17.7: start running config sync to standby u2
    Debug: Jul 13 05:01:23 T=48m18.8: Running config sync to standby u2 is complete
    
  12. Note: The system reminds you to save configuration changes with the write memory command. Before saving the changes to stack members, you can check the stack configuration as shown in this step.
    (Optional) Enter the show stack command to check the stack topology and the roles assigned to each stack unit and to verify that all units are in the Ready state.
    ICX7650-48ZP Router# show stack
    T=55m8.9: alone: standalone, D: dynamic cfg, S: static
    ID   Type          Role    Mac Address    Pri State   Comment                   
    1  S ICX7650-48ZP  active  609c.9f52.b52e 128 local   Ready
    2  D ICX7650-48ZP  standby 609c.9f52.b33e   0 remote  Ready
    3  D ICX7650-48ZP  member  609c.9f52.37ba   0 remote  Ready
    
        active       standby                                                       
         +---+        +---+        +---+                                           
     -3/1| 1 |3/2--3/1| 2 |3/2--3/2| 3 |3/1-                                       
     |   +---+        +---+        +---+   |                                       
     |                                     |                                       
     |-------------------------------------|                                       
    Standby u2 - protocols ready, can failover
    Role history: N: standalone, A: active, S: standby, M: member
    U1: N->A <-- Stack history. The standalone unit 1 has successfully made the transition to 
                      active controller. No other change of roles has occurred.
    
    Current stack management MAC is 609c.9f52.b52e  <-- The stack management MAC is the MAC 
                                                           for the active controller, in this 
                                                           case, stack unit 1.
    Stack ports are operating at 100G.
    
    The example shows unit 1 is the active controller for the stack. Unit 1 has been assigned a priority of 128. Stack unit 2 has been assigned the role of standby controller. Unit 3 is a regular stack member. The stack history indicates that no other unit has held the role of active controller for this stack. All stack units are in the Ready state. The "D" displayed for units 2 and 3 indicates a dynamic configuration. After you execute the write-memory command, the "D" changes to an "S" for static configuration.
  13. (Optional) Enter the show running-config command to verify additional information, such as the software version running on the stack, the module configuration of each stack unit, and the stacking connections for each unit.
    Note: Additional show commands are available if a deeper verification of stack configuration is necessary. Refer to Verifying a traditional stack configuration for more information.
  14. Enter the write memory command to save the changes to stack member configuration.
    The command initiates configuration synchronization, which copies the configuration file of the active controller to the rest of the stack units.
    Note: The stack interactive-setup process may modify your configuration with information about new units, stacking ports, and the like. For this reason, it is very important to save this information by issuing the write memory command. If you do not do this, you may lose your configuration information the next time the stack reboots.
    ICX7650-48ZP Router#  write memory  <-- You must save the configuration changes.
    
     There is no startup config file, unable to save legacy config 
    
    Automatic copy to member units:  2  3
    Flash Memory Write (8192 bytes per dot) 
    .
    Copy Done.
    ICX7650-48ZP Router#
    

The following example includes the full stack interactive-setup process described in the previous task steps.

ICX7650-48ZP Router# show stack

***** Warning! stack is not enabled. *****

T=41m26.1: alone: standalone, D: dynamic cfg, S: static
ID   Type          Role    Mac Address    Pri State   Comment                   
1  S ICX7650-48ZP  alone   609c.9f52.b52e   0 local   None:0

                                                                               
     +---+                                                                     
  3/1| 1 |3/2                                                                  
     +---+                                                                     
Current stack management MAC is 609c.9f52.b52e
Stack ports are operating at 100G.
ICX7650-48ZP Router# show running-config
Current configuration:
!
ver 08.0.91
!
stack unit 1
  module 1 icx7650-48zp-port-management-module
  module 2 icx7600-qsfp-2port-80g-module
  module 3 icx7650-100g-2port-200g-module
  stack-port 1/3/1
  stack-port 1/3/2
!
!
!
end

ICX7650-48ZP Router# configure terminal
ICX7650-48ZP Router(config)# stack enable
Enable stacking. This unit actively participates in stacking
ICX7650-48ZP Router(config)# end

ICX7650-48ZP Router# stack interactive-setup
You can abort stack interactive-setup at any stage by <ctrl-c>
0: quit
1: change stack unit IDs
2: discover and convert new units (no startup-config flash) to members
3: discover and convert existing/new standalone units to members
2&3 can also find new links and auto-trunk or convert chain(s) to ring.
Please type your selection: 2
Probing topology to find clean units...
T=43m29.0: Sending probes to ports: u1: 1/3/1 to 1/3/2, 
Existing stack: ============================================================
                                                                               
     +---+                                                                     
  3/1| 1 |3/2                                                                  
     +---+                                                                     


Horizontal bars link to discovered units. Vertical bars link to stack units.


Chain #0: ==================================================================
#1: icx7650-48zp-port-management 609c.9f52.37ba
#2: icx7650-48zp-port-management 609c.9f52.b33e

     1/3/1        1/3/2                                                        
       |            |                                                          
       |            |                                                          
      3/1          3/1                                                         
     +---+        +---+                                                        
     |#1 |3/2--3/2|#2 |                                                        
     +---+        +---+                                                        
                                                                                
Discovered 1 chain/ring
Chain #0: Do you want to select this chain? (enter 'y' or 'n'): y
#1: icx7650-48zp-port 609c.9f52.37ba, type an ID (No: 0, default: 3): 
#2: icx7650-48zp-port 609c.9f52.b33e, type an ID (No: 0, default: 2): 

You selected 2 unit(s): #1: ID=3, #2: ID=2,  

Links U1--U3, #=1: 3/1--3/1 
Links U3--U2, #=1: 3/2--3/2 
Links U2--U1, #=1: 3/1--3/2 

                   #1           #2                                             
     +---+        +---+        +---+                                           
 -3/2| 1 |3/1--3/1| 3 |3/2--3/2| 2 |3/1-                                       
 |   +---+        +---+        +---+   |                                       
 |                                     |                                       
 |-------------------------------------|                                       
Proceeding will produce the above topology. Do you accept it? (enter 'y' or 'n'): y
stack interactive-setup discovers 2 unit(s) and sends stack-port/trunk to chain 0: 
 #1 609c.9f52.37ba U3, D0: 3/1, D1: 3/2
 #2 609c.9f52.b33e U2, D0: 3/1, D1: 3/2

ICX7650-48ZP Router#T=46m57.3: Election, was alone --> active, ID=1, pri=128, 2U(1-2), A=u1, nbr#=0 1, reason: u2: enable, , 
Detect stack member 2 POE capable
Debug: Jul 13 05:00:02 Detect stack unit 2 has different ssh rsahost key, will synchronize it
Debug: Jul 13 05:00:02 T=46m57.7: Synchronize webauth files to u2
2000 log entries of PoE Event Trace Log Buffer is allocated on unit 1 for unit 2 
T:46m59.1: Done hot swap: active controller u1 sets u2 to Ready.
Stack unit 2 Power supply 1 is not present
PoE: Stack unit 2 Power supply 2 with 748000 mwatts capacity is up
T=46m59.8: Election, was active, no change, ID=1, pri=128, 2U(1-2), A=u1, nbr#=0 1, reason: u1: stk-po-chg, , 
Debug: Jul 13 05:00:09 
Config changed due to add/del units. Do write mem if you want to keep it
Debug: Jul 13 05:00:12 T=47m7.7: Synchronize ssh rsa host key to u2
T=47m11.1: Election, was active, no change, ID=1, pri=128, 3U(1-3), A=u1, nbr#=2 2, reason: u3: enable, , 
T=47m13.7: Election, was active, no change, ID=1, pri=128, 3U(1-3), A=u1, nbr#=2 2, reason: u1: stk-po-chg, , 
Detect stack member 3 POE capable
Debug: Jul 13 05:00:18 Detect stack unit 3 has different ssh rsahost key, will synchronize it
Debug: Jul 13 05:00:18 T=47m14.1: Synchronize webauth files to u3
2000 log entries of PoE Event Trace Log Buffer is allocated on unit 1 for unit 3 
T:47m15.6: Done hot swap: active controller u1 sets u3 to Ready.
Debug: Jul 13 05:00:23 
Config changed due to add/del units. Do write mem if you want to keep it
Stack unit 3 Power supply 1 is not present
PoE: Stack unit 3 Power supply 2 with 748000 mwatts capacity is up
Debug: Jul 13 05:00:28 T=47m24.1: Synchronize ssh rsa host key to u3
PoE Info: PoE module 1 of Unit 2 on ports 2/1/1 to 2/1/48 detected. Initializing....
PoE Info: PoE module 1 of Unit 2 initialization is done. 
PoE Info: PoE module 1 of Unit 3 on ports 3/1/1 to 3/1/48 detected. Initializing....
PoE Info: PoE module 1 of Unit 3 initialization is done. 
T=48m15.7: Assigned unit 2 to be standby
Debug: Jul 13 05:01:22 T=48m17.7: start running config sync to standby u2
Debug: Jul 13 05:01:23 T=48m18.8: Running config sync to standby u2 is complete

ICX7650-48ZP Router#
ICX7650-48ZP Router# show stack
T=55m8.9: alone: standalone, D: dynamic cfg, S: static
ID   Type          Role    Mac Address    Pri State   Comment                   
1  S ICX7650-48ZP  active  609c.9f52.b52e 128 local   Ready
2  D ICX7650-48ZP  standby 609c.9f52.b33e   0 remote  Ready
3  D ICX7650-48ZP  member  609c.9f52.37ba   0 remote  Ready

    active       standby                                                       
     +---+        +---+        +---+                                           
 -3/1| 1 |3/2--3/1| 2 |3/2--3/2| 3 |3/1-                                       
 |   +---+        +---+        +---+   |                                       
 |                                     |                                       
 |-------------------------------------|                                       
Standby u2 - protocols ready, can failover
Role history: N: standalone, A: active, S: standby, M: member
U1: N->A

Current stack management MAC is 609c.9f52.b52e
Stack ports are operating at 100G.
ICX7650-48ZP Router# write memory   <-- User enters write memory to save stack unit configuration changes.

 There is no startup config file, unable to save legacy config 

Automatic copy to member units:  2  3   <-- System saves the configuration back to the stack members.
Flash Memory Write (8192 bytes per dot) 
.
Copy Done.
ICX7650-48ZP Router#