ソフトウェアアップグレード作業は Catalyst Center SWIM の新機能を使おう！


この投稿はシスコシステムズ合同会社の有志でお送りする Advent Calendar 2024 の一環でお届けします。
ぜひ他の投稿もご覧ください！

https://qiita.com/advent-calendar/2024/cisco

:::note info
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本 Web サイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本 Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。
:::

# 1. はじめに
年末年始にネットワーク機器のソフトウェアアップグレードを計画されている方も多いのではないでしょうか？

ぜひ、Catalyst Center の SWIM 機能を使って「素早く！」「簡単に！」作業を完了させましょう！

本記事では Catalyst Center（バージョン 2.3.7 ）の SWIM 新機能を使って、ネットワーク機器を簡単にソフトウェアアップグレードする方法をご紹介します！

# 2. Catalyst Center SWIM 機能とは
みなさま、Catalyst Center の SWIM という機能はご存じでしょうか？

SWIM (SoftWare Image Management) は、ネットワーク機器のソフトウェアアップグレードを GUI 上で簡単に行える、Catalyst Center の Automation 機能の一つです。

具体的には、ソフトウェアイメージのダウンロード、ネットワーク機器へのソフトウェアイメージの配布、そしてソフトウェアイメージの適用(アップグレード作業)までの一連の作業を Catalyst Center の GUI 画面で簡単に実施できるのが特徴です。

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/26810881-a817-958b-cca8-4fa577c95645.jpeg)

:::note info
バージョン 2.3.7 から、SWIM の実行順序が制御できるようになりました！
今までより、さらに使いやすく進化しています！
:::

では、今回の検証環境をお伝えしてから、SWIM を活用してソフトウェアアップグレード(新機能も含めながら)実施してみたいと思います。

# 3. 検証環境
今回使用する検証環境は以下の通りです。

・Catalyst Center (バージョン 2.3.7)
・Catalyst 9300-24P 2台
　 - Border スイッチ (バージョン 17.9.4)
　 - Edge1 スイッチ (バージョン 17.9.4)


この2台のスイッチ（ Border スイッチと Edge1 スイッチ）を SWIM 機能にて、バージョン 17.12.04 にアップグレードしたいと思います。

![+1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/cf1b3161-2871-ff36-9a6f-840e7d468b79.jpeg)

SWIM 機能を利用するにあたり、Catalyst Center で以下の点は実施済みです。
必要に応じて、参考ドキュメントをご確認ください。

