Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Verwandte Produkte

Goldene ISO für XR-Upgrades

gisobuild Python-Tool

Vorbereitung

Erstellung von GISOs

Überprüfung

Einleitung

Dieses Dokument beschreibt die Erstellung des Golden ISO (GISO) für Upgrades auf Routern, auf denen die Cisco IOS® XR-Software in eXR-Versionen ausgeführt wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Cisco IOS XR-Software

- Cisco IOS XR Software-Installations- und Upgrade-Verfahren

- Linux-Basisbefehle und Navigation in der Befehlszeile

Verwendete Komponenten

Dieses Dokument ist nicht auf bestimmte Hardwareversionen beschränkt. Es gilt für alle Router, auf denen IOS XR 64 Bit ausgeführt wird.

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Verwandte Produkte

Dieses Dokument kann auch mit folgenden Hardwareversionen verwendet werden:

- Router der Cisco 9000 Serie

- Router der Cisco 8000 Serie

- Cisco NCS Router der Serie 5700

- Cisco NCS Router der Serie 5500

- NCS 540 und 560 Router

Goldene ISO für XR-Upgrades

In der Regel veröffentlicht Cisco die IOS-XR-Software als Mini-/Basis-ISO, das obligatorische IOS-XR-Pakete für eine bestimmte Plattform, einen Satz optionaler Pakete zur Ausführung zusätzlicher Funktionen und Software-Patches für Bugfixes in Form von Software Maintenance Upgrade (SMU) enthält. Optionales Paket und SMU sind im RPM-Paketformat.

Das Golden ISO-Tool erstellt ein ISO, das den vollständigen Inhalt des Mini-/Basis-ISO zusammen mit optionalen Paketen und SMU der Benutzerwahl enthält. Sobald das Golden ISO erstellt wurde, kann es entweder für iPXE-Boot oder für SU (System-Upgrade) von der aktuellen laufenden Version auf eine neue Version von IOS-XR verwendet werden.

Hinweis: Mini-/Basis-ISO ist für jede Golden-ISO-Erstellung obligatorisch.

gisobuild Python-Tool

Dieses Tool kann nativ auf einem Linux-Host ausgeführt werden. Alternativ kann das Tool auch auf einem Linux-System ausgeführt werden, auf dem Docker aktiviert ist, und die Möglichkeit, das veröffentlichte 'cisco-xr-gisobuild'-Image vom Docker Hub zu beziehen, für dieses Beispiel wird empfohlen, in Debian 11.8 zu arbeiten

Für dieses Tool gelten die folgenden Anforderungen:

- python3 >= 3,6

- rpm >= 4,14

- cpio >= 2,10

- gzip >= 1,9

- Createrepo_c

- Datei

- Isoinfo

- mkisofs

- mksquashs

- openssl

- Unsquashs

- 7z (Optional - Funktionen können jedoch auch ohne verringert werden)

- iso-read (optional - kann jedoch ohne Einschränkungen verwendet werden)

- zip (optional - Funktionalität kann jedoch reduziert werden, ohne)

- unzip (Optional - Funktionseinschränkungen sind möglich)

Hinweis: Auf einem nativen Linux-System, bei dem nicht alle Abhängigkeiten erfüllt sind, können die Tool-Abhängigkeiten auf unterstützten Distributionen installiert werden, indem der nächste Befehl (möglicherweise über sudo) ausgeführt wird: ./setup/prep_dependency.sh

Außerdem sind die folgenden Python-Module (>= 3.6) erforderlich:

- Datenklassen

- defusedxml

- Disstutils

- Verpackung

- U/min

- Yaml

Um nativ auf einem Linux-Host laufen zu können, wurden die nächsten Distributionen getestet, speziell für dieses Szenario, Debian.

- Alma Linux 8

- Fedora 34

- Debian 11.2

Vorbereitung

Es ist zwingend erforderlich, zuerst zu bestätigen, welche optionalen Pakete benötigt werden und warum. Das Installieren unnötiger oder übermäßiger Pakete kann zu Problemen bei der Festplattenspeichernutzung und zu Fehlern während der Installation führen. Bestätigen Sie vor der Erstellung des GISO alle Plattformvoraussetzungen und Anforderungen an den Festplattenspeicher.

Informationen zum Herunterladen der erforderlichen Software finden Sie auf der offiziellen Website zum Software-Download: Cisco Software Download

