5.2. Identity クライアント (keystone) の接続性に関する問題のトラブルシューティング
Identity クライアント (keystone
) が Identity サービスにコンタクトできない場合には、次のようなエラーが返されます。
Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)
この問題をデバッグするには、以下に挙げる一般的な原因を確認してください。
- Identity サービスが稼働していない
Identity サービスは httpd.service 内で実行されるようになりましたIdentity サービスをホストしているシステム上で、サービスのステータスを確認します。
# systemctl status httpd.service
サービスがアクティブでない場合には、root ユーザーとしてログインしてサービスを起動します。
# systemctl start httpd.service
- ファイアウォールが適切に設定されていない
-
ポート
5000
および35357
の TCP トラフィックを許可するようにファイアウォールが設定されていない可能性があります。その場合は、『オーバークラウドの高度なカスタマイズ』の「オーバークラウドのファイアウォールの管理」に記載の手順を参照して、ファイアウォール設定の確認およびカスタムルールの定義を行います。 - サービスエンドポイントが正しく定義されていない
Identity サービスをホストするシステムで、エンドポイントが正しく定義されていることを確認します。
管理トークンを取得します。
# grep admin_token /etc/keystone/keystone.conf admin_token = 91f0866234a64fc299db8f26f8729488
Identity サービスの正しい管理エンドポイントを決定します。
http://IP:35357/VERSION
IP を、Identity サービスをホストしているシステムの IP アドレスまたはホスト名に置き換えます。VERSION を、使用中の API バージョン(
v2.0
またはv3
)に置き換えます。事前に定義されている Identity サービス関連の環境変数の設定を解除します。
# unset OS_USERNAME OS_TENANT_NAME OS_PASSWORD OS_AUTH_URL
管理トークンとエンドポイントを使用して、Identity サービスとの認証を行います。Identity サービスのエンドポイントが正しいことを確認してください。以下に例を示します。
# openstack endpoint list --os-token=91f0556234a64fc299db8f26f8729488 --os-url=https://osp.lab.local:35357/v3/ --os-identity-api-version 3
一覧表示された Identity サービスの
publicurl
、internalurl
、およびadminurl
が正しいことを確認してください。特に、各エンドポイント内にリストされている IP アドレスとポート番号が正しく、ネットワーク上で到達可能であるようにしてください。これらの値が正しくない場合は、正しいエンドポイントを追加し、
openstack
コマンドのendpoint delete
アクションを使用して正しくないエンドポイントを削除します。以下に例を示します。# openstack endpoint delete 2d32fa6feecc49aab5de538bdf7aa018 --os-token=91f0866234a64fc299db8f26f8729488 --os-url=https://osp.lab.local:35357/v3/ --os-identity-api-version 3
TOKEN および ENDPOINT を前のステップで特定した値に置き換えます。ID を、
endpoint-list
アクションで一覧表示される削除するエンドポイントのIDに置き換えます。