1

コンソールから Swisscom App Cloud にアプリケーションをデプロイしようとしています。最後まで進行状況を報告し、さらに説明のない 504 が報告されます。

Updating app helloclass-fe-develop in org UCID-Bern Team / space HELLOCLASS-TEST as christian.cueni@iterativ.ch...
OK

Uploading helloclass-fe-develop...
FAILED
Error processing app files: Error uploading application.
Server error, status code: 504, error code: 0, message: 

アプリのログは、アプリが更新されたことを報告します。

2017-01-03 09:37:39 [RTR/0] OUT helloclass-develop.scapp.io - [03/01/2017:08:37:39.584 +0000] "GET / HTTP/1.1" 200 0 594 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 Google Favicon" 66.249.93.201:50868 10.0.18.35:64341 x_forwarded_for:"83.76.152.96" x_forwarded_proto:"https" vcap_request_id:8a8adcc7-9e97-4bd9-4492-68e92883ee3d response_time:0.001739219 app_id:310166b4-f3a6-4168-a9ac-530e45dbfb10 app_index:0
2017-01-03 09:37:39 [APP/PROC/WEB/0] OUT 83.76.152.96, 66.249.93.201, 66.249.93.201 - - - [03/Jan/2017:08:37:39 +0000] "GET / HTTP/1.1" 200 606
2017-01-03 10:05:50 [API/2] OUT Updated app with guid 310166b4-f3a6-4168-a9ac-530e45dbfb10 ({"name"=>"helloclass-fe-develop"})
2017-01-03 10:57:15 [API/1] OUT Updated app with guid 310166b4-f3a6-4168-a9ac-530e45dbfb10 ({"state"=>"STOPPED"})
2017-01-03 10:57:15 [CELL/0] OUT Exit status 0
2017-01-03 10:57:15 [APP/PROC/WEB/0] OUT Exit status 0
2017-01-03 10:57:15 [CELL/0] OUT Destroying container
2017-01-03 10:57:15 [CELL/0] OUT Successfully destroyed container
2017-01-03 10:57:16 [API/1] OUT Updated app with guid 310166b4-f3a6-4168-a9ac-530e45dbfb10 ({"state"=>"STARTED"})
2017-01-03 10:57:16 [CELL/0] OUT Creating container
2017-01-03 10:57:16 [CELL/0] OUT Successfully created container
2017-01-03 10:57:17 [CELL/0] OUT Starting health monitoring of container
2017-01-03 10:57:19 [CELL/0] OUT Container became healthy

アプリが更新されたことを示すこれらのメッセージにもかかわらず、古いバージョンのアプリがまだ提供されています。


編集

パラメータを指定してコマンドを実行した後-v、失敗の理由はゲートウェイのタイムアウトであることがわかりました。

RESPONSE: [2017-01-03T13:32:39+01:00]
HTTP/1.1 504 Gateway Timeout
Connection: close
Content-Length: 176
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Content-Type: text/html
Date: Tue, 03 Jan 2017 12:32:39 GMT
Expires: 0
Pragma: no-cache
Strict-Transport-Security: max-age=15768000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Vcap-Request-Id: 3ac831ef-e70b-4f4e-7c56-e308806f039e
X-Xss-Protection: 1; mode=block

<html>
<head><title>504 Gateway Time-out</title></head>
<body bgcolor="white">
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>

FAILED
Error processing app files: Error uploading application.
Server error, status code: 504, error code: 0, message: 

これは cloudfoundry 固有のものですか、それとも Swisscom AppCloud に関連するものですか? cloudfoundry 固有のタイムアウト制限はありますか?

4

1 に答える 1

2

CF_TRACE を使用して実行cf pushする-vか、CF_TRACE を有効にして、CLI と CF エンドポイントとの相互作用をより多く確認できます。
エラー メッセージは次のようになります https://github.com/cloudfoundry/cli/issues/1042 : Cloud Controller は要求を時間内に完了できず、API 要求を Cloud Controller にルーティングしたルーターはそれ以上待機せずに返されましたCLI への 504 (ゲートウェイ タイムアウト)。

トレースにより、どの API 呼び出しがタイムアウトしたかがわかります。
CLI はそこで操作を中止しましたが、Cloud Controller は最終的に操作を正常に完了した可能性があります。

ここで CLI が実行する操作は次のとおりだと思います。

  1. アプリ内のファイルのリストとリソース マッチング用のチェックサムを送信します (そのため、CC が以前のプッシュからキャッシュした変更されていないアプリ ビットのアップロードをスキップできます)。
  2. アプリファイルをアップロードする
  3. アプリを (再) 起動します (ステージングを含む)
  4. ポーリングして、アプリ インスタンスが実行中であることを返すまで待ち​​ます

CLI 出力から、最初の操作がタイムアウトしたと想定しているため、アプリがどのように再起動されたかは明確ではありません。

于 2017-01-03T11:27:54.870 に答える