In-Service Model Update

このモジュールでは、In-Service Model Update によりデバイス上の YANG データ モデルを更新する方法を説明します。

In-Service Model Update の制約事項

  • ハイ アベイラビリティまたは In-Service Software Upgrade(ISSU)はサポートされていません。スイッチオーバーの後、ユーザはスタンバイ デバイスにソフトウェア メンテナンス アップデート(SMU)をインストールする必要があります。

In-Service Model Update について

In-Service Model Update の概要

サービス中モデル更新プログラムは、既存のデータモデルに新しいデータ モデルまたは拡張機能を追加します。サービス中モデル更新プログラムは、リリース サイクル外の YANG モデルの拡張機能を提供します。更新プログラム パッケージはすべての既存のモデルの上位セットです。これには、更新された YANG モデルを始めとするすべての既存モデルが含まれています。

データ モデル インフラストラクチャは、Cisco IOS XE デバイス用の YANG モデル定義管理インターフェイスを実装します。データ モデル インフラストラクチャは、Cisco IOS XE デバイスからノースバウンドに NETCONF インターフェイスを公開します。サポートされているデータ モデルには、IETF などの業界標準モデルと、Cisco IOS XE デバイス固有のモデルが含まれます。

In-Service Model Update によって提供される機能は、その後の Cisco IOS XE ソフトウェア メンテナンス リリースに統合されます。データ モデル更新プログラム パッケージは、シスコ ソフトウェア ダウンロード センター からダウンロードできます。

In-Service Model Update パッケージの互換性

更新パッケージは、リリース単位で作成され、プラットフォームに固有になります。たとえば、Cisco ASR 1000 シリーズ アグリゲーション サービス ルータの更新パッケージを Cisco CSR 1000V シリーズ クラウド サービス ルータにインストールすることはできません。同様に、Cisco IOS XE Fuji 16.7.1 用に作成された更新パッケージを、Cisco IOS XE Everest 16.5.2 バージョンを実行しているデバイスに適用することはできません。

更新プログラム パッケージのすべてのコンテンツは、将来のメインライン リリースまたはメンテナンス リリースのイメージの一部になります。イメージとプラットフォームのバージョンは、パッケージの追加およびアクティブ化の際に、In-Service Model Update コマンドによってチェックされます。イメージまたはプラットフォームの不一致が発生すると、パッケージのインストールが失敗します。

更新プログラム パッケージの命名規則

In-Service Model Update は、.bin ファイルとしてパッケージ化されています。このファイルには、特定のリリースおよびプラットフォームのすべての更新プログラムと、Readme ファイルが含まれています。これらのファイルにはリリース日があり、追加モデルの更新をともなって定期的に更新されます。

データ モデルの更新プログラム パッケージの命名規則は、次の形式に従っています。プラットフォームの種類-ライセンス レベル.リリース バージョン.DDTS ID-ファイル。次に、データ モデル更新ファイルの例を示します。

  • isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin

  • asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

Readme ファイルは、次の情報を提供します。

  • データ モデルのアクティブ化または非アクティブ化中に表示されるコンソール メッセージおよびエラー メッセージ

  • データ モデルのインストールによる影響

  • 副作用と考えられる回避策

  • In-Service Model Update によって影響を受けるパッケージ

  • リスタートのタイプ

更新プログラム パッケージのインストール

デバイスに In-Service Model Update パッケージをインストールするには、install add install activate、および install commit コマンドを特権 EXEC モードで使用します。

install add コマンドは、更新パッケージをリモートの場所からデバイスにコピーします。パッケージをコピーするには他の方法も使用できますが、その場合も、インストールしたプログラムを動作させるために install add コマンドを有効化する必要があります。 install activate コマンドを動作させるには、パッケージをデバイスのブートフラッシュで使用可能にする必要があります。install commit コマンドを有効化して、更新プログラムをリロード全体にわたって確定します。

