From a990817f4191956e6d599a920df8a80ea80d4381 Mon Sep 17 00:00:00 2001 From: Tadas Sutkaitis Date: Wed, 12 Aug 2026 03:15:10 +0300 Subject: [PATCH] feat(nova): make Helm timeout configurable (#4249) Signed-off-by: Tadas Sutkaitis (cherry picked from commit 43dba163bb100bbf7a44833ec477a7937a344524) --- .../nova-configurable-helm-timeout-ebfe1ae35205caa1.yaml | 5 +++++ roles/nova/README.md | 9 +++++++++ roles/nova/defaults/main.yml | 5 +++++ roles/nova/tasks/main.yml | 1 + 4 files changed, 20 insertions(+) create mode 100644 releasenotes/notes/nova-configurable-helm-timeout-ebfe1ae35205caa1.yaml diff --git a/releasenotes/notes/nova-configurable-helm-timeout-ebfe1ae35205caa1.yaml b/releasenotes/notes/nova-configurable-helm-timeout-ebfe1ae35205caa1.yaml new file mode 100644 index 0000000000..aa8699a470 --- /dev/null +++ b/releasenotes/notes/nova-configurable-helm-timeout-ebfe1ae35205caa1.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The Nova role now exposes ``nova_helm_timeout`` to configure how long Helm + operations may run. diff --git a/roles/nova/README.md b/roles/nova/README.md index 0a4b9dbc40..5e9eee1b2d 100644 --- a/roles/nova/README.md +++ b/roles/nova/README.md @@ -1 +1,10 @@ # `nova` + +## Configuration + +`nova_helm_timeout` sets the maximum time allowed for Nova Helm operations. It +accepts a Go duration string such as `10m0s` and defaults to `5m0s`. + +```yaml +nova_helm_timeout: 10m0s +``` diff --git a/roles/nova/defaults/main.yml b/roles/nova/defaults/main.yml index a951a5f416..1175f338eb 100644 --- a/roles/nova/defaults/main.yml +++ b/roles/nova/defaults/main.yml @@ -20,6 +20,11 @@ nova_helm_release_namespace: openstack nova_helm_kubeconfig: "{{ kubeconfig_path | default('/etc/kubernetes/admin.conf') }}" nova_helm_values: {} +# Time to wait for Helm operations to complete, using Go duration syntax. +# +# nova_helm_timeout: 10m0s +nova_helm_timeout: 5m0s + # Private SSH key used for cold & live migration nova_ssh_key: "{{ undef(hint='You must specifiy an SSH key for Nova.') }}" diff --git a/roles/nova/tasks/main.yml b/roles/nova/tasks/main.yml index a86aa0c71f..17431c106e 100644 --- a/roles/nova/tasks/main.yml +++ b/roles/nova/tasks/main.yml @@ -40,6 +40,7 @@ create_namespace: true kubeconfig: "{{ nova_helm_kubeconfig }}" values: "{{ _nova_helm_values | combine(nova_helm_values, recursive=True) }}" + timeout: "{{ nova_helm_timeout }}" - name: Create Ingress ansible.builtin.include_role: