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