0
0
mirror of https://github.com/bpg/terraform-provider-proxmox.git synced 2025-06-30 18:42:58 +00:00

feat(lxc): add configurable timeout for container creation (#1146)

Signed-off-by: Pavel Boldyrev <627562+bpg@users.noreply.github.com>
This commit is contained in:
Pavel Boldyrev 2024-03-20 23:02:26 -04:00 committed by GitHub
parent b366b2c9d5
commit 84440d8329
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 1 deletions

View File

@ -214,6 +214,7 @@ output "ubuntu_container_public_key" {
difference on the resource. You may use the `ignore_changes` lifecycle
meta-argument to ignore changes to this attribute.
- `template` - (Optional) Whether to create a template (defaults to `false`).
- `timeout_create` - (Optional) Timeout for creating a container in seconds (defaults to 1800).
- `unprivileged` - (Optional) Whether the container runs as unprivileged on
the host (defaults to `false`).
- `vm_id` - (Optional) The container identifier

View File

@ -75,6 +75,7 @@ const (
dvStartupDownDelay = -1
dvStartOnBoot = true
dvTemplate = false
dvTimeoutCreate = 1800
dvUnprivileged = false
dvVMID = -1
@ -154,6 +155,7 @@ const (
mkStartOnBoot = "start_on_boot"
mkTags = "tags"
mkTemplate = "template"
mkTimeoutCreate = "timeout_create"
mkUnprivileged = "unprivileged"
mkVMID = "vm_id"
)
@ -834,6 +836,12 @@ func Container() *schema.Resource {
ForceNew: true,
Default: dvTemplate,
},
mkTimeoutCreate: {
Type: schema.TypeInt,
Description: "Create container timeout",
Optional: true,
Default: dvTimeoutCreate,
},
mkUnprivileged: {
Type: schema.TypeBool,
Description: "Whether the container runs as unprivileged on the host",
@ -1721,8 +1729,10 @@ func containerCreateStart(ctx context.Context, d *schema.ResourceData, m interfa
containerAPI := api.Node(nodeName).Container(vmID)
createTimeout := d.Get(mkTimeoutCreate).(int)
// Start the container and wait for it to reach a running state before continuing.
err = containerAPI.StartContainer(ctx, 60)
err = containerAPI.StartContainer(ctx, createTimeout)
if err != nil {
return diag.FromErr(err)
}