Pivotal Knowledge Base

フォローする

Spring Cloud Services を用いたコンフィグレーションサーバーインスタンスの生成・削除中に "Error requesting access token" というメッセージが発生

環境

製品 バージョン
Spring Cloud Services(SCS) 1.x

 

事象

Spring Cloud Services を用いたコンフィグレーションサーバーのインスタンスを生成したり削除しようとすると、以下のようなエラーが発生する。

status code: 502, error code: 10001, message: Service instance <config-server-name>: Service broker error: Error deleting service instance: Failed to delete app <instance-app>: Error requesting access token.


原因

以前、旧バージョンあるいは現行バージョンの SCS tile をインストールしていたことがあり、完全に削除できていなかったことが原因である可能性が高い。具体的には、tile 削除前に "Remove Service Broker" errand の実行にチェックを入れていなかったか、tile のアンインストールに失敗していた可能性がある。これにより、UAA レコードや CC ルート、サービスアプリケーションが古い状態で残り、次回インストール時にそられに基づく古いクレデンシャル、ルートあるいは、サービスを参照することによって問題が発生している。

解決策

問題を解決する最も容易な方法は、可能であれば、"Remove Service Broker" errand 実行にチェックを入れ tile をアンインストールし、再度クリーンインストールを行うことである。多くの場合、この方法が問題を認識し、早期解決方法となる。

アンインストールでの対応が不可能であったり、より詳細な問題解決のための根拠が必要な場合は、以下の手順にて UAA DB に残存するクレデンシャルを削除し、インストール errand を手動にて再実行することになる。

  1. UAAC CLI を設定し、こちらのドキュメントに従って UAA サーバーにログオンする。
  2. SCS によって生成されたユーザーレコードを探す。 
        uaac users -a emails

         この場合の典型的なユーザー名は "p-spring-cloud-services" である。

     3. ユーザー名が出力されたら、以下のコマンドを実行する。

        uaac user get p-spring-cloud-services

         passwordlastmodified タグも参考になる。このタイムスタンプを確認することで、当該ユーザーが前回のインストールで生成されたものなのかどうか確認することができる。 

     4. 以下のコマンドを実行し、ユーザーを削除する。 

        uaac user delete p-spring-cloud-services

以上が完了したら、Ops Manager か BOSH を使用して以下のような errand を実行する。

bosh run errand deploy-service-broker

並びに、

bosh run errand register-service-broker

コメント

Powered by Zendesk