2017-01-03 152 views
1

我試圖從控制檯將應用程序部署到Swisscom App Cloud。它報告進度,直到年底,一個504,沒有進一步解釋報道:部署失敗,出現504

Updating app helloclass-fe-develop in org UCID-Bern Team/space HELLOCLASS-TEST as [email protected] 
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固有超時限制?

+0

你的應用程序有多大,在'上傳helloclass-fe-develop ...'上掛了多久?你測試了你的帶寬給你的CF提供商嗎?這可能只是您的應用上傳時間過長。正如@dkoper提到的那樣,所有傳入的請求都會導致超時。它默認爲900s,但您的提供商可能會將它設置爲更大/更小。如果您從跟蹤輸出的請求/響應日期標頭中進行一些數學計算,您應該能夠看到等待的時間以及是否可能會超時。 –

+0

非常感謝您的支持!我從根目錄而不是build/dist文件夾上傳。這導致超時.. – paweloque

回答

2

您可以使用-v運行cf push或啓用CF_TRACE以查看CLI與CF端點的更多交互。
錯誤消息類似於https://github.com/cloudfoundry/cli/issues/1042:雲控制器無法及時完成請求,並且將API請求路由到雲控制器的路由器不再等待,並將504(網關超時)返回給CLI。

跟蹤應該告訴你哪個API調用超時。
CLI終止了該操作,而云控制器最終可能已成功完成操作。

我還以爲運作的CLI將在這裏執行是:

  1. 發在你的應用程序文件及其校驗和資源匹配的列表,(所以它可以跳過上傳未經修改的應用程序位的CC緩存從以前的推)
  2. 上傳應用程序文件
  3. (重新)啓動的應用程序(包括分期)
  4. 調查&等待,直到應用程序實例返回它的運行

從您的CLI輸出中我假設第一次操作超時,所以不清楚您的應用程序是如何重新啓動的。

+0

非常感謝。詳盡程度揭示了來源。請參閱我的問題中的編輯。 – paweloque

+0

我們已經知道從原始消息返回504網關超時。接下來會看到有趣的是接收到504的API請求。您沒有將它包含在跟蹤中:在504響應之前記錄的請求是什麼? (如果它是對與API匹配的資源調用,則可以排除長負載) – dkoper

+0

非常感謝您的支持!我從根目錄而不是build/dist文件夾上傳。這導致了超時。 – paweloque