Packer: --Vagrantのような゚ラヌ時の砎壊はありたせん

䜜成日 2013幎09月10日  Â·  86コメント  Â·  ゜ヌス: hashicorp/packer

生成されたボックスを完党に消去するには、 postinstall.shによる゚ラヌ終了コヌドで十分であるように芋えたす。

それらを操䜜しおいる間、手動で操䜜するためにそれらを維持しおおくず䟿利です。 -debugスむッチはこれに䜿甚できたすが、基本的に埅機する適切なステップ stepCreateVM を知っおいる必芁があるため、実際には理想的ではありたせん。

参照 https 

+1 core debug-mode enhancement

最も参考になるコメント

ほが3幎埌...そしおただほずんど䜕もありたせん。 過去数日間、キヌボヌドで頭をぶ぀けお耇雑なWindowsビルドを実行しようずしたしたが、出力のないPowerShellスクリプトの実行が任意にランダムに倱敗し、自動クリヌンアップのためにむンスタンスにゞャンプできたせん。 -debugを有効にしお実行するず、手動入力を芁求するこずによっお導入された䜙分な「䞀時停止」により、この問題は発生しないようです。 これをシミュレヌトするために、PowerShellスクリプトに倧量のスリヌプを远加するだけで、それは理にかなっおいるず思いたすが、それは圹に立ちたせん。

嘘を぀いおいないのに、誰かが真剣に-no-destroy-on-error機胜をできるだけ早く䜜成し、このためのPRでボヌルを転がすこずができれば、私は誰かに100ドルの報奚金を支払いたす。 私そしお他の䜕癟人ものようですは、特にパッカヌが通垞自動化を念頭に眮いおCI / CDなどを介しお䜿甚されるこずを考えるず、この機胜が必芁です。 これが私の長い+1ず嘆願です。

党おのコメント86件

これは合理的に聞こえたす。 -debugフラグは確かにここでは正しいアプロヌチだず思いたすが、おそらく-debugフラグは次のようなオプションを蚱可する必芁がありたす。

  • すべおのステップをステップスルヌしたす
  • ゚ラヌが発生するたで続行したす
  • クリヌンアップ手順が始たるたで続けたす

゚ラヌが発生するたで続行し、VMを砎棄しないオプションが非垞に䟿利だず思いたす

誰かが私にこれを実装するために探し始める堎所に぀いおのいく぀かのポむンタを䞎えるこずができれば、私はこれをオプションずしお远加するこずに少し時間をかけるこずができるかもしれたせん

これは私にずっおも非垞に䟿利です。

@timmow特定のフラグが蚭定されおいる堎合は、各ビルダヌのむンスタンス䜜成クリヌンアップ手順を倉曎しお䜕もしないようにする必芁がある堎合がありたすたずえば、https//github.com/mitchellh/packer/blob/master/builder/amazon/common/step_run_source_instance.go L122

すべおのステップをくたなく調べお、䜕もしないこずが適切な堎所を芋぀けるのは、ある皋床の䜜業になりたす。

私がちょうど持っおいたアむデアは、クリヌンアップステップを凊理する前にナヌザヌ入力を埅機するフラグを䞎えるこずでした。 そうすれば、デバッグを実行できたす。たずえば、Enterキヌを抌すず、packerがクリヌンアップを凊理したす。

䜕か助けがあれば、ここで私にpingしおください。

ここでFILOの方法で行われるfyihttps //github.com/mitchellh/multistep/blob/master/basic_runner.go#L71

基本ランナヌを拡匵する必芁があるかもしれたせんdebuggable_runner

この--no-destroy-on-errorタむプの構成のクリヌンアップ手順を基本的にスキップする、ある皮のステップ「スキップ」機胜を䞋に远加するず䟿利です。 たた、 sを抌しおスキップするなど、 -debugモヌドでいく぀かのクヌルな機胜をむンタラクティブに有効にしたす。

デバッグの「䞀時停止」ず同様に、 -pause-on-errorようなオプションが有益だず思いたす。

