内容

概要

問題

解決方法

前提条件

バージョンイメージタグの検索

アップグレードの実施

概要

このドキュメントでは、Field Network Director(FND)Open Virtualization Appliance(OVA)dockerコンテナを新しいバージョンにアップグレードする方法について説明します。

PostgreSQLでFND OVA配布を使用すると、Dockerコンテナで実行されるFNDおよびFog Directorインスタンスが付属します。コンテナイメージには、ホスト自体に保存され、コンテナと共有されるため、永続情報は含まれません。

問題

FND/Fog Directorコンテナをアップグレードするためのドキュメントとステップバイステップガイドが欠落しています。

解決方法

コンテナをアップグレードする手順は次のとおりです。

前提条件

- OVAが展開されたマシンがPostgreSQLベースのFND OVA展開であることを確認します。

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
上記の出力からわかるように、fogdイメージとfndイメージを使用して2つのコンテナが実行されており、このアップグレードパスを使用するための正しいOVA展開が行われていることを確認できます。

- マシンにインターネットアクセスがあり、DNSが設定されていることを確認します。

これをテストするには、パブリックホスト名に対してpingを実行します。

[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
これが失敗した場合、おそらく/etc/resolv.confにDNSが設定されていません

- HTTPSトラフィックを許可するプロキシが必要な場合（シスコのラボ演習の場合と同様）、次のファイルに追加できます。
[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"
この設定を追加したら、systemd-servicesを更新し、Dockerを再起動します。

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

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

バージョンイメージタグの検索

アップグレード先のバージョンを選択する最も簡単な方法は、FNDのCCOダウンロードページ(https://software.cisco.com/download/home/286287993/type/286320249/)を確認することです。

ファイル名にはバージョン番号が含まれています。

たとえば、書き込み時の最新ファイルCISCO-IOTFND-VPI-K9-4.7.0-101.zipの場合、バージョン番号は次のようになります。4.7.0-101

これは、次の手順で指定する必要があるイメージタグです。

アップグレードの実施

アップグレードするには、前提条件が満たされたら、/opt/fnd/scripts/upgrade.shでスクリプトを実行するだけできます。

スクリプトを実行する場合は、まずオプション1) Load Container Imagesを選択します

devhub-docker.cisco.comのクレデンシャルとしては、次のコマンドを使用できます。

ユーザ名:fnd-upgrade.gen

パスワード（トークン）:AKCp5fUYZxwj7geWcaEbyKShGtyNxzA3ijWzzXdhuWY7GoR5RVYru2zcAta81V4Jndbjq31

イメージタグとして、前述のバージョン番号(例：4.7.0-101)を使用します。

イメージがダウンロードされたら、オプション2) Container Reloadを使用してイメージをロードします

出力例：

[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

完了したら、次のコマンドを使用して、アップグレードが成功したかどうかを確認できます。

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

4.7.0-101