mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-05-02 22:34:56 -04:00
terraform: QEMU node groups (#1961)
* init add variables add amount to instance_group again fix tf validate rollback old names make fields optional fix image ref mini daniel comments use latest * Update cli/internal/terraform/terraform/qemu/main.tf Co-authored-by: Malte Poll <1780588+malt3@users.noreply.github.com> * add uid to resource name * make machine a global variable again * fix tf --------- Co-authored-by: Malte Poll <1780588+malt3@users.noreply.github.com>
This commit is contained in:
parent
161bb37cba
commit
9bb91ca447
11 changed files with 202 additions and 188 deletions
|
@ -406,31 +406,43 @@ func (c *Creator) createQEMU(ctx context.Context, cl terraformClient, lv libvirt
|
|||
}
|
||||
|
||||
vars := terraform.QEMUVariables{
|
||||
CommonVariables: terraform.CommonVariables{
|
||||
Name: opts.Config.Name,
|
||||
CountControlPlanes: opts.ControlPlaneCount,
|
||||
CountWorkers: opts.WorkerCount,
|
||||
StateDiskSizeGB: opts.Config.StateDiskSizeGB,
|
||||
},
|
||||
Name: opts.Config.Name,
|
||||
LibvirtURI: libvirtURI,
|
||||
LibvirtSocketPath: libvirtSocketPath,
|
||||
// TODO(malt3): auto select boot mode based on attestation variant.
|
||||
// requires image info v2.
|
||||
BootMode: "uefi",
|
||||
ImagePath: imagePath,
|
||||
ImageFormat: opts.Config.Provider.QEMU.ImageFormat,
|
||||
CPUCount: opts.Config.Provider.QEMU.VCPUs,
|
||||
MemorySizeMiB: opts.Config.Provider.QEMU.Memory,
|
||||
BootMode: "uefi",
|
||||
ImagePath: imagePath,
|
||||
ImageFormat: opts.Config.Provider.QEMU.ImageFormat,
|
||||
NodeGroups: map[string]terraform.QEMUNodeGroup{
|
||||
"control_plane_default": {
|
||||
Role: role.ControlPlane.TFString(),
|
||||
InstanceCount: opts.ControlPlaneCount,
|
||||
DiskSize: opts.Config.StateDiskSizeGB,
|
||||
CPUCount: opts.Config.Provider.QEMU.VCPUs,
|
||||
MemorySize: opts.Config.Provider.QEMU.Memory,
|
||||
},
|
||||
"worker_default": {
|
||||
Role: role.Worker.TFString(),
|
||||
InstanceCount: opts.WorkerCount,
|
||||
DiskSize: opts.Config.StateDiskSizeGB,
|
||||
CPUCount: opts.Config.Provider.QEMU.VCPUs,
|
||||
MemorySize: opts.Config.Provider.QEMU.Memory,
|
||||
},
|
||||
},
|
||||
Machine: "q35", // TODO(elchead): make configurable AB#3225
|
||||
MetadataAPIImage: opts.Config.Provider.QEMU.MetadataAPIImage,
|
||||
MetadataLibvirtURI: metadataLibvirtURI,
|
||||
NVRAM: opts.Config.Provider.QEMU.NVRAM,
|
||||
Firmware: opts.Config.Provider.QEMU.Firmware,
|
||||
// TODO(malt3) enable once we have a way to auto-select values for these
|
||||
// requires image info v2.
|
||||
// BzImagePath: placeholder,
|
||||
// InitrdPath: placeholder,
|
||||
// KernelCmdline: placeholder,
|
||||
}
|
||||
if opts.Config.Provider.QEMU.Firmware != "" {
|
||||
vars.Firmware = toPtr(opts.Config.Provider.QEMU.Firmware)
|
||||
}
|
||||
|
||||
if err := cl.PrepareWorkspace(path.Join("terraform", strings.ToLower(cloudprovider.QEMU.String())), &vars); err != nil {
|
||||
return clusterid.File{}, fmt.Errorf("prepare workspace: %w", err)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue