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.
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.
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_tmpd4a3Repeat 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.
Uninstalling an EOS Extension
Complete the following steps to uninstall an EOS extension.
EOS Extensions 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. |
