Contents

Introdução

Pré-requisitos

Requisitos

Componentes Utilizados

Produtos Relacionados

ISO dourado para atualizações XR

Ferramenta Python gisobuild

Preparação

Criação de GISO

Verificar

Introdução

Este documento descreve a criação do Golden ISO (GISO) para atualizações em roteadores que executam o software Cisco IOS® XR em versões eXR.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- Cisco IOS XR Software

- Procedimentos de instalação e atualização do software Cisco IOS XR

- Comandos básicos do Linux e navegação na linha de comando

Componentes Utilizados

Este documento não está restrito a versões de hardware específicas, este documento aplica-se a todos os roteadores que executam IOS XR de 64 bits.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Produtos Relacionados

Este documento também pode ser usado com estas versões de hardware:

- Cisco 9000 Series Routers

- Cisco 8000 Series Routers

- Roteadores Cisco NCS 5700 Series

- Roteadores Cisco NCS 5500 Series

- Roteadores NCS 540 e 560

ISO dourado para atualizações XR

Normalmente, a Cisco lança o software IOS-XR como um mini/base ISO que contém pacotes IOS-XR obrigatórios para uma determinada plataforma, um conjunto de pacotes opcionais para executar recursos adicionais e patches de software para quaisquer correções de bugs na forma de atualização de manutenção de software (SMU). O pacote opcional e o SMU estão no formato de pacote RPM.

A ferramenta Golden ISO cria um ISO que contém o conteúdo completo do mini/base ISO junto com pacotes opcionais e SMU da escolha do usuário. Uma vez que o ISO dourado é criado, ele pode ser usado para inicialização iPXE ou usado para SU (atualização do sistema) da versão atual em execução para uma nova versão do IOS-XR.

Nota: Mini/base ISO é obrigatório para qualquer criação de Golden ISO

Ferramenta Python gisobuild

Essa ferramenta pode ser executada nativamente em um host Linux. Alternativamente, a ferramenta também pode ser executada em um sistema Linux com o Docker habilitado e a capacidade de extrair a imagem publicada 'cisco-xr-gisobuild' do Docker Hub, para este exemplo é sugerido trabalhar no Debian 11.8

Esta ferramenta tem os seguintes requisitos executáveis:

- python3 >= 3,6

- rpm >= 4,14

- cpio >= 2,10

- gzip >= 1,9

- createrepo_c

- arquivo

- isoinfo

- mkisofs

- mksquashfs

- openssl

- unsquashfs

- 7z (Opcional - mas a funcionalidade pode ser reduzida sem)

- iso-read (Opcional - mas a funcionalidade pode ser reduzida sem)

- zip (Opcional - mas a funcionalidade pode ser reduzida sem)

- unzip (Opcional - mas a funcionalidade pode ser reduzida sem)

Observação: em um sistema Linux nativo, que não possui todas as dependências atendidas, as dependências da ferramenta podem ser instaladas em distribuições suportadas executando o próximo comando (possivelmente via sudo): ./setup/prep_dependency.sh

Também requer os próximos módulos Python (>= 3.6):

- classes de dados

- defusedxml

- distutils

- empacotamento

- rpm

- yaml

Para rodar nativamente em um host Linux, as próximas distribuições foram testadas, especificamente para este cenário, Debian.

- Linux Alma 8

- Fedora 34

- Debian 11.2

Preparação

É essencial confirmar primeiro quais pacotes opcionais são necessários e por quê. A instalação de pacotes desnecessários ou excessivos pode produzir problemas e falhas de utilização de espaço em disco durante a instalação. Confirme os pré-requisitos e requisitos de cada plataforma para o espaço em disco antes da criação do GISO.

Para fazer o download do software necessário, consulte o site de Download de Software Oficial: Download de Software da Cisco

O script pode nos ajudar a unificar uma grande variedade de arquivos, por exemplo, iso, correções de bridge, SMUs e assim por diante.

É necessário para copiar o script gisobuild.py para um local específico no servidor. O script está localizado no site Gisobuild Git

Criação de GISO

Aqui está um resumo dos argumentos que podemos usar para este uso de script:

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]

Para este exemplo, é criado um GISO para ASR 9901, os pacotes ISIS e OSPF são usados para abreviar, mini para a versão 7.9.21 e o arquivo de configuração também é adicionado ao GISO.

Como é visível no próximo comando, os pacotes, mini e arquivo de configuração são copiados no diretório /src, isso para criar uma versão limpa do comando de execução de script.

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#

Aqui está uma breve descrição dos parâmetros usados para esta criação de GISO:

— iso ISO

Caminho para o arquivo Mini.iso/Full.iso

— xrconfig XRCONFIG

Caminho para o arquivo de configuração XR

— label RÓTULO, - l RÓTULO

Etiqueta ISO dourada

--clean

Excluir diretório de saída antes de continuar

— skip- image

Não criar a imagem USB (não compatível com a plataforma ASR9K)

Verificar

Como os registros de instalação mencionam, podemos confirmar nossa criação de GISO revisando o local, neste exemplo. Local da imagem ISO dourada: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso

De acordo com a próxima imagem, initrd.img é de 1,7 GB contendo os pacotes de instalação que incluímos.

GISO na GUI Debian