Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Verwante producten

Golden ISO voor XR-upgrades

Gisobuild-Python-tool

Voorbereiding

GISO-creatie

Verifiëren

Inleiding

Dit document beschrijft de creatie van Golden ISO (GISO) voor upgrades in routers die Cisco IOS® XR-software in eXR-versies uitvoeren.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Cisco IOS XR-software

- Cisco IOS XR-software - installatie- en upgrade-procedures

- Linux-basisopdrachten en navigatie van opdrachtregel

Gebruikte componenten

Dit document is niet beperkt tot specifieke hardwareversies, dit document is van toepassing op alle routers met IOS XR 64 Bit.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.

Verwante producten

Dit document kan ook met deze hardwareversies worden gebruikt:

- Cisco 900 Series routers

- Cisco 800 Series routers

- Cisco NCS 5700 Series routers

- Cisco NCS 550 Series routers

- NCS 540 en 560 routers

Golden ISO voor XR-upgrades

Meestal geeft Cisco IOS-XR-software uit als een mini/basis-ISO die verplichte IOS-XR-pakketten voor een bepaald platform bevat, een set optionele pakketten om extra functies en softwarepatches voor bugfixes uit te voeren in de vorm van Software Maintenance Upgrade (SMU). Optioneel pakket en SMU zijn in RPM verpakkingsformaat.

De Golden ISO tool maakt een ISO met de volledige inhoud van de mini / base ISO samen met optionele pakketten en SMU van de gebruiker keuze. Zodra de Golden ISO is gemaakt, kan deze worden gebruikt voor iPXE-boot of voor SU (systeemupgrade) van de huidige actieve versie naar een nieuwe versie van IOS-XR.

Opmerking: Mini/base ISO is verplicht voor elke Golden ISO-creatie

Gisobuild-Python-tool

Deze tool kan alleen op een Linux-host worden uitgevoerd. Het hulpprogramma kan ook worden uitgevoerd op een Linux-systeem met Docker ingeschakeld en de mogelijkheid om de gepubliceerde 'cisco-xr-gisobuild'-afbeelding uit Docker Hub te halen, wordt bijvoorbeeld gesuggereerd om te werken in Debian 11.8

Deze tool heeft de volgende uitvoerbare vereisten:

- python3 >= 3,6

- toeren/min >= 4,14

- cpio >= 2,10

- gzip >= 1,9

- createrepo_c

- indienen

- isoinfo

- mkisofs

- moksquash

- openssl

- unsquashfs

- 7z (optioneel - maar de functionaliteit kan zonder) worden verminderd

- iso-read (optioneel - maar de functionaliteit kan zonder) worden beperkt

- zip (optioneel - maar de functionaliteit kan zonder) worden verminderd

- unzip (optioneel - maar de functionaliteit kan zonder) worden beperkt

Opmerking: Op een native Linux-systeem, dat niet alle afhankelijkheden heeft voldaan, kunnen de gereedschapsafhankelijkheden worden geïnstalleerd op ondersteunde distributies door de volgende opdracht uit te voeren (mogelijk via sudo): ./setup/prep_dependency.sh

Het vereist ook de volgende Python (>= 3.6) modules:

- gegevensklassen

- defusedxml

- distutils

- verpakken

- toeren/min

- jammeren

Om native te draaien op een Linux-host, zijn de volgende distributies getest, specifiek voor dit scenario, Debian.

- Alma Linux 8

- Fedora 34

- Debian 11.2

Voorbereiding

Het is noodzakelijk om eerst te bevestigen welke optionele pakketten nodig zijn en waarom. Het installeren van overbodige of excessieve pakketten kan problemen met het gebruik van schijfruimte en fouten tijdens de installatie veroorzaken. Bevestig elk platform voorwaarden en eisen voor schijfruimte voorafgaand aan de creatie van GISO.

Als u de benodigde software wilt downloaden, raadpleegt u de Officiële website Software downloaden: Cisco Software Download

Script kan ons helpen om een grote reeks bestanden te verenigen, bijvoorbeeld iso, bridgefixes, SMU's enzovoort.

Is nodig om het gisobuild.py script naar een bepaalde locatie op de server te kopiëren. Het script bevindt zich op Gisobuild Git Site

GISO-creatie

Hier is een samenvatting van argumenten die we kunnen gebruiken voor dit script gebruik:

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]

Dit bijvoorbeeld, wordt een GISO voor ASR 9901 gemaakt, worden ISIS en OSPF pakketten gebruikt voor beknoptheid, mini voor 7.9.21 versie en ook configuratiebestand toegevoegd aan de GISO.

Zoals zichtbaar in de volgende opdracht, worden pakketten, mini- en configuratiebestand gekopieerd in de /src-map, dit om een gewissen versie van het script run commando te maken.

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#

Hier volgt een korte beschrijving van de parameters die voor deze GISO-creatie worden gebruikt:

—ISO ISO

Pad naar Mini.iso/Full.iso bestand

—xrconfig XRCONFIG

Pad naar XR-configuratiebestand

—ETIKET, -l ETIKET

Golden ISO Label

--opschonen

Uitvoer-filter verwijderen voordat u verdergaat

—afbeelding overslaan

Bouw de USB-image niet (niet ondersteund voor ASR9K-platform)

Verifiëren

Zoals de installatielogboeken vermelden, kunnen we onze GISO-creatie bevestigen door de locatie te bekijken, bijvoorbeeld in dit geval. Golden ISO Image Location: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

Per volgende afbeelding, initrd.img is 1.7GB met de installatiepakketten die we hebben opgenomen.

GISO in Debian GUI