Skript kann uns helfen, eine große Anzahl von Dateien zu vereinheitlichen, zum Beispiel ISO, Bridge Fixes, SMUs und so weiter.

Wird benötigt, um das Skript gisobuild.py an einen bestimmten Ort auf dem Server zu kopieren. Das Skript befindet sich auf gisobuild Git Site

Erstellung von GISOs

Im Folgenden finden Sie eine Zusammenfassung der Argumente, die für diese Skriptverwendung verwendet werden können:

usage: gisobuild.py [-h] [--iso ISO] [--repo REPO [REPO ...]]

[--bridging-fixes BRIDGE_FIXES [BRIDGE_FIXES ...]]

[--xrconfig XRCONFIG] [--ztp-ini ZTP_INI] [--label LABEL]

[--no-label] [--out-directory OUT_DIRECTORY]

[--create-checksum] [--yamlfile CLI_YAML] [--clean]

[--pkglist PKGLIST [PKGLIST ...]] [--script SCRIPT]

[--docker] [--x86-only] [--migration] [--optimize]

[--full-iso]

[--remove-packages REMOVE_PACKAGES [REMOVE_PACKAGES ...]]

[--skip-usb-image] [--copy-dir COPY_DIRECTORY]

[--clear-bridging-fixes] [--verbose-dep-check] [--debug]

[--isoinfo ISOINFO] [--image-script IMAGE_SCRIPT]

[--version]

In diesem Beispiel wird ein GISO für ASR 9901 erstellt, ISIS- und OSPF-Pakete werden aus Gründen der Kürze verwendet, mini für Version 7.9.21 und die Konfigurationsdatei werden ebenfalls zum GISO hinzugefügt.

Wie im nächsten Befehl sichtbar, werden Pakete, Mini- und Konfigurationsdateien in das Verzeichnis /src kopiert, um eine gelöschte Version des Skriptlaufbefehls zu erstellen.

root@debian:/gisobuild-master/src# ls

asr9k-9000v-nV-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mcast-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-ipoe-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mgbl-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-pppoe-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mini-x64-7.9.21.iso

asr9k-bng-supp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mpls-te-rsvp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-bng-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-mpls-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-optic-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-eigrp-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-services-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-li-x64-1.0.0.0-r7921.x86_64.rpm

asr9k-m2m-x64-1.0.0.0-r7921.x86_64.rpm

lnt

lntmod

output_gisobuild

utils

validate

wrappers

exrmod

running-config-ASR9K

gisobuild.py

--------GISO CREATION--------

root@debian:/gisobuild-master/src# ./gisobuild.py --iso asr9k-mini-x64-7.9.21.iso --pkglist asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm --xrconfig running-config-ASR9K --label firstGiso --skip-usb-image --clean

System requirements check [PASS]

Platform: asr9k Version: 7.9.21

XR-Config file (/gisobuild-master/src/running-config-ASR9K) will be encapsulated in Golden ISO.

Warning: No RPMS or Optional Matching 7.9.21 packages found in repository

Building Golden ISO...

Summary .....

XR Config file:

router.cfg

...Golden ISO creation SUCCESS.

Golden ISO Image Location: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

Creating USB Boot zip...

Skipping USB Boot Zip creation: Not supported for platform: asr9k

USB BOOT ZIP NEEDED?: Contact asr9k team to add support.

root@debian:/gisobuild-master/src#

Nachfolgend finden Sie eine kurze Beschreibung der Parameter, die für diese GISO-Erstellung verwendet werden:

—iso ISO

Pfad zur Datei Mini.iso/Full.iso

—xrconfig XRCONFIG

Pfad zur XR-Konfigurationsdatei

- Label LABEL, -l LABEL

Goldenes ISO-Label

--clean

Ausgabeverzeichnis löschen, bevor Sie fortfahren

—skip-image

Erstellen Sie das USB-Image nicht (wird für die ASR9K-Plattform nicht unterstützt).

Überprüfung

Wie in den Installationsprotokollen erwähnt, können wir unsere GISO-Erstellung bestätigen, indem wir für dieses Beispiel den Speicherort überprüfen. Speicherort des goldenen ISO-Image: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

Wie im nächsten Bild, initrd.img ist 1,7 GB mit den Installationspaketen, die wir enthalten.

GISO in der Debian-GUI