推送迭戈:不能写:设备上没有剩余空间

时间:2016-10-13 18:58:15

标签: python swisscomdev

我们的应用程序是DEA上少数几个运行的应用程序之一。在DEA上,我们能够使用特定的自定义buildbpack:

https://github.com/ihuston/python-conda-buildpack

现在我们必须继续运行迭戈运行时,我们在推送应用程序时耗尽了空间。我相信磁盘空间只在暂存期间需要,因为很多库都带有buildpack并且必须构建(我们需要整个科学python堆栈,它们都包含在上面的buildpack中)。

构建脚本输出一切正常,但应用程序无法启动。然后日志显示:

2016-10-13T19:10:42.29+0200 [CELL/0]     ERR Copying into the container failed: stream-in: nstar: error streaming in: exit status 2. Output: tar: ./app/.conda/pkgs/cache/db552c1e.json: Wrote only 8704 of 10240 bytes

以及更多文件:

2016-10-13T19:10:42.29+0200 [CELL/0]     ERR tar: ./app/.conda/pkgs/cache/9779607c273dc0786bd972b4cb308b58.png: Cannot write: No space left on device

然后

2016-10-13T20:16:48.30+0200 [API/0]      OUT App instance exited with guid b2f4a1be-aeda-44fa-87bc-9871f432062d payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"Copying into the container failed", "crash_count"=>14, "crash_timestamp"=>1476382608296511944, "version"=>"ca10412e-717a-413b-875a-535f8c3f7be4"}

尝试添加更多磁盘配额(1G以上)时出现错误:

Server error, status code: 400, error code: 100001, message: The app is invalid: disk_quota too much disk requested (must be less than 1024)

有没有办法增加一点空间?至少对于构建过程?

2 个答案:

答案 0 :(得分:2)

您可以像使用.cfignore文件一样使用.gitignore文件,以排除任何不需要的文件cf push。也许如果你真的只推动必要的东西,磁盘空间就足够了。

https://docs.developer.swisscom.com/devguide/deploy-apps/prepare-to-deploy.html#exclude

答案 1 :(得分:2)

来自https://github.com/ihuston/python-conda-buildpack的conda安装程序默认安装英特尔MKL库。现在这通常是一件好事,但似乎占用太多空间,因此无法部署。

我调整了buildpack并添加到了行

d-m-Y

标志 $CONDA_BIN/conda install --yes --quiet --file "$BUILD_DIR/conda_requirements.txt"

nomkl

如连续博客文章中所述:

https://www.continuum.io/blog/developer-blog/anaconda-25-release-now-mkl-optimizations

然后这将使用OpenBLAS而导致更小的Droplet(175M而不是330MB),并且部署可以成功完成。