Hi Rickard, Sorry for reviving zombie thread but after a lot of effort I'm right back to this same issue. I started by looking at the Azure ARM documetnation and specifically the sysprep block in this example. https://github.com/hashicorp/packer/blob/master/examples/azure/windows.json
In the example sysprep is done last by a standard powershell provisioner with the /shutdown option. So sysprep starts off and does it's thing eventually shutting down the instance itself. Based on discussion and research the Azure ARM builder then sends a shutdown command to the instance. How that is handled is the key difference between this case and attempting to do the same thing on OpenStack builder. Also of note is that sysprep ends the winrm connection before it's completed work. When I do the same approach with OpenStack builder a couple of outcomes happen. 1. Matching the example just start sysprep as the last provisioner results in the provisioner ending before sysprep is done. Packer then powers off the VM before sysprep is completed. 2. Matching the example but adding a local shell provisioner that just adds 15 minute wait then shutting down. The OpenStack builder fails because the instance is shutdown when it attempts to shut it down with an invalid state error. This specific behaviour I'm crafting a bug report for currently. 3. Running sysprep with a /quit option instead of shutdown then allowing the builder to power off the system after 15min pause. This is currently what I'm doing but it's still causing the VM to be shutdown in an invalid state. Windows needs to do some kind of process at shutdown and the method openstack/packer builder does this is to abrupt. In my view the use case of sysprep for windows images merits adding the shutdown_command capability as an option for "cloud" style packer builders. The normal cloud style shutdown can run after the timeout or if the shutdown_command detects the instance is down. It seems likely the documented technique for azure-arm works because of how that builder and platform deal with windows instance power off is optimized for windows. I'm open to other suggestions but having packer handle the sysprep shutdown use case directly seems best for the long term. Cheers, Blake On Friday, March 24, 2017 at 11:58:04 AM UTC-7, Rickard von Essen wrote: > > None of the cloud based builders have a shutdown_command, there is a > difference on how they are operated. > > Azure ARM > <https://www.google.com/url?q=https%3A%2F%2Fwww.packer.io%2Fdocs%2Fbuilders%2Fazure-arm.html&sa=D&sntz=1&usg=AFQjCNHUFvtwPjGjJeLcI6AILKvPb2pq_Q> > have > a example under Deprovision - Windows on how to run sysprep on Azure, but I > assume the same thing works for OpenStack. > > // Rickard > > On 24 March 2017 at 19:52, Blake Garner <bl...@netjibbing.com > <javascript:>> wrote: > >> It seems like any of the builders could send a shutdown command to the >> OS. Why does the OpenStack one do this instead of working the same as >> vmware-iso or qemu? >> >> Windows OpenStack images need to run sysprep at shutdown. For that to >> work we need to run a script that kills the winrm connection and wait for >> the OS to power itself off. I don't see a clear way to do this with packer >> currently... >> >> >> >> On Fri, Mar 24, 2017 at 9:26 AM, Lorena Lobato <loren...@gmail.com >> <javascript:>> wrote: >> >>> Same case but with Linux images. When I reboot the machine in the >>> provisioner stops without any error and skipping the post commands. >>> >>> Is there anyway to avoid this? Need to reboot the machine during >>> provisioning time to make effective some puppet changes. >>> >>> >>> El viernes, 24 de marzo de 2017, 7:39:54 (UTC+1), Rickard von Essen >>> escribió: >>>> >>>> Shutdown is initiated by an api towards openstack. >>>> >>>> On Mar 23, 2017 23:46, "Blake Garner" <bl...@netjibbing.com> wrote: >>>> >>>>> I'm starting to work with the OpenStack builder and noticed that no >>>>> shutdown_command or shutdown_timeout exist. Am I missing something here? >>>>> Using the shutdown commands is how I trigger windows images to shutdown >>>>> and >>>>> run sysprep. Doing sysprep at shutdown is key for getting cloudbase-init >>>>> to >>>>> work as desired. >>>>> >>>>> Has anybody worked this out yet or do I need to make some feature >>>>> requests? >>>>> >>>>> Thanks, >>>>> Blake >>>>> >>>>> -- >>>>> This mailing list is governed under the HashiCorp Community Guidelines >>>>> - https://www.hashicorp.com/community-guidelines.html. Behavior in >>>>> violation of those guidelines may result in your removal from this >>>>> mailing >>>>> list. >>>>> >>>>> GitHub Issues: https://github.com/mitchellh/packer/issues >>>>> IRC: #packer-tool on Freenode >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Packer" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to packer-tool...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/packer-tool/3586fb47-584d-4434-a613-c3e64ebd45a4%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/packer-tool/3586fb47-584d-4434-a613-c3e64ebd45a4%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >>> This mailing list is governed under the HashiCorp Community Guidelines - >>> https://www.hashicorp.com/community-guidelines.html. Behavior in >>> violation of those guidelines may result in your removal from this mailing >>> list. >>> >>> GitHub Issues: https://github.com/mitchellh/packer/issues >>> IRC: #packer-tool on Freenode >>> --- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Packer" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/packer-tool/YNwRJD6R60I/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> packer-tool...@googlegroups.com <javascript:>. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/packer-tool/6755b43a-d111-47d3-88bd-51651b537bb0%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/packer-tool/6755b43a-d111-47d3-88bd-51651b537bb0%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> This mailing list is governed under the HashiCorp Community Guidelines - >> https://www.hashicorp.com/community-guidelines.html. Behavior in >> violation of those guidelines may result in your removal from this mailing >> list. >> >> GitHub Issues: https://github.com/mitchellh/packer/issues >> IRC: #packer-tool on Freenode >> --- >> You received this message because you are subscribed to the Google Groups >> "Packer" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to packer-tool...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/packer-tool/CAGA5xXVUEMd06ch2JDuTChx6M5CiNGCdCs5rcY2EQ%2Bp5qZ1_Aw%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/packer-tool/CAGA5xXVUEMd06ch2JDuTChx6M5CiNGCdCs5rcY2EQ%2Bp5qZ1_Aw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/packer/issues IRC: #packer-tool on Freenode --- You received this message because you are subscribed to the Google Groups "Packer" group. To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/df3f8c87-9def-42f3-93d0-12081bc5a5c3%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.