更新プログラムをインストールすると、以前にインストールされたデータ モデルがある場合、それは置き換えられます。デバイスには常に、1 つの更新プログラムのみがインストールされます。データ モデル パッケージには、すべての更新された YANG モデルと、以前にデバイスにインストールされたすべての既存 YANG モデルが含まれています。

次のフロー チャートでは、モデル更新プログラム パッケージの動作を説明します。

図 1. モデル更新プログラム パッケージのコミット

パッケージをアクティブ化する際に NETCONF-YANG が有効化されていると、NETCONF プロセスがリスタートされます。すべてのアクティブな NETCONF セッションは、パッケージのアクティブ化中に破棄されます。パッケージの検証中にエラーが発生すると、アクティブ化プロセスは終了します。

更新プログラム パッケージの非アクティブ化

更新パッケージを非アクティブ化するには、install deactivate コマンドを使用します。変更を確定するには、install commit コマンドを有効化します。

表 1. モデル更新プログラム パッケージの非アクティブ化

操作

使用コマンド

パッケージの削除

install remove コマンドを使用します。

(注)  

 

パッケージを削除する前に非アクティブ化します。

パッケージの非アクティブ化

install deactivate コマンドを使用し、その後に install commit コマンドを使用します。

(注)  

 

install commit コマンドの使用が必要なのは、モデル パッケージの非アクティブ化をリロード全体にわたって確定するためです。非アクティブ化がコミットされていないと、その後にパッケージを削除しようとしても失敗します。

更新プログラムを非アクティブ化する際に、2 つ以上のモデル更新プログラム パッケージがインストールされている場合、最近コミットされたモデル更新プログラム パッケージがデバイスによって使用されるモデル パッケージになります。以前にコミットされたその他のモデル パッケージがない場合、標準的なイメージとともに含まれているベース バージョンのデータ モデルが使用されるようになります。

更新プログラム パッケージのロールバック

ロールバックは、デバイスを更新前の動作状態に戻すメカニズムを提供します。ロールバック後は、変更が表示されるようになる前に NETCONF-YANG プロセスが再始動します。

更新は、 install rollback コマンドを使用して、基本バージョン、最終コミット バージョン、または既知のコミット ID までロールバックできます。

In-Service Model Update の管理方法

更新プログラム パッケージの管理

手順の概要

  1. enable
  2. install add file tftp: filename
  3. install activate file bootflash: filename
  4. install commit
  5. install deactivate file bootflash: filename
  6. install commit
  7. install rollback to {base | committed | id commit-ID}
  8. install remove {file bootflash: filename | inactive}
  9. show install summary

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

enable

例:

Device> enable

特権 EXEC モードを有効にします。

  • パスワードを入力します(要求された場合)。

ステップ 2

install add file tftp: filename

例:

Device# install add file tftp://172.16.0.1//tftpboot/folder1/
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin 
Device# install add file tftp://172.16.0.1//tftpboot/folder1/
asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

リモート ロケーションから(FTP、TFTP 経由で)デバイスにモデル更新プログラム パッケージをコピーし、プラットフォームとイメージのバージョンの互換性チェックを実行します。

  • 他の方法を使用してリモートの場所からデバイスに更新パッケージをコピーすることもできます。ただし、その場合もパッケージをアクティブにする前に install add コマンドを実行する必要があります。

ステップ 3

install activate file bootflash: filename

例:

Device# install activate file bootflash:
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Device# install activate file bootflash:
asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

更新パッケージが install add コマンドにより追加されていることを確認し、NETCONF プロセスを再開します。

  • 更新パッケージをアクティブにする前に install add 操作を実行します。

ステップ 4

install commit

例:

Device# install commit

リロードが繰り返されても持続する変更を行います。

  • NETCONF プロセスは再開されません。

ステップ 5

install deactivate file bootflash: filename

例:

Device# install deactivate file bootflash:
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Device# install deactivate file bootflash:
asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

指定された更新プログラム パッケージを非アクティブにして、NETCONF プロセスを再開します。

ステップ 6

