-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
amazon/ebssurrogate: Add New Builder #4351
Conversation
Interesting 👍 |
command/plugin.go
Outdated
@@ -23,7 +24,7 @@ import ( | |||
dockerbuilder "github.com/mitchellh/packer/builder/docker" | |||
filebuilder "github.com/mitchellh/packer/builder/file" | |||
googlecomputebuilder "github.com/mitchellh/packer/builder/googlecompute" | |||
hypervbuilder "github.com/mitchellh/packer/builder/hyperv/iso" | |||
hypervisobuilder "github.com/mitchellh/packer/builder/hyperv/iso" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this intentional in the commit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes - the version in this pull request was generated.
This is now ready for review! cc @mwhooker, @sean-, @cbednarski, @phinze. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm excited to see this get some use.
will need further discussion around |
I've got some thoughts around variable interpolation and tagging. It seems like we'll want exclude I think we'll probably want the rest of the steps from e.g. Those deal with tagging the AMI, copying it across regions, and tagging it. Does that sound right? We'll also want to exclude the following if we add those steps
|
@mwhooker re putting the AMI in the right place: it's very common that for scratch built AMIs there are region specific things built in - for example the sources list on Ubuntu. I deliberately left them out for that reason. Tagging is a reasonable thing to add though. I'll take a look re: the other points here and follow up tomorrow. |
good call |
Per the comment at #4312 (comment) does this builder not currently support ENA, but this is where you're suggesting that ENA support should be added for building ENA images? |
@sodabrew I haven't really thought fully if this builder needs to support ENA, but just wanted to make a note that this builder is one where we might want to add ENA support when we add it to the other builders. I think the answer to your question is yes. |
@mwhooker I'm looking to build ENA-enabled images, and as that looks like a bleeding-edge feature request, I'm reading into which PRs here I might adapt for a hacky local build temporarily. I didn't get why 4312 was closed - were you suggesting that only this proposed new builder would be the only ENA builder? |
This commit adds a new type of builder which builds an AMI based on a snapshot of an EBS volume which is provisioned on a "surrogate" instance. This can be used to build operating system images from scratch, but unlike the `chroot` builder does not require running from an AWS EC2 instance.
As pointed out in the initial code review of #4351, some of the steps from the standard EBS builder were (intetionally) omitted. It turns out that these actually are useful, and the original rationale for the omission was wrong. Consequently, this commit adds in the following steps: - `StepPrevalidate` - `StepTagEBSVolumes` - `StepDeregisterAMI` - `StepCreateEncryptedAMICopy` - `StepAMIRegionCopy` - `StepModifyAMIAttribute` - `StepCreateTags` We also fix the interpolation filter and documentation to reflect these additions, though the majority were already documented and just not functional.
As pointed out in the initial code review of #4351, some of the steps from the standard EBS builder were (intetionally) omitted. It turns out that these actually are useful, and the original rationale for the omission was wrong. Consequently, this commit adds in the following steps: - `StepPrevalidate` - `StepTagEBSVolumes` - `StepDeregisterAMI` - `StepCreateEncryptedAMICopy` - `StepAMIRegionCopy` - `StepModifyAMIAttribute` - `StepCreateTags` We also fix the interpolation filter and documentation to reflect these additions, though the majority were already documented and just not functional.
As pointed out in the initial code review of #4351, some of the steps from the standard EBS builder were (intetionally) omitted. It turns out that these actually are useful, and the original rationale for the omission was wrong. Consequently, this commit adds in the following steps: - `StepPrevalidate` - `StepTagEBSVolumes` - `StepDeregisterAMI` - `StepCreateEncryptedAMICopy` - `StepAMIRegionCopy` - `StepModifyAMIAttribute` - `StepCreateTags` We also fix the interpolation filter and documentation to reflect these additions, though the majority were already documented and just not functional.
This commit adds a new type of builder which builds an AMI based on a snapshot of an EBS volume which is provisioned on a "surrogate" instance. This can be used to build operating system images from scratch, but unlike the
chroot
builder does not require running from an AWS EC2 instance.