Using ansible to run AWS EC2ConfigService's sysprep

I’m using Ansible to bake Windows AMIs in AWS. It works well.

This involves running & "c:\program files\Amazon\Ec2ConfigService\ec2config.exe" -sysprep as the last step. This will sysprep the box and then shut it down so that one can aws ec2 create-image on it.

Trouble is, because it shuts the box down, winrm goes with it.

I was thinking about how I might do this, and so far the best I’ve come up with is to schedule a task for a few seconds from now that will run that command. Ansible ought to get a good response from winrm and return ok.

Before I do that, can anyone think of something better, or has anyone done this already?

Regards
Pete

Hi Peter,

You probably want to do a “fire and forget” async task on the system, and then use the wait_for module to determine when the system was done shutting down.

Hope that helps!

Thanks; that sounds way cleaner. I’ll try that.

HI Peter,

have you managed to do it? I can not connect to the EC2 instance afterwards (after spinning up the AMI)

any success on that?

Regards,

M G

Hi M G

https://github.com/petemounce/ansible-modules-extras/blob/win_ec2config/windows/win_ec2config.ps1 and https://github.com/petemounce/ansible-modules-extras/blob/win_ec2config/windows/win_ec2config.py worked fine for me. There was a PR, but the contribution didn’t cover enough of the ec2config configuration surface area to be considered worth merging, and I didn’t have the bandwidth to make the additions at the time.

Best regards
Pete