本スライドは,「10 common errors when pushing apps to cf」
http://www.slideshare.net/greensight/10-common-errors-when-pushing-apps-to-cloud-foundry/
を,作者の許可を得て,Noburou TANIGUCHI ( https://github.com/nota-ja ) が翻訳したものです。
8. I. クライアントのエラー
¢ ERR 5: アプリのアップロード失敗
— 原因 1: ネットワーク接続の問題
— 解決策: ネットワーク接続の修復
$ cf push jacklarge
Updating app jacklarge in org myorg / space myspace as myself...
OK
Uploading jacklarge...
Uploading app files from: e:BackdMailstest
Uploading 1.1G, 1 files
Error uploading application.
Error performing request: Put https://xyz/v2/apps/51cb5e33-8.../bits?async=true: dial tcp: i/o timeout
FAILED
Sample error
9. I. クライアントのエラー
— 原因 2: アップロードのタイムアウト (デフォルトは15分) or サイズ
上限の超過 (デフォルトは1GB)
— 解決策
— 不要なファイルを “.cfignore” を使って除外
— 例: ローカルの node_modules を除外する
— 全ての依存ライブラリーをアップロードするのではなく,それらをステージ
ング時にカスタム buildpack を使ってインストールする
— ファイル数が多い時は, 繰り返し push を行い,個々の push で差分アップ
ロードが行われることを利用して,アップロード済ファイル数を増やす
$ cf push jacklarge
Updating app jacklarge in org myorg / space myspace as myself...
OK
Uploading jacklarge...
Uploading app files from: e:BackdMailstest
Uploading 1.1G, 1 files
Done uploading
FAILED
Error uploading application.
The app package is invalid: Package may not be larger than 1073741824 bytes
Sample error
10. II. 基盤のエラー
¢ ERR 6s:
— Unable to connect
— 500
— 4xx
¢ 原因: "
様々な基盤コンポーネントの問題
¢ Diagnosis
— CF_TRACE を true にして実際に
どのステップで問題が起きてい
るのかを明らかにする
— 基盤のログを解析する
Database の問題
Blob store の問題
DEA に空きがない
Loggregator の問題
DEA に空きがない
Router or CloudController の問題
Done uploading
FAILED
Error uploading application.
Server error, status code: 500, error code: 0, message:
Sample error
11. III. アプリのステージング・エラー"
- buildpack のエラー
¢ ERR 7s: 不不正な buildpack 名 or URL
— 原因 1: 間違った buildpack 名
— 解決策: “cf buildpacks” を実行し使用可能な buildpack を調べる; 管理者に不
足している buildpack を “cf create-buildpack” で追加するよう依頼する
— 原因 2: ネットワークの問題 or 間違った buildpack URL による
buildpack の clone の失敗
Server error, status code: 400, error code: 100001, message: The app is invalid:
buildpack notexist is not valid public url or a known buildpack name
Cloning into '/tmp/buildpacks/java-buildpack'...
fatal: could not read Username for 'https://github.com': No such
device or address
Cloning into '/tmp/buildpacks/java-buildpack'...
FAILED
Server error, status code: 400, error code: 170001, message:
Staging error: cannot get instances since staging failed
Cloning into '/tmp/buildpacks/nope-buildpack'...
FAILED
Server error, status code: 400, error code:
170001, message: Staging error: cannot get
instances since staging failed
12. III. アプリのステージング・エラー"
- buildpack のエラー
¢ ERR 8: detect の失敗
— 原因 1: 誤ったアプリのパッケージ
— zip 内にアプリのルート・フォルダーを作ってはいけない
— 原因 2: 間違ったディレクトリーからの push
— 原因 3: 必要な buildpack がインストールされていない
— 調査⽅方法: “cf buildpacks” を実⾏行行し提供されている buildpack を確認
— 解決策: ⾜足りないものを “cf create-buildpack” でインストールするよう管理理者に依頼
— 原因 4: buildpack の⽋欠陥: detect コード内でアプリのファイルを変更更!!!
Server error, status code: 400, error code: 170003, message: An app was not
successfully detected by any available buildpack
14. — 原因 1:アプリのパッケージもしくはファイルの問題
— 例: node.js アプリの package.json のフォーマットがまちがっている
— 原因 2: 外部の依存ライブラリー等にアクセスできない
— 例: NPM のリポジトリーにアクセスできない
— 解決策: 外部リポジトリー等への接続をチェック
— Security Group が該当リポジトリーに接続可能な設定になっているか
2015-04-27T12:06:35.20-0400 [STG/0] ERR parse error: Expected separator between values at line 12,
column 13
2015-04-27T12:06:35.20-0400 [STG/0] OUT Staging failed: Buildpack compilation step failed
2015-04-27T12:18:47.65-0400 [STG/0] OUT -----> Installing dependencies
2015-04-27T12:19:58.33-0400 [STG/0] OUT npm ERR! network getaddrinfo ENOTFOUND
2015-04-27T12:19:58.33-0400 [STG/0] OUT npm ERR! network This is most likely not a problem with
npm itself
2015-04-27T12:19:58.33-0400 [STG/0] OUT npm ERR! network and is related to network connectivity.
2015-04-27T12:19:58.33-0400 [STG/0] OUT npm ERR! network In most cases you are behind a proxy or
have bad network settings.
III. アプリのステージング・エラー
- compile エラー
17. IV. アプリの起動エラー
¢ ERR 10: アプリ起動のタイムアウトまたは失敗
-----> Uploading droplet (14M)
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
0 of 1 instances running, 1 down
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 down
FAILED
Start app timeout
(Or, “Start unsuccessful”)
$ cf app jackruby
Showing health and status for app jackruby in org myorg / space myspace as myself...
OK
requested state: started
instances: 0/1
usage: 128M x 1 instances
urls: jackruby.mybluemix.net
last uploaded: Wed Apr 29 18:40:40 UTC 2015
state since cpu memory disk
#0 crashing 2015-04-29 02:42:28 PM 0.0% 0 of 0 0 of 0
18. IV. アプリの起動エラー
— 解析
— “cf logs <appname> --recent” を実行し,エラー後の直近のログを取る
— ステージング時に別のターミナルで “cf logs <appname>” を実行
2015-04-29T12:35:49.43-0400 [STG/27] OUT -----> Uploading droplet (14M)
2015-04-29T12:35:54.37-0400 [DEA/27] OUT Starting app instance (index 0) with guid
ceb4f93b-6306-4842-8637-1d1731412bdc
2015-04-29T12:37:06.75-0400 [DEA/27] ERR Instance (index 0) failed to start accepting connections
2015-04-29T12:37:06.76-0400 [API/8] OUT App instance exited with guid
ceb4f93b-6306-4842-8637-1d1731412bdc payload: {"cc_partition"=>"default", "droplet"=>
"ceb4f93b-6306-4842-8637-1d1731412bdc", "version"=>"d237ca74-f30a-41fc-afd8-fe8f66152698",
"instance"=>"b7e9b891ddd7474f828412bd1d7bb329", "index"=>0, "reason"=
>"CRASHED", "exit_status"=>-1, "exit_description"=>"failed to accept connections within health check timeout",
"crash_timestamp"=>1430325426}
2015-04-29T12:37:07.00-0400 [App/0] ERR
…
2015-04-29T14:27:51.12-0400 [STG/8] OUT -----> Uploading droplet (14M)
2015-04-29T14:27:54.83-0400 [DEA/8] OUT Starting app instance (index 0) with guid
ceb4f93b-6306-4842-8637-1d1731412bdc
2015-04-29T14:28:06.98-0400 [API/3] OUT App instance exited with guid
ceb4f93b-6306-4842-8637-1d1731412bdc payload: {"cc_partition"=>"default", "droplet"=>
"ceb4f93b-6306-4842-8637-1d1731412bdc", "version"=>"73474c66-caaa-470b-ad88-28e854c7db83",
"instance"=>"0baf945674c94a9db294caa6ce0b991d", "index"=>0, "reason"=
>"CRASHED", "exit_status"=>0, "exit_description"=>"app instance exited", "crash_timestamp"=>1430332086}
2015-04-29T14:29:07.02-0400 [DEA/8] ERR Instance (index 0) failed to start accepting connections