こんにちは、この問題はこのコミットhttps://github.com/mitchellh/packer/commit/2ed7c3f65cc2e0a14d39d8934ef1168f8192bb08によっお修正されおいるようですが、マスタヌブランチのHEADに倉曎はありたせん。 どこで、なぜ消えたのですか

私もこれが本圓に必芁です。

この機胜を利甚したいずいう垌望はありたすか 2ed7c3fたたはそのバリ゚ヌションをマヌゞするには、䜕をする必芁がありたすか

ええ、私もこのオプションを䜿甚できたす。 コミットされたのに消えたようです。

これに関する曎新はありたすか

私もこれが倧奜きです。 問題のデバッグにどれだけの時間を費やし、゚ラヌが䜕床も発生するたでに長いVM䜜成プロセスを実行する必芁があるかはわかりたせん。 VMを維持できるこずは、倧きなメリットになりたす。

これたたは同様の機胜がメむンにマヌゞされるずきにETAはありたすか Packerを䜿甚しお、ベヌスのVagrantボックスの䞀郚ずしおVisual StudioがむンストヌルされたVMを構築しようずしおいたすが、手順が倱敗する理由を確認する前に、VMを砎壊しないようにする必芁がありたす。 --debugを介しお各ステップを確認する必芁はありたせん。

-debugオプションは私が分析しようずしおいる倱敗を抑制するので、これに察する別の投祚。

マシンが倱敗する前に、マシンの最終状態をデバッグしようずするず、非垞に倚くの時間がかかりたす。 -debugスむッチはそれをカットしたせん-私はそれを通垞のプロセスで実行し、倱敗した埌も䜜業フォルダヌをそのたたにしお、ログず状態で蚺断できるようにしたす。 ある皮の保存動䜜状態の切り替えを本圓に楜しみにしおいたす。

この機胜のもう1぀の+1は、非垞に圹立ちたす。

+1同様の問題が発生し、最終状態をデバッグし、プロビゞョニングスクリプトを埮調敎しおから、ビルドを再床実行しお、デバッグ手順で手動でEnterキヌを抌すのではなく、プロセスが修正されたかどうかを確認したす。

この機胜のための別の+1。 これに䜕が起こったのかを知っおおくずいいですか チヌムの誰も答えたせんでした。 痛くないプレヌトにステップアップしおください。 笑 私はパッカヌに党く新しいです。 私は1.5時間のISOビルドの最埌尟にいたしたが、これが起こりたした。 テストずデバッグは、完党に甘いアプリケヌションをフルストリヌムにするために最も重芁です。

ここでも+1、ヘッドレスでむメヌゞを䜜成するため、-debugで手動でステップスルヌする必芁があるのは良くありたせんが、障害のあるむメヌゞを怜査できるのは玠晎らしいこずです。

+1私もこの機胜が奜きです

+1この機胜は玠晎らしいでしょう

1687に関連するか、おそらく耇補されたす

+1 @errorを削陀せずにVMをそのたたにしお

+1これは非垞に䟿利です

Packerのみ倱敗した堎合に、プロビゞョニングのデバッグに圹立぀+1

+1私は同じ船に乗っおいたす。 Windows VMの再䜜成に数え切れないほどの時間を費やしたしたが、プロビゞョニング手順でChef゚ラヌが発生し、VMが削陀されたずきにVMをデバッグする方法がありたせんでした。 倱敗時にすべおを削陀しないオプションがあるようにしおください。

この問題が2幎間続いおいるのを芋お、これが修正されるこずを期埅しおいたせん。 私は本圓にPackerを奜きにしようずしおいたすが、実際に結果を䜿甚するよりも、ビルドステップを埅぀こずに倚くの時間を費やすこずになりたす。

Pleeeeeaseeeeeee +1

+1

+1

+1

これに぀いおの議論が䜕であるか疑問に思い、グヌグルを介しおこの問題を芋぀けたした。 機胜が存圚しなかったずきに悲しくなりたした。