install commit

例:

Device# install commit

リロードが繰り返されても持続する変更を行います。

  • NETCONF プロセスは再開されません。

ステップ 7

install rollback to {base | committed | id commit-ID}

例:

Device# install rollback to base

更新を基本バージョン、最後にコミットしたバージョン、または既知のコミット ID にロールバックし、NETCONF プロセスを再起動します。

  • commit-id 引数の有効な値は 1 ~ 4294967295 です。

  • データ モデル更新の古いバージョンが使用可能です。

ステップ 8

install remove {file bootflash: filename | inactive}

例:

Device# install remove file bootflash:
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Device# install remove file bootflash:
asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

指定された更新プログラム パッケージをブートフラッシュから削除します。

  • パッケージは削除する前に非アクティブにする必要があります。

ステップ 9

show install summary

例:

Device# show install summary

アクティブ パッケージに関する情報を表示します。

  • このコマンドの出力は、設定されている install コマンドに応じて変化します。

In-Service Model Update の設定例

例:更新プログラム パッケージの管理

次の例で使用しているのは、Cisco 4000 シリーズ サービス統合型ルータのサンプル イメージです。

次の例では、モデル更新プログラム パッケージ ファイルの追加方法を示しています。

Device# install add file tftp://172.16.0.1//tftpboot/folder1/
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin

install_add: START Sun Feb 26 05:57:04 UTC 2017
Downloading file tftp://172.16.0.1//tftpboot/folder1/isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Finished downloading file tftp://172.16.0.1//tftpboot/folder1/isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
to bootflash:isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
SUCCESS: install_add /bootflash/isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin 
Sun Feb 26 05:57:22 UTC 2017
Device#

次の例で使用しているのは、Cisco ASR1000 シリーズ アグリゲーション サービス ルータのサンプル イメージです。

次の例では、モデル更新プログラム パッケージ ファイルの追加方法を示しています。

Device# install add file tftp://172.16.0.1//tftpboot/folder1/
asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin

install_add: START Sun Feb 26 05:57:04 UTC 2017
Downloading file tftp://172.16.0.1//tftpboot/folder1/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
Finished downloading file tftp://172.16.0.1//tftpboot/folder1/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
to bootflash: asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
SUCCESS: install_add /bootflash/asr1000-universalk9.2017-08-23_17.48.0.CSCxxxxxxx.SSA.dmp.bin
Sun Feb 26 05:57:22 UTC 2017
Device#

次に、更新パッケージ ファイルをデバイスに追加した後の show install summary コマンドの出力例を示します。

Device# show install summary

Active Packages:
No packages
Inactive Packages:
bootflash: isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Committed Packages:
No packages
Uncommitted Packages:
No packages
Device#

次の例では、追加された更新プログラム パッケージ ファイルをアクティブにする方法を示しています。

Device# install activate file bootflash:
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin

install_activate: START Sun Feb 26 05:58:41 UTC 2017
DMP package.
Netconf processes stopped
SUCCESS: install_activate /bootflash/isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin 
Sun Feb 26 05:58:58 UTC 2017*Feb 26 05:58:47.655: %DMI-4-CONTROL_SOCKET_CLOSED: 
SIP0: nesd: Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
*Feb 26 05:58:47.661: %DMI-4-SUB_READ_FAIL: SIP0: vtyserverutild: 
Confd subscription socket read failed Lost connection to ConfD (45): 
EOF on socket to ConfD.
*Feb 26 05:58:47.667: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: syncfd: 
Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
*Feb 26 05:59:43.269: %DMI-5-SYNC_START: SIP0: syncfd: 
External change to running configuration detected. 
The running configuration will be synchronized to the NETCONF running data store.
*Feb 26 05:59:44.624: %DMI-5-SYNC_COMPLETE: SIP0: syncfd: 
The running configuration has been synchronized to the NETCONF running data store.
Device#

次に示すのは、show install summary コマンドがモデル パッケージのステータスをアクティブでありコミット未完了と表示する場合の出力例です。

