diff --git a/releasenotes/notes/octavia-configurable-helm-timeout-2cb8dd73c3849e28.yaml b/releasenotes/notes/octavia-configurable-helm-timeout-2cb8dd73c3849e28.yaml new file mode 100644 index 0000000000..0ea40c1dd8 --- /dev/null +++ b/releasenotes/notes/octavia-configurable-helm-timeout-2cb8dd73c3849e28.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The Octavia role now exposes ``octavia_helm_timeout`` to configure how long + Helm operations may run. diff --git a/roles/octavia/README.md b/roles/octavia/README.md index 010097988a..0063790457 100644 --- a/roles/octavia/README.md +++ b/roles/octavia/README.md @@ -1 +1,11 @@ # `octavia` + +## Configuration + +`octavia_helm_timeout` sets the maximum time allowed for Octavia Helm +operations. It accepts a Go duration string such as `10m0s` and defaults to +`5m0s`. + +```yaml +octavia_helm_timeout: 10m0s +``` diff --git a/roles/octavia/defaults/main.yml b/roles/octavia/defaults/main.yml index caad285b74..7809863d11 100644 --- a/roles/octavia/defaults/main.yml +++ b/roles/octavia/defaults/main.yml @@ -20,6 +20,11 @@ octavia_helm_release_namespace: openstack octavia_helm_kubeconfig: "{{ kubeconfig_path | default('/etc/kubernetes/admin.conf') }}" octavia_helm_values: {} +# Time to wait for Helm operations to complete, using Go duration syntax. +# +# octavia_helm_timeout: 10m0s +octavia_helm_timeout: 5m0s + # Class name to use for the Ingress octavia_ingress_class_name: "{{ atmosphere_ingress_class_name }}" diff --git a/roles/octavia/tasks/main.yml b/roles/octavia/tasks/main.yml index 46fc6cddcb..9e91966d00 100644 --- a/roles/octavia/tasks/main.yml +++ b/roles/octavia/tasks/main.yml @@ -104,6 +104,7 @@ release_namespace: "{{ octavia_helm_release_namespace }}" create_namespace: true kubeconfig: "{{ octavia_helm_kubeconfig }}" + timeout: "{{ octavia_helm_timeout }}" values: "{{ _octavia_helm_values | combine(octavia_helm_values, recursive=True) }}" - name: Add implied roles