1
0
Fork 0

Merging upstream version 0.10.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-05 13:50:35 +01:00
parent 5bb53e823c
commit 5145e72015
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
5 changed files with 21 additions and 15 deletions

View file

@ -128,6 +128,7 @@ def eos(
console = Console()
# Get from Context
token = ctx.obj["token"]
is_latest: bool = False
if token is None or token == "":
console.print(
"❗ Token is unset ! Please configure ARISTA_TOKEN or use --token option",
@ -156,6 +157,7 @@ def eos(
my_download.authenticate()
elif latest:
is_latest = True
my_download = eos_downloader.eos.EOSDownloader(
image=image_type,
software="EOS",
@ -180,7 +182,7 @@ def eos(
my_download.download_local(file_path=output, checksum=True)
if import_docker:
my_download.docker_import(image_name=docker_name)
my_download.docker_import(image_name=docker_name, is_latest=is_latest)
console.print("✅ processing done !")
sys.exit(0)

View file

@ -137,8 +137,7 @@ class EOSDownloader(ObjectDownloader):
selected_branch = EosVersion.from_str(BASE_BRANCH_STR)
for branch in self._get_branches(with_rtype=rtype):
branch = EosVersion.from_str(branch)
if branch > selected_branch:
selected_branch = branch
selected_branch = max(selected_branch, branch)
return selected_branch
def get_eos_versions(

View file

@ -547,7 +547,9 @@ class ObjectDownloader:
if noztp:
self._disable_ztp(file_path=file_path)
def docker_import(self, image_name: str = "arista/ceos") -> None:
def docker_import(
self, image_name: str = "arista/ceos", is_latest: bool = False
) -> None:
"""
Import docker container to your docker server.
@ -561,6 +563,9 @@ class ObjectDownloader:
logger.info(f"Importing image {self.filename} to {docker_image}")
console.print(f"🚀 Importing image {self.filename} to {docker_image}")
os.system(f"$(which docker) import {self.filename} {docker_image}")
if is_latest:
console.print(f"🚀 Configuring {docker_image}:{self.version} to be latest")
os.system(f"$(which docker) tag {docker_image} {image_name}:latest")
for filename in glob.glob(f"{self.filename}*"):
try:
os.remove(filename)