Device# show install summary

Active Packages:
bootflash:isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Inactive Packages:
No packages
Committed Packages:
No packages
Uncommitted Packages:
bootflash:isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Device#

次の例では、install commit コマンドの実行方法を示しています。

Device# install commit 

install_commit: START Sun Feb 26 06:46:48 UTC 2017
SUCCESS: install_commit Sun Feb 26 06:46:52 UTC 2017
Device#

次に示すのは、show install summary コマンドが、更新パッケージがコミットされてリロードが繰り返されても持続することを表示する場合の出力例です。

Device# show install summary

Active Packages:
bootflash:isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Inactive Packages:
No packages
Committed Packages:
bootflash:isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Uncommitted Packages:
No packages
Device#

次の例は、更新プログラム パッケージを基本パッケージにロールバックする方法を示しています。

Device# install rollback to base

install_rollback: START Sun Feb 26 06:50:29 UTC 2017
7 install_rollback: Restarting impacted processes to take effect
7 install_rollback: restarting confd
*Feb 26 06:50:34.957: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: syncfd: 
Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
*Feb 26 06:50:34.962: %DMI-4-CONTROL_SOCKET_CLOSED: SIP0: nesd: 
Confd control socket closed Lost connection to ConfD (45): EOF on socket to ConfD.
*Feb 26 06:50:34.963: %DMI-4-SUB_READ_FAIL: SIP0: vtyserverutild: 
Confd subscription socket read failed Lost connection to ConfD (45): 
EOF on socket to ConfD.Netconf processes stopped
7 install_rollback: DMP activate complete
SUCCESS: install_rollback Sun Feb 26 06:50:41 UTC 2017
*Feb 26 06:51:28.901: %DMI-5-SYNC_START: SIP0: syncfd: 
External change to running configuration detected. 
The running configuration will be synchronized to the NETCONF running data store.
*Feb 26 06:51:30.339: %DMI-5-SYNC_COMPLETE: SIP0: syncfd: 
The running configuration has been synchronized to the NETCONF running data store.
Device#

次に、show install package コマンドの出力例を示します。

Device# show install package bootflash:
isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin

Name: isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin
Version: 16.5.1.0.199.1484082952..Everest
Platform: ISR4300
Package Type: dmp
Defect ID: CSCxxxxxxx
Package State: Added
Supersedes List: {}
Smu ID: 1
Device#

次の NETCONF hello メッセージの例では、新規データ モデル パッケージのバージョンを確認します。


Getting Capabilities: (admin @ 172.16.0.1:830)
PROTOCOL netconf
<?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:capability:writable-running:1.0</capability>
<capability>urn:ietf:params:netconf:capability:xpath:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.0</capability>
<capability>urn:ietf:params:netconf:capability:validate:1.1</capability>
<capability>urn:ietf:params:netconf:capability:rollback-on-error:1.0</capability>
<capability>urn:ietf:params:netconf:capability:notification:1.0</capability>
<capability>urn:ietf:params:netconf:capability:interleave:1.0</capability>
<capability>http://tail-f.com/ns/netconf/actions/1.0</capability>
<capability>http://tail-f.com/ns/netconf/extensions</capability>
<capability>urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=
explicit&also-supported=report-all-tagged</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-netconf-with-defaults?
revision=2011-06-01&module=ietf-netconf-with-defaults</capability>
<capability>http://cisco.com/ns/yang/Cisco-IOS-XE-aaa?module=
Cisco-IOS-XE-aaa&revision=2017-02-07</capability>
<<capability>http://cisco.com/ns/yang/Cisco-IOS-XE-native?module=
Cisco-IOS-XE-native&revision=2017-01-07&features=virtual-
template,punt-num,multilink,eth-evc,esmc,efp,dot1x</capability>
Device#

次に、show install log コマンドの出力例を示します。

Device# show install log

