PowerVC Tips: 筐体を追加する際のHMCパスワード起因によるエラー

##### はじめに

PowerVC 構築中に HMC を登録後、筐体を追加する際にエラーが発生した事象について記載します。

---

##### 環境

PowerVC 2.0.2.1 (RHEL 8.4 (ppc64le) on Power)

---

##### 事象

HMC は登録済みの状態。

筐体の追加を実行したところ、追加が失敗し、ログには「HTTP exception thrown: ハードウェア管理コンソール にアクセスできませんでした。理由は不明です。」というメッセージが出力されました。



```/var/log/nova/nova-api.log の抜粋
2022-MM-DD hh:mm:00.959 424722 INFO powervc_oslo.k2.k2operator [req-943f8053-2f2c-47ac-bda4-94e93560f16b b2d60ecd39674ec4985f19ddbafc1e79 794292a4706142f796e1a804d1e8bcee - default default] logging on HMC1
2022-MM-DD hh:mm:00.996 424722 ERROR powervc_discovery.registration.registrar [req-943f8053-2f2c-47ac-bda4-94e93560f16b b2d60ecd39674ec4985f19ddbafc1e79 794292a4706142f796e1a804d1e8bcee - default default] 接続情報の取得エラー: HTTP error on Logon: 500 (): powervc_oslo.k2.k2operator.K2HttpError: HTTP error on Logon: 500 ()
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar [req-943f8053-2f2c-47ac-bda4-94e93560f16b b2d60ecd39674ec4985f19ddbafc1e79 794292a4706142f796e1a804d1e8bcee - default default] HTTP error on Logon: 500 (): powervc_oslo.k2.k2operator.K2HttpError: HTTP error on Logon: 500 ()
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar Traceback (most recent call last):
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_oslo/k2/k2operator.py", line 440, in _logon
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     relogin=False, login=True)
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_oslo/k2/k2operator.py", line 417, in request
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     raise K2HttpError(errmsg, k2resp)
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar powervc_oslo.k2.k2operator.K2HttpError: HTTP error for PUT /rest/api/web/Logon: 500 ()
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar 
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar During handling of the above exception, another exception occurred:
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar 
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar Traceback (most recent call last):
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_discovery/registration/registrar.py", line 170, in establish_connection
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     self._retrieve_connection_info(connect_info, config)
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_discovery/registration/compute/hmc_registrar.py", line 232, in _retrieve_connection_info
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     config['access_ip'], config['user_id'], config['password'])
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_oslo/k2/k2operator.py", line 178, in __init__
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     self._logon()
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar   File "/usr/lib/python3.6/site-packages/powervc_oslo/k2/k2operator.py", line 449, in _logon
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar     e.k2response)
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar powervc_oslo.k2.k2operator.K2HttpError: HTTP error on Logon: 500 ()
2022-MM-DD hh:mm:00.997 424722 ERROR powervc_discovery.registration.registrar 
2022-MM-DD hh:mm:00.998 424722 INFO nova.api.openstack.wsgi [req-943f8053-2f2c-47ac-bda4-94e93560f16b b2d60ecd39674ec4985f19ddbafc1e79 794292a4706142f796e1a804d1e8bcee - default default] HTTP exception thrown: ハードウェア管理コンソール にアクセスできませんでした。理由は不明です。詳しくは、/var/log/nova/nova-api.log ファイルを参照してください。
2022-MM-DD hh:mm:00.999 424722 INFO nova.osapi_compute.wsgi.server [req-943f8053-2f2c-47ac-bda4-94e93560f16b b2d60ecd39674ec4985f19ddbafc1e79 794292a4706142f796e1a804d1e8bcee - default default] xx.xx.xx.x,127.0.0.1 "PUT /v2.1/794292a4706142f796e1a804d1e8bcee/ibm-hmcs/0881d222-7227-39c8-911d-6ad9d6aec541 HTTP/1.1" status: 500 len: 842 time: 0.0637095
```

---

##### 原因と解消

HMC のパスワードに & が含まれていたことが直接の原因でした。

PowerVC から HMC の操作をする際には内部的には API が実行されていると思われますが、パスワード認証で&が特殊文字扱いとなり、正しく読み込まれなかった様子でした。


HMC のパスワードから & から普通文字に変更することでエラーを解消しました。

---

##### おわりに

"&" 以外にも特殊文字扱いとして引っ掛かる文字があるかもしれません。

筐体追加での該当エラーや、API実行の認証エラーが発生した際にはパスワードの文字について疑ってみるという参考になればと思います。



以上です。