upload: default to boot-mode uefi-preferred when unset
When using `image-builder upload --to=aws` we do not know the bootmode. Ideally we would introspect the image for the boot mode but that is not trivial right now. So for now just default to platform.BOOT_HYBRID which translated to `uefi-preferred` in the AWS API calls which should offer the widest compatbility and should fix the issue that aarch64 does not boot currently when uploaded via ibcli.
This commit is contained in:
parent
62bf88cc62
commit
2c017fc630
2 changed files with 12 additions and 3 deletions
|
|
@ -89,6 +89,16 @@ func uploaderForCmdAWS(cmd *cobra.Command, bootMode *platform.BootMode) (cloud.U
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if bootMode == nil {
|
||||
// If unset, default to BOOT_HYBIRD which translated
|
||||
// to "uefi-prefered" when registering the image.
|
||||
// This should give us wide compatibility. Ideally
|
||||
// we would introspect the image but we have no
|
||||
// metadata there right now.
|
||||
// XXX: move this into the "images" library itself?
|
||||
bootModeHybrid := platform.BOOT_HYBRID
|
||||
bootMode = &bootModeHybrid
|
||||
}
|
||||
|
||||
var missing []string
|
||||
requiredArgs := []string{"aws-ami-name", "aws-bucket", "aws-region"}
|
||||
|
|
@ -126,8 +136,6 @@ func cmdUpload(cmd *cobra.Command, args []string) error {
|
|||
}
|
||||
|
||||
imagePath := args[0]
|
||||
// XXX: we need a way to introspect the image for bootmode here
|
||||
// and/or error if no bootmode is specified
|
||||
uploader, err := uploaderFor(cmd, uploadTo, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
|
|
@ -92,7 +92,8 @@ func TestUploadWithAWSMock(t *testing.T) {
|
|||
assert.Equal(t, regionName, "aws-region-1")
|
||||
assert.Equal(t, bucketName, "aws-bucket-2")
|
||||
assert.Equal(t, amiName, "aws-ami-3")
|
||||
assert.Equal(t, &awscloud.UploaderOptions{TargetArch: tc.expectedUploadArch}, uploadOpts)
|
||||
expectedBootMode := platform.BOOT_HYBRID
|
||||
assert.Equal(t, &awscloud.UploaderOptions{TargetArch: tc.expectedUploadArch, BootMode: &expectedBootMode}, uploadOpts)
|
||||
|
||||
assert.Equal(t, 0, fa.checkCalls)
|
||||
assert.Equal(t, 1, fa.uploadAndRegisterCalls)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue