Skip to content

Please document/log that StepStopEBSBackedInstance is silently skipped when building with a spot instance #448

@dgersting

Description

@dgersting

Overview of the Issue

When using amazon-ebs on a spot instance, it turns out packer is silently skipping the step in which it shuts down the EC2 instance. AWS will then reboot the instance as part of the AMI creation so it can snapshot the disk at rest. This reboot has been causing me issues due to the "on boot" scripts being baked in via packer.

It's pretty widely documented that packer will stop the ec2 instance before creating the AMI, however... it turns out this is silently skipped if the instance is a spot instance. With this logic undocumented and no logging (not even trace logging) available, this has been a very frustrating behavior to track down.

https://github.com/hashicorp/packer-plugin-amazon/blob/main/builder/ebs/builder.go#L385
https://github.com/hashicorp/packer-plugin-amazon/blob/main/builder/common/step_stop_ebs_instance.go#L29

Reproduction Steps

  1. Create basic packer config using amazon-ebs using a spot instance
  2. Run packer build with debug or trace logging
  3. Observe StepStopEBSBackedInstance is silently skipped after StepCleanupTempKeys

Plugin and Packer version

> packer version 
Packer v1.10.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions