Packer: WinRM-Kopie von Koch-Kochbüchern ist zu langsam

Erstellt am 2. März 2018  ·  3Kommentare  ·  Quelle: hashicorp/packer

Ich habe viele Probleme in Bezug auf dasselbe gesehen. Aber wenn man vergleicht, wie schnell Testküche (https://github.com/test-kitchen/winrm-transport) Dateien für dieselbe Runlist auf einen Windows-Rechner kopiert, scheint dies ein Problem zu sein, das gelöst werden könnte. In meinem Fall dauert die Packerkopie fast eine Stunde, während die Testküche dies in weniger als 5 Minuten erledigt. Das scheint mir eine schlechte Implementierung zu sein. Ich würde gerne auf jede erdenkliche Weise helfen. Dies verlangsamt die Erstellung unserer Fenster erheblich und das Ausprobieren kleiner Änderungen verschwendet zu viele Entwicklungsstunden.

Referenz: https://github.com/hashicorp/packer/issues/2648

communicatowinrm enhancement

Hilfreichster Kommentar

Jeder, der seine WinRM-Windows-Builds beschleunigen möchte, kann dieses Problem umgehen, indem er einen Dateibereitstellungsdienst verwendet, um alle Kochbücher in einer ZIP-Datei zu kopieren, bevor der chef-solo-Bereitsteller ausgeführt wird, und den remote_cookbook_paths angibt. So etwas hat meine Bauzeiten dramatisch beschleunigt:

 "provisioners": [
    {
      "type": "file",
      "source": "berks-cookbooks.zip",
      "destination": "c:\\temp\\"
    },
    {
      "type": "powershell",
      "inline": [
        "Expand-Archive -LiteralPath c:\\temp\\berks-cookbooks.zip -DestinationPath C:\\temp"
      ]
    },
    {
      "type": "chef-solo",
      "version": "15.3.14",
      "chef_license": "accept",
      "guest_os_type": "windows",
      "remote_cookbook_paths": [
        "c:/temp/berks-cookbooks"
      ],
      "run_list": "{{user `ami_run_list`}}",
      }
    }

Alle 3 Kommentare

Mir ist aufgefallen, dass Packer im Koch-Solo-Bereitstellungsschritt "hängen" würde, der Kochbücher kopiert. Es sieht fast so aus, als würde alle 3 Sekunden eine Datei kopiert. Ich habe mich während dieses Vorgangs bei der EC2-Instanz angemeldet und überprüft, dass die Dateianzahl tatsächlich so langsam ansteigt.

Inhalt der relevanten Protokollausgaben:
https://gist.github.com/JCapriotti/4ecfe4a1e20fcbd879161086b0815861

Wir sind leider auf etwa 13 Kochbücher angewiesen, und dies verlängert unseren Build um etwa 45 Minuten. Nur zum Kopieren von Dateien!

Jeder, der seine WinRM-Windows-Builds beschleunigen möchte, kann dieses Problem umgehen, indem er einen Dateibereitstellungsdienst verwendet, um alle Kochbücher in einer ZIP-Datei zu kopieren, bevor der chef-solo-Bereitsteller ausgeführt wird, und den remote_cookbook_paths angibt. So etwas hat meine Bauzeiten dramatisch beschleunigt:

 "provisioners": [
    {
      "type": "file",
      "source": "berks-cookbooks.zip",
      "destination": "c:\\temp\\"
    },
    {
      "type": "powershell",
      "inline": [
        "Expand-Archive -LiteralPath c:\\temp\\berks-cookbooks.zip -DestinationPath C:\\temp"
      ]
    },
    {
      "type": "chef-solo",
      "version": "15.3.14",
      "chef_license": "accept",
      "guest_os_type": "windows",
      "remote_cookbook_paths": [
        "c:/temp/berks-cookbooks"
      ],
      "run_list": "{{user `ami_run_list`}}",
      }
    }

Es ist in Ordnung, wenn Sie winRM depriorisieren, aber dies sollte eher ein Leistungsfehler als eine Verbesserung sein. Die Backzeiten sind selbst für eine durchschnittlich große Kochbuchliste unerträglich. Unsere ist < 3 MB, aber der Upload dauert 25 Minuten!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

mushon4 picture mushon4  ·  3Kommentare

s4mur4i picture s4mur4i  ·  3Kommentare

jesse-c picture jesse-c  ·  3Kommentare

wduncanfraser picture wduncanfraser  ·  3Kommentare

Nikoos picture Nikoos  ·  3Kommentare