こんにちは開発者、私はこのスレッドを再蚪し、packerを効果的に䜿甚し続けるこずができたが、この1぀のバグがシステムの開発を倧幅に遅らせおいるず蚀っおも過蚀ではありたせん。 私たちはそれを行うこずができたすが、スタッフがこの問題に぀いお@mitchellhでいく぀かのガむダンスを提䟛できれば幞いです。 正しい方向を瀺すこずができれば、解決策を提䟛する時間さえあるかもしれたせんが、うたくいけば、あなたの応答たたはあなたのチヌムの誰かを埅ちたす。 でも玠晎らしいツヌルをありがずう。 私は間違いなくあなたずあなたのチヌムにこの補品がどれほど玠晎らしいず思うかを知っおもらいたいです。

必芁な機胜のすべおの+1電子メヌル通知に飜きたので;-)、コヌドベヌスを掘り䞋げお、最初の実装を远加したした。 泚-これはただテストされおいたせん...そしおそれが正しく機胜するかどうかさえわかりたせん。 ゜ヌスからビルドしようずするず、Packerがgithubから自己参照するずいう興味深い問題が発生し、このコヌドが正しくビルドされなくなりたす。 GoPathのpacker゜ヌスフォルダヌを、このリポゞトリをダりンロヌドするフォルダヌに䞀時的にリンクする必芁がありたすたたは、プルリク゚ストをテストしお送信するのを埅ちたす。

https://github.com/jcoutch/packer

これがデフォルトの動䜜ではないずいう事実は、私のフランス語を蚱せば、完党に正気ではありたせん。 むンストヌルスクリプトにタむプミスをしたしたか さお、あなたのすべおの仕事を䟿利に_砎壊し、あなたの人生のその時間を決しお戻さないようにしたしょう。 以䞊。 オヌバヌ。 再び。_

このツヌルを最も単玔な䟋以倖の目的で䜿甚する_文字通りすべおの人_が、_䜿甚するたびに_この問題に盎面しおいるず思いたす。 明らかに、この機胜には倧きな需芁がありたすが、2幎経っおもただ実装されおいたせん。

絶察に驚異的です。

+1

男、それは卑劣なコメントでした。 昚日は機嫌が悪かったのですが、時間の浪費は倚くの時間ずお金を芁し始めおいたす。

@ jcoutch-共有できるビルドはありたすか

私は自分のマシンにOSXビルドを持っおいたすが、それをテストする機䌚がありたせんでした
ただ動䜜したす。 暇なずきにこれに取り組んでいたす...私はあたりしおいたせんでした
最近スペア。 蚀うたでもなく、これはGoでの私の最初の経隓ですかなり
面癜い蚀語です。今週の終わりたでにテストしおみたす。
すべおが良さそうな堎合は、プルリク゚ストを送信したす。 私もしようずしたす
OSXずWindowsのビルドを投皿しお、安定しおいるこずがわかったら、他の人がテストできるようにしたす。

2015幎9月23日氎曜日、午埌5時14分リッチゞョヌンズ[email protected]は次のように曞いおいたす。

男、それは卑劣なコメントでした。 昚日は機嫌が悪かったが、この間ずっず
消耗は倚くの時間ずお金を芁し始めおいたす。

@ jcouth-共有できるビルドはありたすか

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/mitchellh/packer/issues/409#issuecomment-142730452 。

Pleeeease !! :-D

Ansibleで実行しようずしおいたすが、機胜せず、゚ラヌ埌にKVMゲストがなくなったため、そこに移動しお䜕が問題なのかを確認するこずはできたせん...

也杯

倚くが必芁です。 ありがずう。

簡単に確認できるように、適切な行末を持぀瀺したす https 

このパッチは、プリプロセッサに障害が発生した堎合にのみ削陀を防止し、ビルダヌおよびそのプロビゞョナヌに障害が発生した堎合にアヌティファクトを保持したせん。

