This section contains sample SLX-OS Python scripts and run-logs.

Note
To access sample scripts and related resources, refer to https://github.com/extremenetworks/ExtremeScripting.
Note
Lines beginning with# are annotations. #Required in all scripts for SLX-OS:
from CLI import CLI
slot = [0]
interfaces = [28, 29, 30, 31]
port_channel = 10
vlan_range = "101-105"
# Runs show running-config int vlan before the configuration, and assigns this SLX
# command to a Python variable named cmd_show_running_vlans.
cmd_show_running_vlans = CLI("show running-config vlan")
# Configures VLANs. {} is a placeholder for the format (arg1, arg2, ... argN) variables:
cmd_configure_vlans = CLI("config \n vlan {}".format(vlan_range))
# Reruns show running-config int vlan, following definition of new VLANs:
cmd_show_running_vlans.rerun()
# Configures port channel (vLAG):
cmd_show_running_port_channels = CLI("show running-config int po")
cmd_configure_port_channel = CLI("config \n int po {} \n switchport \n switchport mode trunk \n switchport trunk allowed vlan add {} \n switchport trunk tag native-vlan ; no shut".format(port_channel, vlan_range))
# Reruns show running-config int po, following configuration changes:
cmd_show_running_port_channels.rerun()
# Adds interfaces to port channel (vLAG)
for interface in interfaces:
cmd_configure_interface = CLI("config \n int eth {}/{} \n channel-group {} mode active type standard \n no shut".format(slot, interface, port_channel))
cmd_show_running_int_tengig = CLI("show running-config int eth {}/{}".format (slot, interface))
# Runs show running-config:
cmd_show_running = CLI("show running-config")
A log upon running create_po.py was as follows:
SLX# python create_po.py !Command: show running-config vlan !Time: Fri Dec 16 18:35:41 2016 vlan 1 ! vlan dot1q tag native !Command: config vlan 101-105 !Time: Fri Dec 16 18:35:41 2016 !Command: show running-config vlan !Time: Fri Dec 16 18:35:41 2016 vlan 1 ! vlan 101 ! vlan 102 ! vlan 103 ! vlan 104 ! vlan 105 ! vlan dot1q tag native !Command: show running-config int po !Time: Fri Dec 16 18:35:41 2016 % No entries found. !Command: config int po 10 switchport switchport mode trunk switchport trunk allowed vlan add 101-105 switchport trunk tag native-vlan ; no shut !Time: Fri Dec 16 18:35:41 2016 !Command: show running-config int po !Time: Fri Dec 16 18:35:42 2016 interface Port-channel 10 switchport switchport mode trunk switchport trunk allowed vlan add 101-105