環境:RHEL8 Workstation
サクッと動作検証できて便利なCRC(OpenShift Local)ですが、バージョンアップするとガッツリ不具合が出ることがあります。
CRCのバージョンアップは、バイナリを新しいものに交換して再セットアップする形となるので、あれ手順間違えたかな??、みたいなところで悩んだりして時間を費やしたりすることも多いんですが、調査困難な身も蓋もないようなエラーが発生した場合は、さっくり旧バージョンに戻して確認してみた方がいいケースはありますよね。
[トラブル事例]
事象は様々だとは思うんですけど、タイムリーな話では、CRC-linux-2.12.0-amd64で、OpenDataHub1.4をデプロイすると、DashboardのPodが立ち上がってきませんでした。他のPodは普通に立ち上がって、これだけ基本的なバグみたいなエラーで立ち上がってこないですし、Parseing云々のログ内容より、ODH側の問題かなと、2日位悶絶していました。今回、前バージョンや他環境での動作実績も無かったことも、問題切り分けをややこしくしました、、
Environment:
DEV_MODE=false
NODE_ENV=production
DEBUG_PORT=5858
Launching via npm...
npm info it worked if it ends with ok
npm info using npm@6.14.15
npm info using node@v14.18.2
npm ERR! code EJSONPARSE
npm ERR! file /opt/app-root/src/package.json
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected end of JSON input while parsing near ''
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.
npm timing npm Completed in 296ms
npm ERR! A complete log of this run can be found in:
npm ERR! /opt/app-root/src/.npm/_logs/2022-12-19T17_39_48_632Z-debug.log
CRCを1つ前の2.11.0にしたら、直りました。
[古いCRCに戻す]
前述の通り、CRCのバージョンアップは、バイナリを新しいものに交換して再セットアップする形です。なので、古いバイナリを手に入れればいいだけです。
が、RedHat公式のダウンロードページでは最新リリースしかダウンロードできません。
https://console.redhat.com/openshift/create/local
こちらのGitHubから該当バージョンのCRCを入手できます。
Linux、Windows、MacOS全て置いてあるようです。
https://github.com/crc-org/crc/releases
導入手順は、新規導入の手順と同様。
[留意点]
異なるCRCバイナリを導入する場合には、現環境の初期化が必要です。その際は、変に前バージョンのものが残っているなどが原因でハマったりしないように、慎重に行いたいところです。
CRCの削除は、基本的には、crcのdeleteコマンドと~/.crcをザックリ消せばいいと思いますが、vmの方まで確認して削除するのがベストと思います。
手順は以下です。
1.crc stop
2.crc delete -f
3.crc cleanup
4.rm -rf ~/.crc ➡pull-secret.txtとかをここに入れてる場合は、全部消すことは無いかもしれませんが、、
5.sudo virsh list --all ➡通常、crc deleteでVMも無くなくなるので、念のためです、以降も残った時のためのもの
6.sudo virsh destroy crc
7.sudo virsh undefine crc
vmが残っている場合には、5.sudo virsh list --allを打った時に以下のようにcrcのVMが残っている状態になると思います。
通常は、残らないです。
Id 名前 状態
---------------------
1 crc xxx(シャットオフとかかな、、)