印刷

Managing EOS Extensions

The most simple and efficient way to make the most of the extensibility in EOS through the use of extensions. An extension provides a pre-packaged optional feature or a set of scripts in an RPM Package Manager (RPM) or Software image extension (SWIX) format. Arista provides a variety of extensions on the EOS Software Downloads page.

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 modifies 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 you require extension persistence across rebooting the switch, copy the extension 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 become available. To achieve this, close the SSH or the Telnet session and open a new session.

Installing EOS Extensions on a Dual-Supervisor Switch

Automated SWIX Installation on Dual Supervisor Systems

This feature automates the end-to-end workflow for EOS extensions by copying the source file from a remote or local location, installing it into the switch extension partition, and ensures adding it to the boot-extensions list so it persists across reloads. On dual-supervisor systems, the switch handles peer synchronization internally, removing the need for session peer-supervisor manual intervention.

The command has the following syntax:

install extension source URL [ {force | signature-verification ignored | delay-restart-agents } ]
  • source URL - Specify a remote or local URL for an SWIX or RPM extension.
  • force - Override dependency checks.
  • signature-verification ignored - Ignores verification of an SWIX extension.
  • delay-restart-agents - Delays restarting agents in the SWIX.

Use the command only on the active supervisor switch. If used on a standby supervisor, the command exits with an error.

Complete the following to install the extension across the active and standby supervisors.

Copy the source file from a remote or local location, and install it into the extension partition on the active switch. Then, add it to the boot extensions list to persist the extensions across reloads.
switch(s1)# install extension source flash:/docker.x86_64.swix
Copying extension from flash:/docker.x86_64.swix to temporary file flash:/docker.x86_64.swix_tmpd4a3
Copy completed successfully.
Copying docker.x86_64.swix from active to standby supervisor
Copy completed successfully.
Copying docker.x86_64.swix to extensions on standby supervisor
Installing docker.x86_64.swix on standby supervisor
Adding to boot-extensions on standby supervisor
Removing temporary file on standby supervisor
Copying extension from temporary file to extension:/docker.x86_64.swix
Copy completed successfully.
Installing docker.x86_64.swix
Adding to boot extensions
Removing file at flash:/docker.x86_64.swix_tmpd4a3

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

Exit the 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 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 you have 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.

EOS Extensions Log Messages

The following Log Messages display during EOS Extensions installation or after uninstalling EOS Extensions:
Table 1. EOS Extensions System Log Messages
Message Severity Explanation Recommended Action
INSTALL: Extension % has been installed. Info The extension has been installed. No action is required – this message is for information only.
INSTALLING: Installing extension %s, version %s, SHA-1 %s Info EOS has started to install the extension. No action is required – this message is for information only.
INSTALL_ERROR: Extension %s failed to install: %s Error

The extension failed to install. The log message may contain a reason why installation failed, such as a missing dependency.

Determine why the extension failed to install. If a dependency is missing, install it. If you

are unsure how to proceed, contact the developer of the extension or your support representative.

LOAD_ERROR: Extension failed to load: % Error

The extension failed to load. The log message or extension load log file may contain a reason why it failed, such as a broken config file.

Determine why the extension failed to load. If you are unsure how to proceed, contact the developer of the extension or your support representative.

RESTARTING_AGENTS: Extension installation finalization: restarting agents: %s Info Agents are being restarted by operator request, in order to cause a software upgrade/patch to become effective. No action is required – this message is for information only.
SIGNATURE_INVALID: Extension %s has an invalid signature: %s Warning The extension has an invalid signature, or the signature could not be determined. The log message may contain a reason for the error Examine the extension and determine if the contents are correct. If the contents are not as expected, uninstall the extension immediately. If you are unsure how to proceed, contact the developer of the extension or your support representative.
SIGNATURE_VALID: Extension %s has a valid signature. Info The extension has a valid digital signature. No action is required – this message is for information only.
STATUS_SAVE_ERROR: Failed to write extension status to %s: %s Error Cannot write extension status to the filesystem. Extension status may not be restored if Sysdb restarts. Check if the filesystem is full.
UNINSTALLED: Extension %s has been uninstalled. Info The extension has been uninstalled. No action is required – this message is for information only.
UNINSTALLING: Uninstalling extension %s Info EOS has started to uninstall the extension. No action is required – this message is for information only.
UNINSTALL_ERROR: Extension %s failed to uninstall: %s Error The extension failed to uninstall. The message may contain a reason why uninstallation failed, such as a dependency from another installed extension. Determine why the extension failed to uninstall. Some extensions may not support uninstall, requiring a reboot of the switch to remove the extension. If you are unsure how to proceed, contact the developer of the extension or your support representative.
..