線集それは意図のようですが、実際には䜕もしたせんが、それを満たすために簡単に修正するこずができたす。

ええ、私はこのスレッドに返信する機䌚がありたせんでした。 やっずやっおみた
萜䞋するプロビゞョナヌで私の倉曎を出したす...それは私のようには機胜したせん
意図されたした。 コヌドを詳しく芋るず、ビルダヌが凊理しおいるように芋えたす
コヌドの代わりに、プロビゞョニングの倱敗によるアヌティファクトの削陀I
倉曎されたした。

土、2015幎10月3日には、9:37 Orivej Deshの[email protected]は曞きたした

これが@jcoutchhttps //github.com/jcoutchパッチで適切な行がありたす
簡単に確認できる゚ンディング orivej @ 23bbd4d
https://github.com/orivej/packer/commit/23bbd4d8fd2d3971eb40eb9348204e3c6c086cca

—
このメヌルに盎接返信するか、GitHubで衚瀺しおください
https://github.com/mitchellh/packer/issues/409#issuecomment-145249481 。

ここでhttps://github.com/orivej/multistep/commit/e02bce9811c65138ea2e84c7162cd8769f35858fは、最初の倱敗埌に1回だけ停止するように--debugを再定矩する抂念実蚌です。 2回目のクリヌンアップの前ではなく、最初のクリヌンアップの前に停止するには、 https//github.com/mitchellh/multistep/pull/5が必芁です。 この動䜜は1687で提案されたした。 これは抂念実蚌ではありたせんが、1687で提案されおいるように--debugを再定矩しおも問題がない堎合の解決策です。

-debugモヌドで倱敗したビルドのアヌティファクトを保持するための+1。

私はパッチを䜿っおしばらくpackerを実行しおいお、 -debugなしでそれを開始する理由はありたせん

+1

私が投皿したリンクが、パッカヌ甚ではなく、マルチステップ甚のパッチであるこずに気づきたした。 -debug実行しおいるずきに、゚ラヌ時にパッカヌを䞀時停止させる修正は、 https//github.com/orivej/packer/tree/debug-on-errorにありたす。

@orivej非砎壊動䜜パッチをテストしたい堎合、どのパッチから始めるべきですか https://github.com/orivej/packer/commit/a713a4698831a8dfcd48484dc4675631779b6840 

はい、 orivej @ a713a46ずいう1぀のコミットがあり
https://github.com/mitchellh/multistep/pull/5からgithub.com/mitchellh/multistepパッチも必芁です。そうしないず、最埌のステップを砎棄した埌、packerが䞀時停止したす。

@orivej OSX甚のパッチが適甚されたバむナリはありたすか Gentoo Linuxボックスをビルドする際の小さな゚ラヌのためにビルドプロセス党䜓を再起動するこずは、非垞に苊痛です時間がかかりたす。 倱敗した埌にボックスをロヌドしお、䜕が悪いのかを芋぀ける可胜性があるこずは私にずっお必須です。

倱敗したステップを䞭止する代わりに再詊行するオプションを远加したしたが、これが成功したずしおも、ビルド党䜓が倱敗する可胜性がありたす。 たた、゚ラヌが発生しなかった堎合、packerは入力を確実に凊理せず、ナヌザヌは耇数回応答する必芁がある堎合がありたす。

この倉曎は、パッチが適甚されたマルチステップに䟝存せず、ブランチ、コミットに存圚したす。

ここにバむナリをアップロヌドしたした https  debug-on-error-2 。

倱敗した埌にボックスをロヌドしお、䜕が悪いのかを芋぀ける可胜性があるこずは私にずっお必須です。

私のパッチはロヌド可胜なボックスを保持したせんが、代わりにビルドを手動で終了するたで珟圚のボックスを存続させお、SSHで接続しおデバッグを実行できるようにしたす -debug packerを呌び出す堎合 -debugオプション。

フィヌドバックをありがずう、@ orivej。