・ 対象デバイスはインベントリに登録済
・ 対象デバイスが SWIM 機能に対応していることを確認済
　→　[Cisco Catalyst Center Compatibility Matrix](https://www.cisco.com/c/dam/en/us/td/docs/Website/enterprise/catalyst_center_compatibility_matrix/index.html)
・ ソフトウェアダウンロード権限のある Cisco.com アカウントを登録済
　→　[Cisco DNA Center リリース 2.3.7.x 管理者ガイド (シスコのクレデンシャルの設定)](https://www.cisco.com/c/ja_jp/td/docs/cloud-systems-management/network-automation-and-management/dna-center/2-3-7/admin_guide/b_cisco_dna_center_admin_guide_2_3_7/b_cisco_dna_center_admin_guide_2_3_7_chapter_010.html#task_vhg_gyd_dcb)
・ KGV ファイルが最新であることを確認済
　→　[Cisco DNA Center リリース 2.3.7.x 管理者ガイド (整合性検証)](https://www.cisco.com/c/ja_jp/td/docs/cloud-systems-management/network-automation-and-management/dna-center/2-3-7/admin_guide/b_cisco_dna_center_admin_guide_2_3_7/b_cisco_dna_center_admin_guide_2_3_7_chapter_010.html#concept_oqs_stb_tbb)
・ Machine Reasoning Engine が設定されていることを確認済
　→　[Cisco DNA Center リリース 2.3.7.x 管理者ガイド (機械推論ナレッジベースの更新)](https://www.cisco.com/c/ja_jp/td/docs/cloud-systems-management/network-automation-and-management/dna-center/2-3-7/admin_guide/b_cisco_dna_center_admin_guide_2_3_7/b_cisco_dna_center_admin_guide_2_3_7_chapter_010.html#id_118510)
 
# 4. ネットワーク機器のソフトウェアアップグレード手順
それでは、SWIM 機能を活用してネットワーク機器のソフトウェアアップグレードを実施しましょう！

手順は以下の3ステップです。

・ステップ 1. ソフトウェアイメージのダウンロード
・ステップ 2. アップグレード前 事前チェック
・ステップ 3. アップグレード設定・実行

それでは、１つずつ詳しく見ていきましょう！

## ステップ 1. ソフトウェアイメージのダウンロード
まず最初に「ソフトウェアイメージのダウンロード」を行います。

Catalyst Center のメニューから「 Design > Image Repository 」の順でクリックします。

以下のような画面が表示されますので、ソフトウェアイメージのアップグレードを行う型番（今回は Cisco Catalyst 9300 Switch）をクリックします。

![5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/b42480ae-f8ae-a07d-ad8a-40c88b971810.jpeg)

次の画面では、ダウンロードしたいソフトウェアイメージの Image Status 列 の「↓マーク」をクリックし、ソフトウェアイメージのダウンロードを実施します。
今回はバージョン17.12.04(cat9k_iosxe.17.12.04.SPA.bin)をダウンロードしたいと思います。
![+2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/eca2a581-6eb0-0d45-40aa-9a5c1ba16d4e.jpeg)

以下の画面が表示されます。
ダウンロードしたソフトウェアをゴールデンイメージに設定する場合は、「Mark the image as golden after download」にチェックを入れて、OK をクリックしましょう！
![+3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/2f6a74f7-b1b0-fde0-363a-12e8e990be3d.jpeg)

:::note info
Catalyst Center では、組織や会社で定めた標準ソフトウェアイメージを「ゴールデンイメージ」として定義します。SWIM 機能では、このゴールデンイメージとして定義したソフトウェアイメージを各ネットワーク機器へ配布・適用します。

![4--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/d70223da-a452-8e63-e6ed-0c35097dcd5e.jpeg)

:::

それでは、本題に戻ります。

OK をクリックすると、ソフトウェアイメージのダウンロードが開始されます。
以下の通り、進捗状況が表示されます。
![+4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/a6c4a01c-17f1-4ba6-5878-d61c16045f23.jpeg)


ダウンロードが完了すると、以下の通り、☆マーク（ゴールデンイメージ）が表示されます。
「Verified」となっていれば、ダウンロード作業は完了です。
![+5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/21164117-e8e8-52ea-5512-d3d8d4213d1e.jpeg)


これでステップ 1「ソフトウェアイメージのダウンロード」は終了です。


## ステップ 2. アップグレード前 事前チェック
次に、「アップグレード前の事前チェック」を実施します。

Catalyst Center では、Image Update Readiness Check 機能を使って、ソフトウェアアップグレードに必要な事前チェック（例えば、Flash Free スペースの確認）を自動チェックすることが可能です！

　
それでは、Catalyst Center の画面で確認してみましょう！
Catalyst Center のメニューから「Provision > Inventory」の順でクリックします。

以下のような画面が表示されますので、「Focus」の箇所を「Software Images」に変更します。
これにより、ソフトウェアアップグレードに関連する項目が表示されます。

![+6-.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/064eb7b2-be39-6323-9c1c-020b30faf057.jpeg)


次に、アップグレード対象機器の「Software Image」列（Needs Update）をクリックしましょう！

すると、Image Update Readiness Check の画面に遷移します。
Status のところにエラーがなければ、アップグレード前の事前チェックは完了です！

![+7-.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/97917455-ffbd-ce3c-7288-871501c1db37.jpeg)


これでステップ 2「アップグレード前の事前チェック」は終了です。


## ステップ 3. アップグレード設定・実行
最後に、「アップグレード設定・実行」を行います。

Catalyst Centerのメニューから「Provision > Inventory」の順にクリックします。
そして、アップグレード対象のデバイスを選び、「Action > Software Image > Image Update」をクリックします。
![9--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/b39b12f1-03c9-fbbd-02e4-64cabbfa3c75.jpeg)


以下のような画面が表示されます。

タスク名を入力し、Next をクリックします。
![10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/96c5c6e5-8fba-18ee-b78d-931052d4835a.jpeg)

次に、ソフトウェア配布作業の前後のチェック項目を設定します。
今回はデフォルトのチェック項目をすべて ON にして、Next をクリックします。
![11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/41cef967-4be9-a2dc-a6a4-5ec8c132680b.jpeg)

:::note info
「add a custom check」をクリックすると、任意のチェック項目を追加できます。
今回は追加せずに進めます。
:::

次に、ソフトウェア適用作業の前後のチェック項目を設定します。
こちらもデフォルトのチェック項目をすべて ON にして、Next をクリックします。
![12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/79170c5a-9a7b-369e-224d-31d61de8ba24.jpeg)

:::note info
「Skip Activation」を ON にすると、ソフトウェアの配布だけを行うことも可能です。
今回はOFFで進めます。
:::


次に、SWIM の処理順序を設定します。
SWIM 対象機器を選択し、「Move to Sequential Update Order」をクリックします。
![13--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/f150b9eb-7eab-4959-7c95-710c83e35293.jpeg)


「Sequential」タブをクリックすると、以下のような画面が表示されます。
「Reorder List」をクリックすると、SWIMの実行順序を変更することができます。
![14--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/bb131190-e4f1-7f15-be3e-a7b1f297c7ae.jpeg)

具体的な変更手順は、以下のようにドラッグ&ドロップで SWIM の実行順序を変更することが可能です。
今回は Border スイッチ → Edge1 スイッチの順にして、「Finish Reorder」をクリックします。
![+9-.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/a833d75e-286d-e15b-eedf-bc6421ab49b8.jpeg)

その後、Nextをクリックします。
![+10-.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/c4e48d20-abe6-5b72-f154-fc5c0ddeec7b.jpeg)


次に、SWIM の実行日時を設定します。
今回はすぐに新しいソフトウェアイメージを配布し、配布後すぐにソフトウェアイメージを適用する(アップグレードする)ように設定して、Nextをクリックします。 
![16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/3682f57c-bf8b-142e-89f1-68d0a14d1553.jpeg)

:::note info
上記の画面で、SWIM 処理を任意の時間帯でスケジュール可能です。
例えば、業務影響の低い時間帯を設定することで、指定された時間でCatalyst Center が自動でソフトウェアイメージの配布と適用作業を実施できます。
:::

以下のような画面が表示されます。
上記で設定した内容を最終確認し、問題なければ「Submit」をクリックします。

![+11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/95380021-46b1-787d-becb-1596185be83e.jpeg)


これで SWIM の設定は完了です。

なお、今回は上記で設定した通り、ソフトウェアイメージの配布がすぐに開始されます。
処理の進捗を確認したい場合は、「Image Update Status」をクリックしてください。
![+12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/a8a61d36-a0b9-d12f-3cc5-2de2c86867db.jpeg)


以下のような画面が表示されます。
各デバイスごとの SWIM 処理の進捗を確認できます。

今回は、Border スイッチの SWIM 処理を先に実行し、その後に Edge1 スイッチの SWIM 処理を行う設定をしました。
そのため、現在は Border スイッチの処理が進行中で、Edge1 スイッチは Waiting 状態になっております。
![18--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/195ba5da-38f5-a9d4-0c19-b1dd5fc87942.jpeg)


以下のように、Border スイッチのソフトウェア適用(アップグレード)が完了すると、Edge1 スイッチの SWIM 処理が自動的に開始されます。
![19--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/7b5ce05b-6115-dc08-8809-733352961b02.jpeg)


:::note info
各ネットワーク機器の SWIM 処理の進捗は、デバイス名のリンクをクリックすることで確認できます。
以下の例では、ソフトウェアイメージ配布中のステータスです。
![+20--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/1da58e62-0ab3-bf18-2530-06f02616e39f.jpeg)
:::

処理が完了すると、Status列が「Successfully updated」に変わります。
Border スイッチと Edge1 スイッチのソフトウェアアップグレードが無事に完了したようです！
![21--.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2987901/878cecae-55b8-3c25-1e0b-9bca366f1048.jpeg)


# 5. まとめ
Catalyst Center バージョン2.3.7の SWIM 新機能を使って、ネットワーク機器のバージョンアップグレードを行いました。

年末年始にネットワーク機器のバージョンアップグレードを計画されている方は、Catalyst Center の SWIM 機能を使って「素早く！」「簡単に！」作業を完了させましょう！

SWIM 機能には、他にも様々なオプションがありますので、ご興味がある方は以下の参考資料をご参照ください。

# 参考資料
・[Cisco Catalyst Center リリース 2.3.7.x ユーザーガイド (ソフトウェア イメージの管理)](https://www.cisco.com/c/ja_jp/td/docs/cloud-systems-management/network-automation-and-management/catalyst-center/2-3-7/user_guide/b_cisco_catalyst_center_user_guide_237/b_cisco_dna_center_ug_2_3_7_chapter_0100.html "Cisco Catalyst Center リリース 2.3.7.x ユーザーガイド (ソフトウェア イメージの管理)")