Adding upstream version 0.12.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
28e863dd91
commit
e0857d13c1
77 changed files with 23610 additions and 2331 deletions
199
README.md
199
README.md
|
@ -4,205 +4,52 @@
|
|||

|
||||

|
||||

|
||||
|
||||
<!--
|
||||
[](https://github.com/pre-commit/pre-commit)
|
||||
!-->
|
||||
|
||||
# Arista Software Downloader
|
||||
|
||||
Script to download Arista softwares to local folder, Cloudvision or EVE-NG.
|
||||
## Overview
|
||||
|
||||
A project to download Arista softwares to local folder, Cloudvision or EVE-NG. It comes in 2 way: a framework with object to automate Arista software download and a CLI for human activities.
|
||||
|
||||
> [!CAUTION]
|
||||
> This script should not be deployed on EOS device. If you do that, there is no support to expect from Arista TAC team.
|
||||
|
||||
|
||||
```bash
|
||||
# install eos-downloader from pypi
|
||||
pip install eos-downloader
|
||||
|
||||
# download EOS swi for EOS 64bits
|
||||
ardl --token <your-token> get eos --format 64 --latest --release-type M
|
||||
```
|
||||
|
||||
## CLI commands
|
||||
Full documentation is available on [our website](https://titom73.github.io/eos-downloader/).
|
||||
|
||||
A new CLI is available to execute commands. This CLI is going to replace [`eos-download`](./bin/README.md) script which is now marked as __deprecated__
|
||||
## Download EOS package from arista website
|
||||
|
||||
This command gives you option to download EOS images localy. Some options are available based on image type like importing your cEOS container in your local registry
|
||||
|
||||
```bash
|
||||
ardl
|
||||
Usage: ardl [OPTIONS] COMMAND [ARGS]...
|
||||
# Get latest version of EOS using docker format.
|
||||
ardl get eos --latest --format cEOS
|
||||
|
||||
Arista Network Download CLI
|
||||
# Get latest version of maintenance type in specific branch 4.29
|
||||
ardl get eos --branch 4.29 --format cEOS --release-type M
|
||||
|
||||
Options:
|
||||
--version Show the version and exit.
|
||||
--token TEXT Arista Token from your customer account [env var:
|
||||
ARISTA_TOKEN]
|
||||
--help Show this message and exit.
|
||||
# Get a specific version
|
||||
ardl get eos --version 4.29.4M
|
||||
|
||||
Commands:
|
||||
debug Debug commands to work with ardl
|
||||
get Download Arista from Arista website
|
||||
# Get a specific version and import to docker using default arista/ceos:{version}{release_type}
|
||||
ardl get eos --version 4.29.4M --import-docker
|
||||
|
||||
# Get a specific version and import to EVE-NG
|
||||
ardl get eos --version 4.33.0F --eve-ng
|
||||
```
|
||||
|
||||
> **Warning**
|
||||
> To use this CLI you need to get a valid token from your [Arista Account page](https://www.arista.com/en/users/profile).
|
||||
> For technical reason, it is only available for customers with active maintenance contracts and not for personnal accounts
|
||||
|
||||
### Download EOS Package
|
||||
|
||||
> **Note**
|
||||
> Supported packages are: EOS, cEOS, vEOS-lab, cEOS64
|
||||
|
||||
CLI gives an option to get latest version available. By default it takes latest `F` release
|
||||
|
||||
```bash
|
||||
ardl get eos --image-type cEOS --latest
|
||||
```
|
||||
|
||||
If you want to get latest M release, you can use `--release-type`:
|
||||
|
||||
```bash
|
||||
ardl get eos --image-type cEOS --release-type M --latest
|
||||
```
|
||||
|
||||
You can download a specific EOS packages with following commands:
|
||||
|
||||
```bash
|
||||
# Example for a cEOS package
|
||||
$ ardl get eos --version 4.28.3M --image-type cEOS
|
||||
```
|
||||
|
||||
Available options are :
|
||||
|
||||
```bash
|
||||
Usage: ardl get eos [OPTIONS]
|
||||
|
||||
Download EOS image from Arista website
|
||||
|
||||
Options:
|
||||
--image-type [64|INT|2GB-INT|cEOS|cEOS64|vEOS|vEOS-lab|EOS-2GB|default]
|
||||
EOS Image type [required]
|
||||
--version TEXT EOS version
|
||||
-l, --latest Get latest version in given branch. If
|
||||
--branch is not use, get the latest branch
|
||||
with specific release type
|
||||
-rtype, --release-type [F|M] EOS release type to search
|
||||
-b, --branch TEXT EOS Branch to list releases
|
||||
--docker-name TEXT Docker image name (default: arista/ceos)
|
||||
[default: arista/ceos]
|
||||
--output PATH Path to save image [default: .]
|
||||
--log-level, --log [debug|info|warning|error|critical]
|
||||
Logging level of the command
|
||||
--eve-ng Run EVE-NG vEOS provisioning (only if CLI
|
||||
runs on an EVE-NG server)
|
||||
--disable-ztp Disable ZTP process in vEOS image (only
|
||||
available with --eve-ng)
|
||||
--import-docker Import docker image (only available with
|
||||
--image_type cEOSlab)
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
You can use `--latest` and `--release-type` option to get latest EOS version matching a specific release type
|
||||
|
||||
```bash
|
||||
# Get latest M release
|
||||
❯ ardl get eos --latest -rtype m
|
||||
🪐 eos-downloader is starting...
|
||||
- Image Type: default
|
||||
- Version: None
|
||||
🔎 Searching file EOS-4.29.3M.swi
|
||||
-> Found file at /support/download/EOS-USA/Active Releases/4.29/EOS-4.29.3M/EOS-4.29.3M.swi
|
||||
...
|
||||
✅ Downloaded file is correct.
|
||||
✅ processing done !
|
||||
```
|
||||
|
||||
### List available EOS versions from Arista website
|
||||
|
||||
You can easily get list of available version using CLI as shown below:
|
||||
|
||||
```bash
|
||||
❯ ardl info eos-versions
|
||||
Usage: ardl info eos-versions [OPTIONS]
|
||||
|
||||
List Available EOS version on Arista.com website.
|
||||
|
||||
Comes with some filters to get latest release (F or M) as well as branch
|
||||
filtering
|
||||
|
||||
- To get latest M release available (without any branch): ardl info eos-
|
||||
versions --latest -rtype m
|
||||
|
||||
- To get latest F release available: ardl info eos-versions --latest
|
||||
-rtype F
|
||||
|
||||
Options:
|
||||
-l, --latest Get latest version in given branch. If
|
||||
--branch is not use, get the latest branch
|
||||
with specific release type
|
||||
-rtype, --release-type [F|M] EOS release type to search
|
||||
-b, --branch TEXT EOS Branch to list releases
|
||||
-v, --verbose Human readable output. Default is none to
|
||||
use output in script)
|
||||
--log-level, --log [debug|info|warning|error|critical]
|
||||
Logging level of the command
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
__Example__
|
||||
|
||||
```bash
|
||||
❯ ardl info eos-versions -rtype m --branch 4.28
|
||||
['4.28.6.1M', '4.28.6M', '4.28.5.1M', '4.28.5M', '4.28.4M', '4.28.3M']
|
||||
```
|
||||
|
||||
### Download CVP package
|
||||
|
||||
> Supported packages are: OVA, KVM, RPM, Upgrade
|
||||
|
||||
```bash
|
||||
$ ardl get cvp --format upgrade --version 2022.2.1 --log-level debug --output ~/Downloads
|
||||
```
|
||||
|
||||
Available options are :
|
||||
|
||||
```bash
|
||||
--format [ova|rpm|kvm|upgrade] CVP Image type [required]
|
||||
--version TEXT CVP version [required]
|
||||
--output PATH Path to save image [default: .]
|
||||
--log-level, --log [debug|info|warning|error|critical]
|
||||
Logging level of the command
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
Repository requires Python `>=3.6` with following requirements:
|
||||
|
||||
```requirements
|
||||
cvprac
|
||||
cryptography
|
||||
paramiko
|
||||
requests
|
||||
requests-toolbelt
|
||||
scp
|
||||
tqdm
|
||||
```
|
||||
|
||||
On EVE-NG, you may have to install/upgrade __pyOpenSSL__ in version `23.0.0`:
|
||||
|
||||
```bash
|
||||
# Error when running ardl: AttributeError: module 'lib' has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK'
|
||||
|
||||
$ pip install pyopenssl --upgrade
|
||||
```
|
||||
|
||||
## Docker
|
||||
|
||||
Please refer to [docker documentation](docs/docker.md)
|
||||
|
||||
## Author
|
||||
|
||||
From an original idea of [@Mark Rayson](https://github.com/Sparky-python) in [arista-netdevops-community/eos-scripts](https://github.com/arista-netdevops-community/eos-scripts)
|
||||
|
||||
## License
|
||||
|
||||
Code is under [Apache2](LICENSE) License
|
||||
Code is under [Apache2](https://github.com/titom73/eos-downloader/blob/main/LICENSE) License
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue