Contenido

Introducción

Problema

Solución

Prerequisites

Buscar la etiqueta de imagen de versión

Realice la actualización

Introducción

Este documento describe cómo actualizar el contenedor de docker de Field Network Director (FND) Open Virtualization Appliance (OVA) a una versión más reciente.

El uso de la distribución OVA FND con PostgreSQL incluye instancias de FND y Fog Director ejecutándose en un contenedor Docker. Las imágenes del contenedor no contienen información persistente, ya que se almacena en el propio host y se comparte con los contenedores.

Problema

Falta la documentación y la guía paso a paso para actualizar los contenedores de FND/Fog Director.

Solución

Estos son los pasos para actualizar los contenedores.

Prerequisites

- Asegúrese de que la máquina implementada por OVA sea una implementación de OVA FND basada en PostgreSQL.

Ejecute este comando desde la 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
Como puede ver en el resultado anterior, dos contenedores se están ejecutando usando una imagen fogd y fnd, lo que confirma que tiene la implementación OVA correcta para utilizar esta ruta de actualización.

- Asegúrese de que la máquina tenga acceso a Internet y de que el DNS esté configurado.

Para probar esto, realice un ping a un hostname público.

[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
Si esto falla, lo más probable es que no haya ningún DNS configurado en /etc/resolv.conf

- En caso de que necesite un proxy para permitir el tráfico HTTPS (como en el caso de Cisco Labs), puede agregarlo en el siguiente archivo:
[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"
Después de agregar esta configuración, actualice systemd-services y reinicie Docker:

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

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

Buscar la etiqueta de imagen de versión

Para seleccionar una versión a la que actualizar, la forma más sencilla es revisar la página de descarga de CCO para FND: https://software.cisco.com/download/home/286287993/type/286320249/

Como puede ver, el nombre de archivo contiene el número de versión.

Por ejemplo, para el último archivo en el momento de escribir: CISCO-IOTFND-VPI-K9-4.7.0-101.zip, el número de versión sería: 4.7.0-101

Esta es la etiqueta de imagen que debe proporcionarse en el siguiente paso.

Realice la actualización

Para actualizar, una vez que se hayan cumplido los requisitos previos, simplemente puede ejecutar el script en: /opt/fnd/scripts/upgrade.sh

Cuando ejecute el script, primero elija la opción 1) Cargar imágenes de contenedor

Como credenciales para devhub-docker.cisco.com, puede utilizar lo siguiente:

Nombre de usuario: fnd-upgrade.gen

Contraseña (token): AKCp5fUYZxwj7geWcaEbyKShGtyNxzA3ijWzzXdhuWY7GoR5RVYru2zcAta81fcV4Jndbjq31

Como etiqueta de imagen, utilice el número de versión como se explicó anteriormente (por ejemplo, 4.7.0-101).

Una vez descargadas las imágenes, cárguelas con el uso de la opción 2) Container Reload

Ejemplo de salida:

[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 vez completada, puede verificar si la actualización se realizó correctamente con este comando:

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

4.7.0-101