Packer: chef-cookbooksのWinRMコピーが遅すぎます

作成日 2018年03月02日  ·  3コメント  ·  ソース: hashicorp/packer

私は同じことに関して多くの問題を見てきました。 しかし、テストキッチン(https://github.com/test-kitchen/winrm-transport)が同じランリストのWindowsマシンにファイルをコピーする速度を比較すると、これは解決できる問題のようです。 私の場合、パッカーのコピーには1時間近くかかりますが、テストキッチンでは5分未満で完了します。 これは私には貧弱な実装のように思えます。 私は可能な限りの方法で助けたいと思います。 これにより、Windowsのビルドが非常に遅くなり、小さな変更をテストすると、エンジニアリング時間が無駄になりすぎます。

参照: https

communicatowinrm enhancement

最も参考になるコメント

WinRM Windowsビルドの高速化を検討している場合は、ファイルプロビジョナーを使用して、シェフソロプロビジョナーが実行される前にすべてのクックブックをzipファイルにコピーし、 remote_cookbook_pathsを指定することで、この問題を回避できます。 このようなものが私のビルド時間を劇的にスピードアップしました:

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

全てのコメント3件

私は、パッカーが料理本をコピーするシェフソロプロビジョナーステップで「ハング」することに気づきました。 3秒ごとに1つのファイルをコピーしているように見えます。 この操作中にEC2インスタンスにログインし、ファイル数が実際にゆっくりと増加していることを確認しました。

関連するログ出力の要点:
https://gist.github.com/JCapriotti/4ecfe4a1e20fcbd879161086b0815861

残念ながら、約13のクックブックに依存しており、これによりビルドに約45分が追加されます。 ファイルをコピーするためだけに!

WinRM Windowsビルドの高速化を検討している場合は、ファイルプロビジョナーを使用して、シェフソロプロビジョナーが実行される前にすべてのクックブックをzipファイルにコピーし、 remote_cookbook_pathsを指定することで、この問題を回避できます。 このようなものが私のビルド時間を劇的にスピードアップしました:

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

winRMの優先順位を下げても問題ありませんが、これは機能強化ではなくパフォーマンスのバグであるはずです。 焼き時間は、平均的なサイズの料理本のリストでさえ耐えられません。 私たちのものは<3Mbですが、アップロードには25分かかります!

このページは役に立ちましたか?
0 / 5 - 0 評価