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 6d62b275b5..9d7a94200d 100644 --- a/roles/octavia/defaults/main.yml +++ b/roles/octavia/defaults/main.yml @@ -19,6 +19,11 @@ octavia_helm_chart_ref: /usr/local/src/octavia octavia_helm_release_namespace: openstack 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 0ac994cbfc..7074759b13 100644 --- a/roles/octavia/tasks/main.yml +++ b/roles/octavia/tasks/main.yml @@ -108,6 +108,7 @@ release_namespace: "{{ octavia_helm_release_namespace }}" create_namespace: true kubeconfig: /etc/kubernetes/admin.conf + timeout: "{{ octavia_helm_timeout }}" values: "{{ _octavia_helm_values | combine(octavia_helm_values, recursive=True) }}" - name: Add implied roles