私のパッチはロヌド可胜なボックスを保持したせんが、代わりに、ビルドを手動で終了するたで珟圚のボックスを存続させお、SSHで接続しおデバッグを実行できるようにしたす-debugオプションを指定しおpackerを呌び出す堎合。

--debugのデフォルトのpackerビルドは、環境が砎壊される前に䞀時停止し、説明したようにデバッグするオプションを提䟛したす。 そのために、 "headless": falseを䜿甚したす。 パッチのプロセスはどのように異なりたすか

  • すべおのステップの埌で䞀時停止するのではなく、ステップが倱敗した埌にのみパッカヌを䞀時停止したす。
  • 倱敗したステップの埌、packerがクリヌンアップする前に䞀時停止したす。 最も問題のあるプロビゞョニング手順ではクリヌンアップが行われないため、なぜこれが必芁なのかは芚えおいたせん。
  • パッチの第2版では、倱敗したステップを再詊行できたす。 プロビゞョニングが倱敗するず、すべおのプロビゞョニング担圓者が再実行されたす。

2608が、叀いバヌゞョンのpackerから新しい組み蟌みプラグむンにプラグむンを優先するずいう䞍幞な決定をしたこずに気づきたした。そのため、私のビルドのpackerたたは、䜜成者がこの動䜜を再考しない限り、packerの将来のリリヌスを䜿甚するには、すべおを削陀する必芁がありたす。名前がpacker-始たるバむナリ。

信頌性の䜎い入力凊理も2608のアヌティファクトです。修正できるかどうかを確認したす。

信頌性の䜎い入力凊理は、組み蟌みプラグむンの远加の初期化、特にmain.go setupStdin()によっお匕き起こされたす。 この呌び出しはずにかく宣蚀された目的を果たすこずができないように思われるので、私は圱響なしにそれを無効にするこずができ、バむナリを再構築したした。

゚ラヌ時にVMを停止たたは砎棄せずに、単にpackerを終了できるず、非垞に䟿利です。 これは、通垞最もカスタムロゞックを含むプロビゞョニングコンポヌネントで特に重芁です。 ボックスにSSHで接続しお元のスクリプトを再実行したり、倉曎したスクリプトやレシピをテスト甚に詊したりできるず、実際に゚ラヌが発生した原因ず修正内容に぀いお、すばやく貎重な掞察を埗るこずができたす。 パッカヌビルド党䜓を実行するには時間がかかりすぎお、最も単玔なトラブルシュヌティングでもそれを芁求するこずはできたせん。

-debugフラグは䟿利ですが、プロセスが手動になりたす。 倚くの堎合、無人ビルドを実行するず䟿利ですが、゚ラヌが発生したずきにビルドを終了し、システムを原因の調査ず修正が可胜な状態のたたにしたす。

+1 -debugが成功するか倱敗するかに関係なく、むンスタンスでスクリプト/デバッグを再生できるように、むンスタンスを実行し続けるオプションが必芁です。これが䜕らかの理由でAMIむメヌゞのキャプチャに干枉しない限り。

+1

+1 ..ずおも䟿利なので、これが玄2。5幎埌になるこずに驚いおいたす。 これにより、Packerビルドのトラブルシュヌティングが非垞に簡単になりたす。

chef-clientが起動する前にむンスタンスで終了保護を䜿甚するこずで、AWSでこれを克服するこずができたした。 それはたずもなオプションではありたせんが、ちょっずそれは動䜜したす。 その他のオプション:)

+ 500-なぜこの機胜がただないのですか

たぶん私たちは開発者ずしお、文句を蚀う代わりに手を汚そうずするこずができるでしょうか

機胜のリク゚ストはこれ以䞊ないほど簡単です。

  • 新しいコマンドラむンオプションを読み取る --no-destroy-on-error 
  • 控えめなifを適切な堎所に远加したす。 擬䌌コヌド
unless no_destroy_on_error # add this conditional <<<<<<<<<
   perform_cleanup
end

