Contenu

Introduction

Problème

Solution

Conditions préalables

Rechercher la balise d'image de version

Effectuer la mise à niveau

Introduction

Ce document décrit comment mettre à niveau le conteneur de docker Open Virtualization Appliance (OVA) de Field Network Director (FND) vers une version plus récente.

L'utilisation de la distribution FND OVA avec PostgreSQL est fournie avec les instances FND et Fog Director exécutées dans un conteneur Docker. Les images de conteneur ne contiennent aucune information persistante, car elle est stockée sur l'hôte lui-même et partagée avec les conteneurs.

Problème

Il manque de la documentation et un guide détaillé pour mettre à niveau les conteneurs FND/Fog Director.

Solution

Voici les étapes à suivre pour mettre à niveau les conteneurs.

Conditions préalables

- Assurez-vous que la machine déployée OVA est un déploiement OVA FND basé sur PostgreSQL.

Exécutez cette commande à partir de l'interface de ligne de commande :

[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
Comme vous pouvez le voir dans le résultat ci-dessus, deux conteneurs sont en cours d'exécution à l'aide d'une image de brouillard et de fichier, ce qui confirme que vous avez le déploiement OVA correct pour utiliser ce chemin de mise à niveau.

- Assurez-vous que l'ordinateur dispose d'un accès Internet et que DNS est configuré.

Afin de tester ce paramètre, exécutez une requête ping vers un nom d’hôte public.

[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 cela échoue, il est probable qu'aucun DNS n'est configuré dans /etc/resolv.conf

- Si vous avez besoin d'un proxy pour autoriser le trafic HTTPS (comme c'est le cas pour les travaux pratiques Cisco), vous pouvez l'ajouter dans le fichier suivant :
[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"
Après avoir ajouté cette configuration, actualisez les services système et redémarrez Docker :

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

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

Rechercher la balise d'image de version

Afin de sélectionner une version vers laquelle effectuer la mise à niveau, le moyen le plus simple est de consulter la page de téléchargement CCO pour FND : https://software.cisco.com/download/home/286287993/type/286320249/

Comme vous pouvez le voir, le nom du fichier contient le numéro de version.

Par exemple, pour le dernier fichier au moment de la rédaction du présent document : CISCO-IOTFND-VPI-K9-4.7.0-101.zip, le numéro de version est le suivant : 4.7.0-101

Il s'agit de la balise d'image qui doit être fournie à l'étape suivante.

Effectuer la mise à niveau

Afin de mettre à niveau, une fois les conditions requises remplies, vous pouvez simplement exécuter le script dans : /opt/fnd/scripts/upgrade.sh

Lorsque vous exécutez le script, choisissez d'abord l'option 1) Charger les images du conteneur

En tant qu'informations d'identification pour devhub-docker.cisco.com, vous pouvez utiliser les éléments suivants :

username (nom d’utilisateur) : fnd-upgrade.gen

Mot de passe (jeton) : AKCp5fUYZxwj7geWcaEbyKShGtyNxzA3ijWzzXdhuWY7GoR5RVYru2zcAta81fcV4Jndbjq31

En tant que balise image, utilisez le numéro de version comme expliqué précédemment (par exemple 4.7.0-101).

Une fois les images téléchargées, chargez-les à l'aide de l'option 2) Rechargement du conteneur

Exemple de rapport :

[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

Une fois terminé, vous pouvez vérifier si la mise à niveau a réussi avec cette commande :

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

4.7.0-101