Managing EOS Extensions

The most simple and efficient way to make the most of the extensibility on which EOS is built is through the use of extensions. An extension is a pre-packaged optional feature or a set of scripts in an RPM Package Manager (RPM) or Software image extension (SWIX) format. A variety of extensions are available from the EOS Central page at https://www.arista.com/en/.

Installing EOS Extensions

Complete the following steps to install an EOS extension.

  1. Download the desired extension and copy it onto the devices flash storage.
    switch# dir 
    Directory of flash:/  
    -rwx 479183792 Jun 23 09:46 EOS-4.13.3F.swi  
    -rwx 21280296 Feb 6 16:48 arista-splunk-extension.swix  
    -rwx 27 Jun 23 10:08 boot-config  drwx 4096 Sep 26 2012 schedule  
    -rwx 1481 Jun 27 05:54 startup-config

  2. Copy the file from the flash storage to the extensions partition.
    switch# copy flash:arista-splunk-extension.swix extension: 
    Copy completed successfully. 

  3. Install the EOS extension.
    switch# extension arista-splunk-extension.swix 
    If this extension modifiers the behavior of the Cli, any running Cli sessions will 
    need to be reset in order for the Cli modifications to take effect.

  4. If extension persistence across reboots is required, the extension should also be copied into the boot-extensions partition.
    switch# copy installed-extensions boot-extensions

  5. Run the extension. As the CloudVision extension adds additional CLI commands to EOS, the CLI session must be restarted so that the additional commands are available. To achieve this, close the SSH or the telnet session and open a new session.

Installing EOS Extensions on a Dual-Supervisor Switch

Complete the following steps to install an EOS extension on a dual-supervisor switch.

  1. Copy the extension from the primary supervisor to the standby supervisors flash directory.
    switch(s1)# copy flash:<filename>.swixsupervisor-peer://mnt/flash/

  2. Establish a session to the standby supervisor from the primary.
    switch(s1)# session peer-supervisor 
    Warning: Permanently added '[127.1.0.2]:3601' (RSA) to the list of known hosts. 
    Last login: Mon Aug 27 17:32:00 2018 from supervisor1 

    WARNING - you are currently logged in to the standby supervisor. 
    Not all cli commands are available or supported. Any configuration 
    done from this cli will not be reflected in the active supervisor's 
    running config and will be lost when the active supervisor writes 
    its startup config. 
    switch(s2)# 

  3. Repeat the steps listed in the Installing EOS Extensions to install the EOS extension.

  4. Repeat the steps listed in the Verifying EOS Extensions Installation to verify the extension installation.

  5. Exit standby supervisor.
    switch(s2)# exit 
    Connection to 127.1.0.1 closed. 
    switch(s1)#

Verifying EOS Extensions Installation

Complete the steps to verify that the EOS extensions are installed correctly.

  1. Run the show extensions command to verify that the EOS extensions are available and installed correctly.
    switch# show extensions 
    Name Version/Release Status Extension 
    ------------------------------------------ -------------------------  
    EosSdk-1.2.1-fl.boca-1943435.i686.rpm 1.2.1/1943435.flbocaeossd A, NI 1 
    arista-splunk-extension.swix 0.95/1498976.2013ltdsplun A, I 2 
    fping-2.4b2-10.fc12.i686.rpm 2.4b2/10.fc12 A, I 1 
    gnuplot.swix 1.10.0/1.fc14 A, I 16 
    splunkforwarder-5.0.9-213964.i386.rpm 5.0.9/213964 A, NI 1 

    A: available | NA: not available | I: installed | NI: not installed | F: forced 

  2. Run the show boot-extensions command to verify that the EOS extensions are enabled for boot persistence.
    switch# show boot-extensions 
    arista-splunk-extension.swix 
    fping-2.4b2-10.fc12.i686.rpm 
    gnuplot.swix

Uninstalling an EOS Extension

Complete the following steps to uninstall an EOS extension.

  1. Uninstall the existing EOS extension using the no extension command.
    switch# no extension fping-2.4b2-10.fc12.i686.rpm 
    switch#show extensions 
    Name                                       Version/Release              Status extension 
    ------------------------------------------ -------------------------    ---------- 
    EosSdk-1.2.1-fl.boca-1943435.i686.rpm      1.2.1/1943435.flbocaeossd A,  NI 1 
    arista-splunk-extension.swix               0.95/1498976.2013ltdsplun A,  I 2 
    fping-2.4b2-10.fc12.i686.rpm               2.4b2/10.fc12 A,              NI 1 
    gnuplot.swix                               1.10.0/1.fc14 A,              I 16 
    splunkforwarder-5.0.9-213964.i386.rpm      5.0.9/213964 A,               NI 1

    A: available | NA: not available | I: installed | NI: not installed | F: forced

  2. Remove the extension from the boot-extension using the copy installed-extensions boot-extensions command.
    switch# copy installed-extensions boot-extensions

    Note: If your system is a Dual-Supervisor Switch, connect to the secondary supervisor using the session peer-supervisor command, repeat steps 1 and 2, and finally exit from the secondary supervisor.