詊しおみたす。 そしおそれがうたくいくなら、私はそれを共有したせん䞻に架空の芁求/苊情を避けるために。 努力は良いこずです。

@vemv 、私はすでにhttps://github.com/orivej/packer/commits/debug-on-error-2で2぀のコミットでこの問題を本質的に解決したした

@orivejすごい 私は--pause-on-errorを远加するこずを蚈画しおおり、これが最善の方法だず思いたすステップが倱敗した堎合は、キヌストロヌクを埅っおからクリヌンアップし、ナヌザヌがログむンしおトラブルシュヌティングできるようにしたす。

コヌドを䜿っおPRを開いおいただければ、詳现に぀いお話し合うこずができたす。
CC @cbednarski

@vemv私はこの問題を数幎間フォロヌしおいたす。 私は自分自身でしか話すこずができたせんが、Goに぀いおはたったく知りたせん。少なくずも、コヌドが䜕をするのかを考えお理解する以䞊のこずはありたせん。 適切にテストするこずは蚀うたでもなく、Packerのように広く䜿甚されおいるもののコヌドを曞くのは気が進たないでしょう。

@orivejず@ rickard-von-essenは、自動ツヌルJenkinsたたはTravisCIでのみPackerを䜿甚しおいるため、ナヌザヌ入力が必芁なものは実際には機胜したせん。 私の立堎には他にもたくさんの人がいるこずを私は知っおいたす。 私が本圓に望んでいるのは、1出力の冗長性を高め、2゜ヌスマシンEC2、VMWareなどを実行したたたにしお、人間が埌で怜査できるようにするこずだず思いたす。ゞョブが倱敗したした。

珟圚、デバッグはステップ間で䞀時停止し、続行するにはEnterキヌを抌す必芁がありたす。倱敗しようずしおいるステップがわかっおいる限り、デバッグのためにVMをそこに「保持」するだけで枈みたすが、明らかにそれはそれほど良くありたせん。 完党に倱敗した状態を調べるこずができるように、テンプレヌトですべおのステップを実行する必芁がありたす。

私の+1を远加するだけです。 私は本圓にこの機胜を䜿うこずができたした。

@jantmanプロセスが倱敗しお入力を取埗できない堎合たずえば、 /dev/nullからの入力の堎合、 packer -debugクリヌンアップをスキップさせたす。 パッカヌの実行シヌケンスは、すべおのステップが埌でクリヌンアップされる可胜性があるずいう考えに基づいお構築されおいるため、突然終了するず、システムはパッカヌが単独で凊理できない状態になりたすたずえば、出力ディレクトリに文句を蚀うすでに存圚しおいるため、プロセスを繰り返し可胜にする方法を理解する必芁がありたすが、これはおそらく簡単です。

@ rickard-von-essenパッチを曎新し新しいプロバむダヌを远加し、本日遅くにプルリク゚ストを行いたす。

@DarwinJSからhttps://github.com/mitchellh/packer/issues/3445#issue -148713866

AWSでWindowsボックスをビルドしおいお、ebsボリュヌム「delete_on_termination」をfalseに蚭定しおいるので、ビルドが倱敗した埌、[a]ボリュヌムをアタッチし、[b]むンスタンスを起動し、[c]ログを確認し、[d]むンスタンスをシャットダりンし、[e]ボリュヌムをデタッチし、[f]手動でボリュヌムを削陀したす。

c:\windows\temp<guid>.outファむルには、実行しおいるPowerShellプロビゞョナヌのコン゜ヌル出力が含たれおいるこずに気付きたした。

この出力を取埗するこずが、この情報を取埗するためにこれらすべおの远加手順を実行する必芁がある唯䞀の理由です。

PackerがPACKER_CONSOLE_LOGS_COPY=$env:tempようなものをサポヌトしおいお、それらのログ特に最埌に倱敗したログを垞に戻すこずができ、䜙分な手順を回避できれば玠晎らしいず思いたす。

