【Ansible AWX 19.2.2】ログイン画面が真っ白になる問題の回避


この記事はプロモーションを含みます。

Ansible

Ansible AWXのWEB画面に接続時、通常はログイン画面が表示されますが、真っ白な画面が表示される問題の回避方法になります。

事象

以前、下記の記事にて「Ansible AWX 19.2.2」のインストール方法をご紹介しました。
そちらでも、インストール後にWEB画面にログイン出来ることを確認していますが、どうにもOSを再起動した後に再度ログインしようとすると、画面が真っ白になる問題が発生するようです。

原因

確たる原因は不明ですが、AWXのバグのようで、下記のような条件で発生しているようです。

  • マシンのスペック不足:CPU 6コア、メモリ 10GBでも発生したようです。
    こちらの記事を参考に構築した場合は、CPU 6コア、メモリ 8GBです。)
  • AWXオペレーターのバージョンが「0.12.0」、「0.15.0」
    (記事では、「0.12.0」で作業しました。)

回避方法

こちらの方法で回避することが出来ましたが、問題もありました。

回避方法として、特定のディレクトリにシンボリックリンクを作成しますが、これは、OS再起動時に消えてしまいます。
シンボリックリンク作成後にアクセスしたブラウザであれば、OS再起動後でもブラウザキャッシュを使用して、アクセス可能です。
別のブラウザやシークレットモードでアクセスする際は、再度シンボリックリンクを作成する必要がありますのでご注意下さい。

各コンテナが起動されており、ポートフォワーディングまで完了した状態から作業を行います。

作業ユーザは、[root]ではなく、minikube構築時に作成したユーザを使用して下さい。

まず、下記のコマンドでポッド一覧を表示します。
実行結果の「READY」が「4/4」となっているポッドの名前を確認しておきます。
下記の例では、黄色文字の「awx-demo-9975db9b6-gkr7s」になります。

[ansible@localhost ~]$ kubectl get pods -l "app.kubernetes.io/managed-by=awx-operator"
NAME                       READY   STATUS    RESTARTS   AGE
awx-demo-9975db9b6-gkr7s   4/4     Running   12         70m
awx-demo-postgres-0        1/1     Running   3          70m

先程取得したポッド名を使用して、コンテナに接続します。
黄色文字部分がポッド名になります。

[ansible@localhost ~]$ kubectl exec -it awx-demo-9975db9b6-gkr7s -c awx-demo-web -- bash
bash-4.4$

コンテナ内にディレクトリとシンボリックリンクを作成します。
作成後は、[exit]コマンドでコンテナから抜けます。

bash-4.4$ mkdir /var/lib/awx/public
bash-4.4$ ln -s /var/lib/awx/venv/awx/lib/python3.8/site-packages/awx/ui_next/build/static /var/lib/awx/public/static
bash-4.4$ exit
exit
[ansible@localhost ~]$

記事は以上になります。
OS再起動を行うたびに、シンボリックリンクを作成する必要があり面倒ですね。
恒久対処が見つかり次第、追記したいと思います。

コメント

タイトルとURLをコピーしました