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: