トラブルシューティング/よくある質問#

Terminal System 2 v1.0.0

Mender Web UI#

Configurationの変更を行ってもステータスがPendingのまま変わらない#

SaaS版Menderを使用している場合、 不具合 により、[Configuration]タブのステータスが「Pending」のままとなり、設定変更が適用できたか確認できないことがあります。 この場合は以下の方法で確認してください。

  1. 画面左の[DEPLOYMENTS]をクリックします。

  2. 開始時刻を参考にしながら、実行したデプロイメントを[Active]または[Finished]タブから見つけます。

  3. [View details]をクリックし、ステータスがSuccessになっていることを確認します。

    ../../_images/setup_mender_deployments_result_ok.png

    図 191 Deployment details画面#

[Configuration]タブで[CANCEL CHANGES]をクリックすると、エラーメッセージが表示される。#

以下のメッセージが表示される場合、キャンセルした設定変更のデプロイメントが既に完了していることを示しています。

There was an error while aborting the deployment: Deployment already finished [Request ID: xxxxxxxx]

SaaS版Menderの 不具合 ですので、無視してください。

デプロイメント詳細画面や[AUDIT LOG]をクリックすると、エラーメッセージが表示される。#

以下のメッセージが表示される場合、現在利用しているプランでは利用できない機能であることを示しています。

There was an error retrieving audit logs: feature not available in your Plan. [Request ID: xxxxxxxx]

Audit logs は、 Mender Enterpriseプランでのみ有効な機能です。

デプロイメントステータスがAlready installedとなり、デプロイがスキップされてしまう#

デバイスにインストール済みのリリースはインストールがスキップされます。 デバイスにインストール済みのリリースを再度インストールしたい場合は、デプロイメントのオプションで Force update を有効にしてデプロイしてください。

Configurationをデプロイするとエラーになる#

Deploymentsタブでログを表示し、ERRORと表示されている行を確認してください。主なエラーとして、以下があります。

ERROR: invalid json value, ignore "<設定項目>" value.

JSONの記法に誤りがあります。特にカンマ(,)の有無にご注意ください。

ERROR: requests error: patchまたはpost ...

res の後に出力されているレスポンスを確認してください。

例:

ERROR: requests error: patch http://localhost:8081/api/agent/transport,
data = {'protocol': 'abc'},
res = {'title': 'Invalid request body', 'status': 400,
  'instance': '/internal/pkg/format/agent_config.go#134',
  'detail': "'abc' does not follow the rule for 'protocol' ([ 'quic' | 'websocket' ])"}

この場合、transportの設定において、 {'protocol': 'abc'} を設定しようとしたが、 protocol の値のルール(値は quic または websocket のいずれかでなければならない)に合致しないためエラーになったことを表しています。

Terminal System API#

接続できない(1対1の接続など、LAN内にDHCPサーバーがない場合)#

設定用PCとTerminal Systemを1対1で接続する場合など、ネットワーク内にDHCPサーバーがない構成の場合は、リンクローカルアドレスを使って接続します。

設定用PCを、IPv4のリンクローカルアドレスを使って接続を行う設定にしてください。

各OSでの設定は以下のとおりです。

Windows

  1. タスクバーの検索ボックスに「ネットワーク接続の表示」と入力してネットワーク接続コントロールパネルを開き、 [イーサネット]のプロパティを開きます。

  2. [インターネット プロトコル バージョン 6(TCP/IPv6)]をオフにします(IPv6ではなくIPv4のリンクローカルアドレスを使用するため)。

Mac

  1. [システム環境設定] > [ネットワーク] を開き、[Ethernet]を選択します。

  2. [詳細]をクリックし、[TCP/IP]タブで、 [IPv6の設定]を[自動]にします。

Linux(Network Manager 使用時)

  1. nmcli conn コマンドで、通信に使用するコネクションのUUIDを確認します。

    例:

    $ nmcli conn
    NAME                UUID                                  TYPE      DEVICE
    Wired connection 1  ab8d1fd8-80fa-3593-abcf-ad2e7c9f20ea  ethernet  enp0s3
    Wired connection 2  b04f8613-9fde-3922-bc31-db0d9389ddd6  ethernet  enx04ab182d5410
    
  2. nmcli con mod <UUID> ipv4.method link-local を実行してリンクローカルにします。

    例: 上記のうち、Wired connection 2の設定を変更する場合

    $ sudo nmcli conn mod b04f8613-9fde-3922-bc31-db0d9389ddd6 ipv4.method link-local
    

Could not resolve hostとなる#

curlコマンドを使用して、コンピューター名を使ってアクセスしたときに(URL例: http://terminal-system.local:8081/...curl: (6) Could not resolve host のようなエラーメッセージが表示された場合は、接続先Terminal Systemのコンピューター名が正しいか確認してください。

注釈

curlコマンドを使用している場合は、 終了コードの一覧 も参照してください。

HTTPステータスが失敗となる#

HTTPステータスコードを確認してください。また、レスポンスボディーにJSONが含まれている場合はその内容を確認してください。

リクエストが正しい形式でない場合には、例えば以下のようなレスポンスが返されます。

{
"title": "Invalid request body",
"status": 400,
"instance": "/internal/pkg/format/agent_config.go#151",
"detail": "'' does not follow the rule for 'id' ([ 1 .. 100 ] characters)"
}

この場合、リクエスト内で id の指定が正しく行われていなかったことを表します。