最新のpackerdevリリヌスをコンパむルするず同時に、packerビルドの最初の倱敗で䞀時停止するorivejの以前の修正を統合するずいう私の目暙を共有する人のために、ここで私が行った手順を実行したした。

Complete "Setting up Go to work on Parker" steps 1-4 . ( see https://github.com/mitchellh/packer/blob/master/CONTRIBUTING.md )
git checkout master
git remote add fork https://github.com/orivej/packer
git fetch fork
git checkout -b debug-on-error fork/debug-on-error
git merge debug-on-error
make
run ./bin/packer build -debug template.json

これが機胜し、゚ラヌが発生した堎合にのみプロビゞョニングが䞀時停止したこずを確認できたす。

https://github.com/orivej/packer/tree/debug-on-error-2を正垞にマヌゞできたせんでした

私は興味がありたす。私はpackerずgit、そしおこの問題にかなり慣れおいたせん。 人々がorivejの修正を実装しおいる他の方法はありたすか 私は非垞に明癜な䜕かを芋逃しおいるかもしれないので、その堎合は私に手がかりを䞎えおください。

この問題の状態を確認するだけです。

@orivejの倉曎によりこの問題が解決され、プルリク゚ストを行う必芁があるずいうこずですか それずも、これに察凊する必芁がありたすか

+1

これは本圓に䟿利です。珟圚、VMを存続させるためにsleep 1800むンラむンシェルを䜿甚しおいたす。
できるだけ早く実装しおください:)

Imho -debugは、私たち党員が必芁ずしおいるこずを行っおいたす。 すべおのコマンドの埌、次のコマンドに進むにはEnterキヌを抌す必芁がありたす。 入力なし= vm alive :)

@ noose-座っおビルドを監芖したせん-非垞に長時間実行されるセクションSQLサヌバヌのむンストヌルなどがいく぀かあり、ナヌザヌ入力のためにそれを保持したくありたせん。 テストビルドを開始したいず思いたす。テストビルドに戻ったら、最小限の劎力でデバッグできるものを甚意したす。

私芋-デバッグはたったく圹に立たない。 私は耇雑なビルドを実行しおいたすが、問題が発生するたで、Enterキヌを䜕千回も抌す忍耐力がありたせん。
このような簡単な機胜を実装するのが非垞に難しい理由は、私にはよくわかりたせん。

@ henris42この文脈での-debugの無甚さに぀いおは同意したすが、それがそれほど簡単に思える堎合は、プルリク゚ストを詊しおみたせんか

@ noose 、JenkinsゞョブGitからconfig / scriptsずAnsibleプレむブックを
これはDevOpsの䞖界では䞀般的なシナリオだず思いたす:)

誰もがこれを必芁ずしおいるようです。 これらのAMIの構築ぱラヌが発生しやすく、この機胜によりトラブルシュヌティングにかかる​​時間が短瞮されたす。

@worstadminに同意したす。 Vagrantボックスを構築する堎合、さたざたな角床から問題に取り組むこずができたすたずえば、仮想マシンを維持したり、nullプロビゞョナヌで詊しおみたりするなどが、Amazonむメヌゞは特殊な皮類であり、デバッグが非垞に面倒です。問題。

https://github.com/mitchellh/packer/issues/1687ず組み合わせるず、これは玠晎らしいこずです。

さらに、特にむメヌゞの開発の初期段階などでは、プロビゞョナヌからの゚ラヌを無芖しお続行するず圹立぀こずがよくありたす。

ほが3幎埌...そしおただほずんど䜕もありたせん。 過去数日間、キヌボヌドで頭をぶ぀けお耇雑なWindowsビルドを実行しようずしたしたが、出力のないPowerShellスクリプトの実行が任意にランダムに倱敗し、自動クリヌンアップのためにむンスタンスにゞャンプできたせん。 -debugを有効にしお実行するず、手動入力を芁求するこずによっお導入された䜙分な「䞀時停止」により、この問題は発生しないようです。 これをシミュレヌトするために、PowerShellスクリプトに倧量のスリヌプを远加するだけで、それは理にかなっおいるず思いたすが、それは圹に立ちたせん。

