Cloudfoundry报错:Application failed to stage

不同的错误表现肯定是不一样,我先描述一下我的错误情况和场景,看是否和你的match,如果match的话很可能你也是这么解决,O(∩_∩)O~

我搞了一个php的应用,使用github上一个buildpack:cf-php-apache-buildpack来部署的,刚开始我设置的一个instance,告诉我说Application failed to stage。但是cf apps看到的却是这个app是running状态,之后我cf delete掉又重新试了几次,问题依旧~整个过程感觉都挺正常,只是这个buildpack会下载一些东西,比较慢。。。后来我又把instance设置为3,结果发现status变成了33%,意味着只有一个部署成功了,此时用浏览器访问是OK的。后来又搞了一个c的app,那个c的app很快就部署完了,一个instance和三个instance都正常部署……

这就说明问题了,c的可以正常部署,说明我的cf大体是没问题的,那很可能是我的输入有问题,php的代码?我的代码很简单,不可能出错……那个buildpack?别人用都好用我用就不行?!除了时间长了点,是的,就是这个原因,时间太长,是不是因为时间太长导致了问题?

打开cloud_controller的配置文件,在staging字段下有个配置:max_staging_runtime,我当时的配置是120,即2min;而实际我的stage过程完全超过了这个时间,找到问题症结了……

后来查阅了一些资料得知,cf push之后发生了这些事情: http://docs.cloudfoundry.com/docs/running/architecture/how-applications-are-staged.html,但是cc也不能老是让dea去没完没了的stage,于是设置了超时时间,超时了我就认为stage失败

知道原因了解决方案就简单了

1、调整超时时间

2、把buildpack中的下载动作改造的快一点,比如地址改成内网的地址

猜你喜欢

转载自qxh.iteye.com/blog/1967018