mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-28 02:34:02 -04:00
Merge pull request #6204 from arizvisa/GH-6197
Specify "bios.hddOrder" during the CreateVMX step for the vmware-iso builder.
This commit is contained in:
@@ -47,7 +47,7 @@ func (s StepCleanVMX) Run(_ context.Context, state multistep.StateBag) multistep
|
||||
}
|
||||
vmxData["floppy0.present"] = "FALSE"
|
||||
|
||||
devRe := regexp.MustCompile(`^ide\d:\d\.`)
|
||||
devRe := regexp.MustCompile(`^(ide|sata)\d:\d\.`)
|
||||
for k, v := range vmxData {
|
||||
ide := devRe.FindString(k)
|
||||
if ide == "" || v != "cdrom-image" {
|
||||
|
||||
@@ -21,6 +21,8 @@ type vmxTemplateData struct {
|
||||
ISOPath string
|
||||
Version string
|
||||
|
||||
HDD_BootOrder string
|
||||
|
||||
SCSI_Present string
|
||||
SCSI_diskAdapterType string
|
||||
SATA_Present string
|
||||
@@ -382,6 +384,7 @@ func (s *stepCreateVMX) Run(_ context.Context, state multistep.StateBag) multist
|
||||
NVME_Present: "FALSE",
|
||||
|
||||
DiskType: "scsi",
|
||||
HDD_BootOrder: "scsi0:0",
|
||||
CDROMType: "ide",
|
||||
CDROMType_MasterSlave: "0",
|
||||
|
||||
@@ -396,23 +399,28 @@ func (s *stepCreateVMX) Run(_ context.Context, state multistep.StateBag) multist
|
||||
|
||||
/// Use the disk adapter type that the user specified to tweak the .vmx
|
||||
// Also sync the cdrom adapter type according to what's common for that disk type.
|
||||
// XXX: If the cdrom type is modified, make sure to update common/step_clean_vmx.go
|
||||
// so that it will regex the correct cdrom device for removal.
|
||||
diskAdapterType := strings.ToLower(config.DiskAdapterType)
|
||||
switch diskAdapterType {
|
||||
case "ide":
|
||||
templateData.DiskType = "ide"
|
||||
templateData.CDROMType = "ide"
|
||||
templateData.CDROMType_MasterSlave = "1"
|
||||
templateData.HDD_BootOrder = "ide0:0"
|
||||
case "sata":
|
||||
templateData.SATA_Present = "TRUE"
|
||||
templateData.DiskType = "sata"
|
||||
templateData.CDROMType = "sata"
|
||||
templateData.CDROMType_MasterSlave = "1"
|
||||
templateData.HDD_BootOrder = "sata0:0"
|
||||
case "nvme":
|
||||
templateData.NVME_Present = "TRUE"
|
||||
templateData.DiskType = "nvme"
|
||||
templateData.SATA_Present = "TRUE"
|
||||
templateData.CDROMType = "sata"
|
||||
templateData.CDROMType_MasterSlave = "0"
|
||||
templateData.HDD_BootOrder = "nvme0:0"
|
||||
case "scsi":
|
||||
diskAdapterType = "lsilogic"
|
||||
fallthrough
|
||||
@@ -422,6 +430,7 @@ func (s *stepCreateVMX) Run(_ context.Context, state multistep.StateBag) multist
|
||||
templateData.DiskType = "scsi"
|
||||
templateData.CDROMType = "ide"
|
||||
templateData.CDROMType_MasterSlave = "0"
|
||||
templateData.HDD_BootOrder = "scsi0:0"
|
||||
}
|
||||
|
||||
/// Handle the cdrom adapter type. If the disk adapter type and the
|
||||
@@ -641,7 +650,8 @@ func (s *stepCreateVMX) Cleanup(multistep.StateBag) {
|
||||
// do so by specifying in the builder configuration.
|
||||
const DefaultVMXTemplate = `
|
||||
.encoding = "UTF-8"
|
||||
bios.bootOrder = "hdd,CDROM"
|
||||
bios.bootOrder = "hdd,cdrom"
|
||||
bios.hddOrder = "{{ .HDD_BootOrder }}"
|
||||
checkpoint.vmState = ""
|
||||
cleanShutdown = "TRUE"
|
||||
config.version = "8"
|
||||
|
||||
Reference in New Issue
Block a user