2016-10-13 4 views
1

Unsere Anwendung ist eine der wenigen, die auf DEA laufen. Auf DEA eine bestimmte benutzerdefinierte buildbpack verwenden wir in der Lage waren:Schieben nach Diego: Kann nicht schreiben: Kein Platz mehr auf Gerät

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

Jetzt, wo wir auf Diego Laufzeit bewegen haben, laufen wir Raum aus, während die App schieben. Ich glaube, dass der Speicherplatz nur während des Staging benötigt wird, da einige Bibliotheken mit dem Buildpack kommen und erstellt werden müssen (wir brauchen den gesamten wissenschaftlichen Python-Stack, der alles im obigen Buildpack enthalten ist).

Das Build-Skript gibt alles gut aus, außer dass die App nicht gestartet werden kann. Die Protokolle zeigen dann:

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 

und weitere viele Dateien:

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

und dann

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"} 

Beim Versuch, mehr Datenträgerkontingent hinzufügen (oben 1G) gibt es einen Fehler:

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

Gibt es eine Möglichkeit, ein bisschen mehr s zu geben Tempo? Zumindest für den Build-Prozess?

+0

Ich habe auch versucht, mit dem Standard-Buildpack, aber dann scheitert es wegen einer bestimmten Abhängigkeit (die für die App entscheidend ist): Formschöne, gibt es: OSError: Konnte nicht Bibliothek geos_c oder laden Sie eine seiner Varianten ['libgeos_c.so.1', 'libgeos_c.so'] – ratatatat

Antwort

2

Der Conda Installer von https://github.com/ihuston/python-conda-buildpack installiert mit dem Intel MKL Bibliothek standardmäßig. Nun, das ist normalerweise eine gute Sache, aber scheinbar zu viel Platz und kann daher nicht eingesetzt werden.

ich die buildpack angepasst und auf die Zeile hinzugefügt

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

Die Flagge nomkl

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

beschrieben, wie hier in Kontinua Blog-Post:

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

Dies wird dann Verwenden Sie stattdessen OpenBLAS und führt zu ein viel kleinerer Tropfen (175M statt 330MB) und der Einsatz kann erfolgreich abgeschlossen werden.

2

Sie können eine .cfignore Datei wie eine .gitignore Datei verwenden, um alle nicht benötigten Dateien davon auszuschließen, ed zu sein. Vielleicht, wenn Sie wirklich nur drücken, was notwendig ist, könnte der Speicherplatz ausreichend sein.

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

+0

Ich benutze bereits die. * ignore-Dateien, hier ist, was hochgeladen wird: "Hochladen von 1.3M, 187 Dateien" – ratatatat

+0

Der cf-Push funktioniert, Ausgabe dieser: '' ' OUT Staging abgeschlossen OUT Upload von Tröpfchen, Build Artefakte Cache ... OUT Upload von Tröpfchen ... OUT Hochladen Build Artefakte Cache ... OUT Hochgeladen Build Artefakte Cache (32.3M) OUT Uploaded Tröpfchens (311.3M) OUT Hochladen komplette OUT Destroying Behälter OUT Container anlegen OUT erfolgreich erstellt container' OUT erfolgreich zerstört Behälter '' ' Aber dann, wenn Sie die App starten erhalte ich die aus Leerzeichen von oben – ratatatat

Verwandte Themen