googlecompute: Correct values for on_host_maintenance
If preemptible is true then on_host_maintenance must be TERMINATE. Also corrected order in docs. Closes #4620
This commit is contained in:
parent
0bd04f7bab
commit
eac5b6392d
|
@ -93,15 +93,20 @@ func NewConfig(raws ...interface{}) (*Config, []string, error) {
|
||||||
if c.ImageDescription == "" {
|
if c.ImageDescription == "" {
|
||||||
c.ImageDescription = "Created by Packer"
|
c.ImageDescription = "Created by Packer"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if c.OnHostMaintenance == "MIGRATE" && c.Preemptible {
|
||||||
|
errs = packer.MultiErrorAppend(errs,
|
||||||
|
errors.New("on_host_maintenance must be TERMINATE when using preemptible instances."))
|
||||||
|
}
|
||||||
// Setting OnHostMaintenance Correct Defaults
|
// Setting OnHostMaintenance Correct Defaults
|
||||||
// "MIGRATE" : Possible if Preemptible is false
|
// "MIGRATE" : Possible and default if Preemptible is false
|
||||||
// "TERMINATE": Posssible if Preemptible is true
|
// "TERMINATE": Required if Preemptible is true
|
||||||
if c.OnHostMaintenance == "" && c.Preemptible {
|
if c.Preemptible {
|
||||||
|
c.OnHostMaintenance = "TERMINATE"
|
||||||
|
} else {
|
||||||
|
if c.OnHostMaintenance == "" {
|
||||||
c.OnHostMaintenance = "MIGRATE"
|
c.OnHostMaintenance = "MIGRATE"
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.OnHostMaintenance == "" && !c.Preemptible {
|
|
||||||
c.OnHostMaintenance = "TERMINATE"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure user sets a valid value for on_host_maintenance option
|
// Make sure user sets a valid value for on_host_maintenance option
|
||||||
|
|
|
@ -177,15 +177,14 @@ builder.
|
||||||
- `omit_external_ip` (boolean) - If true, the instance will not have an external IP.
|
- `omit_external_ip` (boolean) - If true, the instance will not have an external IP.
|
||||||
`use_internal_ip` must be true if this property is true.
|
`use_internal_ip` must be true if this property is true.
|
||||||
|
|
||||||
- `preemptible` (boolean) - If true, launch a preembtible instance.
|
|
||||||
|
|
||||||
- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid
|
- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid
|
||||||
choices are `MIGRATE` and `TERMINATE`. Please see [GCE Instance Scheduling
|
choices are `MIGRATE` and `TERMINATE`. Please see [GCE Instance Scheduling
|
||||||
Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options),
|
Options](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options),
|
||||||
as not all machine_types support `MIGRATE` (i.e. machines with GPUs). The
|
as not all machine_types support `MIGRATE` (i.e. machines with GPUs).
|
||||||
default value depends on preemtability.
|
If preemptible is true this can only be `TERMINATE`. If preemptible
|
||||||
- when preemptible == true, defaults to `TERMINATE`
|
is false, it defaults to `MIGRATE`
|
||||||
- when preemptible == false, defaults to `MIGRATE`
|
|
||||||
|
- `preemptible` (boolean) - If true, launch a preembtible instance.
|
||||||
|
|
||||||
- `region` (string) - The region in which to launch the instance. Defaults to
|
- `region` (string) - The region in which to launch the instance. Defaults to
|
||||||
to the region hosting the specified `zone`.
|
to the region hosting the specified `zone`.
|
||||||
|
|
Loading…
Reference in New Issue