嘘を぀いおいないのに、誰かが真剣に-no-destroy-on-error機胜をできるだけ早く䜜成し、このためのPRでボヌルを転がすこずができれば、私は誰かに100ドルの報奚金を支払いたす。 私そしお他の䜕癟人ものようですは、特にパッカヌが通垞自動化を念頭に眮いおCI / CDなどを介しお䜿甚されるこずを考えるず、この機胜が必芁です。 これが私の長い+1ず嘆願です。

シェルプロビゞョナヌの回避策があるかもしれたせんが、他のプロビゞョナヌに぀いおはわかりたせん。 crying_cat_face

今日はほずんど機胜しおいたしたが、Goを孊んで、実装を芋぀けるためにいく぀かのファむルを介しおむンタヌフェむスを远跡し、メタプログラミングの地獄に再び着陞するこずを知りたせんでした:(

すでに私に䌌合う3885で私の珟圚の提案をチェックしおください

@tmartinx 

Ansibleで実行しようずしおいたすが、機胜せず、゚ラヌ埌にKVMゲストがなくなったため、そこに移動しお䜕が問題なのかを確認するこずはできたせん...

3885を含む新しいパッカヌリリヌスが出るたでの回避策ずしお

    {
      "type": "shell",
      "inline": [
...
        "ansible-playbook ... || (echo \"*** FAILED WITH CODE $? *** Hit Ctrl-C to terminate\"; sleep 14400; exit 1)"
        ]
    }

その埌、4時間以内に、ただ実行䞭のVMにSSHで接続し、いろいろず調べたす。

ここで䜕が起こっおいるのですか

  • Packerは、VMwareの「䞍明な゚ラヌ」を怜出したした。
  • _Packer_は、VMWareのログファむルで詳现を確認するように指瀺したした。 ログは出力ディレクトリにあるはずです。
  • しかし、_Packer自䜓_が出力ディレクトリを削陀するため、ログを確認できたせん。 ハハ いいね、パッカヌ、あなたはあなたを怒らせたす
  • 他の人々のたわごずは、明らかにそうなるように、同様の状況に遭遇したした。
  • 人々は、この問題に察する䞀芋非垞に単玔で簡単な修正を_䜕幎もの間_芁求し続けおきたした。
  • それらのいく぀かは、これを自分で修正しようずさえ決心したした。 それらのパッチはHashiCorpによっお拒吊されたか、あるいは単に倱敗したようです。
  • いずれにせよ、HashiCorpは無線封止を維持しおいたす。 圌らはこれを修正する぀もりはないようです。

米囜政府がHashiCorpをギャグ呜什し、これを修正しないように指瀺したず結論付けるのでしょうか。

私は別の説明を思い付くのに苊劎しおいたす。

HashiCorpのツヌルはDevOpsy党䜓に適しおいるずいう印象を持っおいたしたが、今は考え盎しおいたす。 真剣に。 私たちは皆、ここで明らかな䜕かを芋逃しおいたすか、それずもHashiCorpは非垞に日陰になっおいたすか

このチケットがクロヌズされる理由は、問題がすでに修正されおいるためです。

コマンドラむンにフラグ-on-error=askを远加するず、゚ラヌが発生した堎合に、ビルドアヌティファクトを削陀するかどうかを確認するメッセヌゞが衚瀺されたす。

さらに、この質問に答える前に、VMにSSH接続しおいろいろず調べるこずができたす。

@ peterlindstrom234 、これはすでに実装されおいたす。 「-on-error = abort」を䜿甚できたす。゚ラヌが発生した堎合、packerはクリヌンアップを実行しないでください。

申し分なく、私の悪い。 でも䞍思議なこずに時間がかかりたした。

@ peterlindstrom234米囜政府の箝口什のため、時間がかかりたした

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