Planning Analytics Workspaceのバージョンアップ

#Planning Analytics Workspaceのバージョンアップ
Planning Analytics Workspace(PAW)のバージョンアップをやる事になりそうなので、色々とやり方を調べたついでに、情報をまとめて投稿しておきます。

#情報ソース
**Upgrade Planning Analytics Workspace Local**
https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_inst.2.0.0.doc/t_paw_upgrade.html

**How to Upgrade (Update) Planning Analytics Workspace**
https://exploringtm1.com/how-to-upgrade-planning-analytics-workspace/

**How to upgrade versions of Planning Analytics Workspace Local using PowerShell scripts**
https://www.youtube.com/watch?v=htlzgX1xT-U

**How to upgrade Planning Analytics Workspace Local and configure Planning Analytics Administration**
https://www.youtube.com/watch?v=Nel5Ovh0-7Q

#大前提
**PAWは別フォルダにインストール**
PAWのバージョンアップは上書きインストールではなく、一度別のフォルダに新PAWをインストールして、バージョンアップを行う必要があります。

**PAWのバージョンアップはPAW停止します**
PAWのバージョンアップ作業には、PAWの停止・起動を伴います。
PAWのコンテナーをUpdateする時間は、Bookなどのコンテンツの量にもよるみたいですが、前述の情報ソースの動画を見る限り、15分とか30分とか言われているので、作業時間全体で少なくとも1-2時間の停止時間は確保しておいた方がよさそうです。

**PAWとPAxのバージョンは揃えましょう**
PAx(Planning Analytics for Excel)は、PAW経由でPAL(Planning Analytics Local)にアクセスします。
PAxのバージョンとPAWのバージョン、というかリリース日が遠いものを使用していると、PAxがちゃんと動かない事があるようです。
PAWとPAxはほぼ同じタイミングで、リリースされてきますので、PAWをバージョンアップしたら、PAxを使用しているユーザーにも同じバージョンのPAxを配ってバージョンアップしてもらうように計画しましょう。
-PAWのリリース
https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_nfg.2.0.0.doc/c_new_features_paw.html
-PAxのリリース
https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_nfg.2.0.0.doc/c_nfg_pax_test.html

#バックアップ取得しておくもの
**PAWコンテナーイメージ**
PAWコンテナーイメージは、デフォルトでC:\ProgramData\Dockerに入りますが、「backup.ps1」コマンドでコンテナーのイメージをバックアップ取得しておくかか、仮想ホスト上に実装されているのであれば、仮想ホストイメージをそのままバックアップ取得するなどしておきましょう。

＜注意＞
前述の情報ソースの動画の中で、「backup_for_upgrade.ps1」でPAWコンテナーのバックアップを取得して、新PAWにコピーしている手順が見られるのがありますが、どうも調べたところ、この手順は間違いのようです。
backup_for_upgrade.ps1は、PAW25より以前のバージョンで使用されていたもので、バージョンアップ用途というより単なるバックアップ用途で、PAW26以降のバージョンでは、このスクリプトは使用不可でバックアップのためには、あくまで「backup.ps1」を使用するようです。

#バージョンアップ手順
**1).新PAWバージョンを新フォルダに展開**
フォルダ名にバージョン番号が入っていると分かり易いですね。

**2).configフォルダのpaw.ps1ファイルを旧PAWのconfigフォルダから新PAWのconfigフォルダにコピー**
paw.ps1ファイルは以下の様に、PAW Admin Toolで設定する各種URLの情報を保持しているので、これを新PAWにコピーしておく必要があります。
<img width="451" alt="001.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/40b393fb-e4c9-2933-6306-c7c60372de65.png">

**3).certsフォルダの旧PAWから新PAWにコピー**
configフォルダの下にcertsフォルダがあるので、旧PAWから新PAWにコピーしておきます。
<img width="284" alt="002.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/df169792-99f6-1bc2-0924-c6f54f914895.png">

**4).sslフォルダの旧PAWから新PAWにコピー**
PAWにSSLを実装している場合、configフォルダの下にsslフォルダがあるので、旧PAWから新PAWにコピーしておきます。
<img width="272" alt="003.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/f4fad9eb-53d1-ace4-73dd-08974eb71348.png">

**5).Start.ps1の実行**
管理者でPowerShellを起動し、新PAWでStart.ps1を実行します。
<img width="272" alt="004.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/c3b42f0f-a49f-85d3-1e1a-e430c7a4a4c8.png">

ここは「y」を入力します。確かにInstall/Update ? と聞かれていますね。
ここでPAWコンテナーのバージョンアップを行うようで、15分～30分かかるようです。
<img width="323" alt="005.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/79212811-3cde-2d6d-8add-bd919aec2645.png">

Admin Toolを起動。
<img width="347" alt="006.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/612e2249-83ee-8f30-8f48-d2ff48e3ec88.png">

**6).Admin Toolでの作業**
「IBM License」と「Non IBM License」で「Accept」して
<img width="259" alt="007.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/f0814539-daa8-6c5f-204a-353a03f5d6f9.png">

paw.ps1のコピーによって、ここで元のURL指定が入っているので、Validate&Update。
<img width="558" alt="008.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/6c9efcc2-f389-0e17-a17b-6e930f0f4bfc.png">

Update後にCPUがぶん回りますので、CPUが10%程度に落ち着いてくるまで待ちます。
これも環境により、10分～20分くらいでしょうか。
<img width="276" alt="009.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/1a1edef9-f001-192a-3f24-e09f6f2210c6.png">

**7).バージョンアップ確認**
CPUが落ち着いたらPAWにアクセスしてみましょう。
元々あったBookなどのコンテンツがちゃんと存在するか、実行できるか確認します。
<img width="575" alt="010.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/f831f080-0d07-1ad6-9c4e-f4b37093da15.png">

ここでPAWバージョンが確認できます。
<img width="287" alt="011.PNG" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/3515ff31-af1c-9958-3b6e-78f0f7ed3d52.png">

**8).古いイメージ削除**
旧PAWの\<paw_install_location>/scriptsで、clean.ps1を実行し、古いイメージを削除。

PAxのバージョンアップもお忘れなく！

#個人的に思うところ
という感じが、集めた情報での作業手順ですが、自分の経験的に、PAWのバージョンとDocker(+Compose)のバージョンって、結構相性がある気がするんですよね。
今回の手順って、Dockerのバージョンアップが無いので、PAWだけバージョンアップしてDockerと相性悪くて動かない、という様な事が無いように、いきなり本番環境でバージョンアップではなく、開発 or 検証環境で先にやるようにした方が良いかなと思います。
ちなみに、ざっと調べてみましたら、PAWにおけるDockerのバージョンアップ手順みたいガイドは無く、Dockerのサイトで自分で調べて、Dockerとしてのバージョンアップをしてくれ、という事みたいですね。
誰かDockerのバージョンアップやってみた方がいたらフィードバックお願いします！