Sommario

Introduzione

Problema

Soluzione

Prerequisiti

Trova il tag immagine versione

Eseguire l'aggiornamento

Introduzione

Questo documento descrive come aggiornare il contenitore del docker di Field Network Director (FND) Open Virtualization Appliance (OVA) a una versione più recente.

L'utilizzo della distribuzione degli OVA FND con PostgreSQL viene fornito con le istanze di FND e Fog Director in esecuzione in un contenitore Docker. Le immagini contenitore non contengono informazioni persistenti, in quanto vengono archiviate nell'host stesso e condivise con i contenitori.

Problema

Manca la documentazione e la guida dettagliata per aggiornare i contenitori FND/Fog Director.

Soluzione

Per aggiornare i contenitori, eseguire la procedura seguente.

Prerequisiti

- Verificare che il computer distribuito tramite OVA sia una distribuzione di OVA basata su PostgreSQL.

Eseguire questo comando dalla CLI:

[root@iot-fnd ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7c32830fa5d9 fogd-image:active "/bin/sh -c '/var/ci…" 5 months ago Up 18 hours fogd-container

5251f66ef0cc fnd-image:active "/bin/sh -c /opt/fnd…" 5 months ago Up 18 hours 0.0.0.0:80->80/tcp, 0.0.0.0:162->162/udp, 0.0.0.0:443->443/tcp, 0.0.0.0:9120-9121->9120-9121/tcp, 0.0.0.0:5683->5683/udp, 0.0.0.0:61624-61626->61624-61626/udp, 0.0.0.0:9124-9125->9124-9125/tcp, 0.0.0.0:61628->61628/udp fnd-container
Come si può vedere nell'output precedente, due contenitori sono in esecuzione utilizzando un'immagine Found e Fnd, che conferma che si dispone della corretta distribuzione degli OAV per utilizzare questo percorso di aggiornamento.

- Verificare che il computer disponga di accesso a Internet e che il DNS sia configurato.

Per verificarlo, eseguire il ping su un nome host pubblico.

[root@iot-fnd ~]# ping cisco.com -c1

PING cisco.com (72.163.4.161) 56(84) bytes of data.

64 bytes from www1.cisco.com (72.163.4.161): icmp_seq=1 ttl=239 time=152 ms

--- cisco.com ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 152.709/152.709/152.709/0.000 ms
Se l'operazione ha esito negativo, molto probabilmente non è stato configurato alcun DNS in /etc/resolv.conf

- Se è necessario un proxy per consentire il traffico HTTPS (come nel caso dei laboratori Cisco), è possibile aggiungerlo nel file seguente:
[root@iot-fnd ~]# vi /etc/systemd/system/docker.service.d/http-proxy.conf

You have mail in /var/spool/mail/root

[root@iot-fnd ~]# cat /etc/systemd/system/docker.service.d/http-proxy.conf

[Service]

Environment="HTTPS_PROXY=http://proxy.esl.cisco.com:80"
Dopo aver aggiunto questa configurazione, aggiornare i servizi di sistema e riavviare Docker:

[root@iot-fnd ~]# systemctl daemon-reload

[root@iot-fnd ~]# systemctl restart docker

Trova il tag immagine versione

Per selezionare una versione a cui effettuare l'aggiornamento, il modo più semplice è controllare la pagina di download CCO per FND: https://software.cisco.com/download/home/286287993/type/286320249/

Come si può vedere, il nome del file contiene il numero di versione.

Ad esempio, per l'ultimo file al momento della scrittura: CISCO-IOTFND-VPI-K9-4.7.0-101.zip, il numero di versione sarebbe: 4.7.0-101

Questo è il tag dell'immagine da fornire nel passaggio successivo.

Eseguire l'aggiornamento

Per eseguire l'aggiornamento, una volta soddisfatti i prerequisiti, è sufficiente eseguire lo script in: /opt/fnd/scripts/upgrade.sh

Quando si esegue lo script, scegliere innanzitutto l'opzione 1) Carica immagini contenitore

Come credenziali per devhub-docker.cisco.com, è possibile utilizzare quanto segue:

Username: fnd-upgrade.gen

Password (token): AKCp5fUYZxwj7geWcaEbyKShGtyNxzA3ijWzzXdhuWY7GoR5RVYru2zcAta81fcV4Jndbjq31

Come tag immagine, utilizzare il numero di versione come spiegato in precedenza (ad esempio 4.7.0-101).

Una volta scaricate le immagini, caricarle utilizzando l'opzione 2) Container Reload

Output di esempio:

[root@iot-fnd ~]# /opt/fnd/scripts/upgrade.sh

This script must be run with root privileges.

Usage: Load container images: No resource required

For container reload: No resource required

1) Load container images

2) Container reload

3) Quit

Enter your choice: 1

Do you want to download docker image from registry (y/n)?y

Enter docker registry [devhub-docker.cisco.com]:

For FND Docker image upgrade you will need access to Cisco CCO docker registry.

Username: fnd-upgrade.gen

Password:

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.

Configure a credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

Enter docker image tag: 4.7.0-101

Downloading FND docker image...

4.7.0-101: Pulling from field-network-director-docker/fnd-image

f34b00c7da20: Already exists

9c542cd3c18f: Pull complete

b0929d67d1de: Pull complete

e82d75ddb5ee: Pull complete

95df7d16861d: Pull complete

184d612a5ba6: Pull complete

90d6558240a2: Pull complete

81a31ac85436: Pull complete

Digest: sha256:b7ef566386d318a2e186350077970a9b4f0019d455521c053cdd75c139f5627c

Status: Downloaded newer image for devhub-docker.cisco.com/field-network-director-docker/fnd-image:4.7.0-101

Downloading Fog Director docker image...

4.7.0-101: Pulling from fog-director-docker/fogd-image

ed6e0ec6b337: Pull complete

2c42dd52f029: Pull complete

6b4fd7880141: Pull complete

7d56b7ff004c: Pull complete

c719de3d527a: Pull complete

ccca86184ecc: Pull complete

b45dc2906bcc: Pull complete

e4f23b432923: Pull complete

Digest: sha256:39f3a30c63a06f0909337ffb9fa503d642e6c567343a04edb8f58b3a6962eced

Status: Downloaded newer image for devhub-docker.cisco.com/fog-director-docker/fogd-image:4.7.0-101

1) Load container images

2) Container reload

3) Quit

Enter your choice: 2

Stopping FND container...

fnd-container

Remove FND container...

fnd-container

Prune Docker container...

Starting FND container...

75c7d97e775d6345114ad940652ff80cbaf5dabbbf9e23e549202d6fe5e96b11

Stopping Fog Director container...

fogd-container

Remove Fog Director container...

fogd-container

Prune Docker container...

Starting Fog Director container...

1ca848a1b14155c8358eb0ff70fc7b0a55810743c531c4770f6e471e343f91ad

1) Load container images

2) Container reload

3) Quit

Enter your choice: 3

Una volta completato, è possibile verificare se l'aggiornamento è riuscito con questo comando:

[root@iot-fnd ~]# docker exec -it fnd-container cat /opt/cgms/bin/version

4.7.0-101