[0|install_op_boot]: START Fri Feb 24 19:20:19 Universal 2017
[0|install_op_boot]: END SUCCESS Fri Feb 24 19:20:23 Universal 2017
[3|install_add]: START Sun Feb 26 05:55:31 UTC 2017
[3|install_add( FATAL)]: File path (scp) is not yet supported for this command
[4|install_add]: START Sun Feb 26 05:57:04 UTC 2017
[4|install_add]: END SUCCESS /bootflash/isr4300-universalk9.16.05.01.CSCxxxxxxx.dmp.bin 
Sun Feb 26 05:57:22 UTC 2017
[5|install_activate]: START Sun Feb 26 05:58:41 UTC 2017
Device#

次の例で使用しているのは、Cisco Catalyst 3000 シリーズ スイッチのサンプル イメージです。

次の例では、モデル更新プログラム パッケージ ファイルの追加方法を示しています。

Device# install add file tftp://172.16.0.1//tftpboot/folder1/
cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin

install_add: START Sat Jul 29 05:57:04 UTC 2017
Downloading file tftp://172.16.0.1//tftpboot/folder1/
cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin
Finished downloading file tftp://172.16.0.1//tftpboot/folder1/
cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.SPA.smu.bin
to bootflash:cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin
SUCCESS: install_add /bootflash/cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin 
Sat Jul 29 05:57:22 UTC 2017
Device#

次に示すのは、show install summary コマンドが、更新パッケージがコミットされてリロードが繰り返されても持続することを表示する場合の出力例です。

Device# show install summary

Active Packages:
bootflash:cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin 
Inactive Packages:
No packages
Committed Packages:
bootflash:cat3k_caa-universalk9.16.06.01.CSCxxxxxxx.dmp.bin 
Uncommitted Packages:
No packages
Device#

In-Service Model Update の機能情報

次の表に、このモジュールで説明した機能に関するリリース情報を示します。この表は、ソフトウェア リリース トレインで各機能のサポートが導入されたときのソフトウェアリリースだけを示しています。その機能は、特に断りがない限り、それ以降の一連のソフトウェアリリースでもサポートされます。

プラットフォームのサポートおよびシスコ ソフトウェアイメージのサポートに関する情報を検索するには、Cisco Feature Navigator を使用します。Cisco Feature Navigator にアクセスするには、www.cisco.com/go/cfn に移動します。Cisco.com のアカウントは必要ありません。
表 2. In-Service Model Update の機能情報

機能名

リリース

機能情報

In-Service Model Update

Cisco IOS XE Everest 16.5.1a

Cisco IOS XE Everest 16.5.1b

このモジュールでは、In-Service Model Update で YANG データ モデルを更新する方法を説明します。

Cisco IOS XE Everest 16.5.1a では、この機能は次のプラットフォームに実装されていました。

  • Cisco Catalyst 9300 シリーズ スイッチ

  • Cisco Catalyst 9500 シリーズ スイッチ

Cisco IOS XE Everest 16.5.1b では、この機能は次のプラットフォームに実装されていました。

  • Cisco 4000 シリーズ サービス統合型ルータ

  • Cisco クラウド サービス ルータ 1000v

  • Cisco サービス統合型仮想ルータ(ISRv)

コマンド install (Programmability)show install (Programmability) が導入または更新されました。

Cisco IOS XE Everest 16.6.1

Cisco IOS XE Everest 16.5.1b では、この機能は次のプラットフォームに実装されていました。

  • Cisco Catalyst 3650 シリーズ スイッチ

  • Cisco Catalyst 3850 シリーズ スイッチ

Cisco IOS XE Fuji 16.7.x

Cisco IOS XE Fuji 16.7.x では、この機能は次のプラットフォームに実装されていました。

  • Cisco 1000 シリーズ アグリゲーション サービス ルータ

Cisco IOS XE Fuji 16.8.1a

Cisco IOS XE Fuji 16.8.1a では、この機能は Cisco Catalyst 9500 ハイ パフォーマンス シリーズ スイッチに実装されていました。