Adds `qemu_agent` optional config parameter
This commit is contained in:
parent
c261428c4f
commit
cb7b77cd90
|
@ -43,6 +43,7 @@ type Config struct {
|
|||
NICs []nicConfig `mapstructure:"network_adapters"`
|
||||
Disks []diskConfig `mapstructure:"disks"`
|
||||
ISOFile string `mapstructure:"iso_file"`
|
||||
Agent string `mapstructure:"qemu_agent"`
|
||||
|
||||
TemplateName string `mapstructure:"template_name"`
|
||||
TemplateDescription string `mapstructure:"template_description"`
|
||||
|
@ -149,6 +150,11 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
|
|||
c.Disks[idx].CacheMode = "none"
|
||||
}
|
||||
}
|
||||
// Valid values: 0 - no agent, 1 - with agent; default is 1
|
||||
if c.Agent != "0" && c.Agent != "1" {
|
||||
log.Printf("Agent '%s' is not valid, using default: 1", c.Agent)
|
||||
c.Agent = "1"
|
||||
}
|
||||
|
||||
errs = packer.MultiErrorAppend(errs, c.Comm.Prepare(&c.ctx)...)
|
||||
errs = packer.MultiErrorAppend(errs, c.BootConfig.Prepare(&c.ctx)...)
|
||||
|
|
|
@ -93,6 +93,7 @@ func TestBasicExampleFromDocsIsValid(t *testing.T) {
|
|||
// OS not set, using default 'other'
|
||||
// NIC 0 model not set, using default 'e1000'
|
||||
// Disk 0 cache mode not set, using default 'none'
|
||||
// Agent not set, default is 1
|
||||
|
||||
if b.config.Memory != 512 {
|
||||
t.Errorf("Expected Memory to be 512, got %d", b.config.Memory)
|
||||
|
@ -112,4 +113,7 @@ func TestBasicExampleFromDocsIsValid(t *testing.T) {
|
|||
if b.config.Disks[0].CacheMode != "none" {
|
||||
t.Errorf("Expected disk cache mode to be 'none', got %s", b.config.Disks[0].CacheMode)
|
||||
}
|
||||
if b.config.Agent != "1" {
|
||||
t.Errorf("Expected Agent to be 1, got %s", b.config.Agent)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ func (s *stepStartVM) Run(ctx context.Context, state multistep.StateBag) multist
|
|||
ui.Say("Creating VM")
|
||||
config := proxmox.ConfigQemu{
|
||||
Name: c.VMName,
|
||||
Agent: "1",
|
||||
Agent: c.Agent,
|
||||
Description: "Packer ephemeral build VM",
|
||||
Memory: c.Memory,
|
||||
QemuCores: c.Cores,
|
||||
|
|
|
@ -146,6 +146,10 @@ builder.
|
|||
- `unmount_iso` (bool) - If true, remove the mounted ISO from the template
|
||||
after finishing. Defaults to `false`.
|
||||
|
||||
- `qemu_agent` (string) - Enables (`1`) or disables (`0`) the QEMU Agent option
|
||||
for this VM. When disabled, then Packer can't determine the guest's IP,
|
||||
and `ssh_host` should be used. When enabled, then `qemu-guest-agent`
|
||||
must be installed on the guest OS. Defaults to `1`.
|
||||
|
||||
## Example: Fedora with kickstart
|
||||
|
||||
|
|
Loading…
Reference in New Issue