From bd1c776bf4dffa24f739534573440c0a54e2776b Mon Sep 17 00:00:00 2001 From: Maciej Wereski Date: Fri, 4 Nov 2022 09:47:25 +0100 Subject: noheat: Add workaround for SDC case-sensivity in Istio As described in 'Add an EnvoyFilter for HTTP header case' section of https://wiki.onap.org/display/DW/ONAP+on+ServiceMesh+setup+guide Issue-ID: INT-1601 Signed-off-by: Maciej Wereski Change-Id: I7d52794a9679bdb4c27afa3ebddecd41e561a0a2 --- .../ansible/roles/deps/files/envoyfilter-case.yml | 41 ++++++++++++++++++++++ .../cluster-rke/ansible/roles/deps/tasks/istio.yml | 15 ++++++++ 2 files changed, 56 insertions(+) create mode 100644 deployment/noheat/cluster-rke/ansible/roles/deps/files/envoyfilter-case.yml diff --git a/deployment/noheat/cluster-rke/ansible/roles/deps/files/envoyfilter-case.yml b/deployment/noheat/cluster-rke/ansible/roles/deps/files/envoyfilter-case.yml new file mode 100644 index 000000000..8edcf09c5 --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/deps/files/envoyfilter-case.yml @@ -0,0 +1,41 @@ +--- +apiVersion: networking.istio.io/v1alpha3 +kind: EnvoyFilter +metadata: + name: header-casing + namespace: istio-config +spec: + configPatches: + - applyTo: CLUSTER + match: + context: ANY + patch: + operation: MERGE + value: + typed_extension_protocol_options: + envoy.extensions.upstreams.http.v3.HttpProtocolOptions: + '@type': type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions + use_downstream_protocol_config: + http_protocol_options: + header_key_format: + stateful_formatter: + name: preserve_case + typed_config: + '@type': type.googleapis.com/envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig + - applyTo: NETWORK_FILTER + match: + listener: + filterChain: + filter: + name: envoy.filters.network.http_connection_manager + patch: + operation: MERGE + value: + typed_config: + '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + http_protocol_options: + header_key_format: + stateful_formatter: + name: preserve_case + typed_config: + '@type': type.googleapis.com/envoy.extensions.http.header_formatters.preserve_case.v3.PreserveCaseFormatterConfig diff --git a/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/istio.yml b/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/istio.yml index 01e335c7c..89b848636 100644 --- a/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/istio.yml +++ b/deployment/noheat/cluster-rke/ansible/roles/deps/tasks/istio.yml @@ -4,6 +4,13 @@ name: istio repo_url: https://istio-release.storage.googleapis.com/charts +- name: Create Istio config namespace + kubernetes.core.k8s: + name: istio-config + api_version: v1 + kind: Namespace + state: present + - name: Deploy Istio base chart kubernetes.core.helm: name: istio-base @@ -19,6 +26,14 @@ chart_ref: istio/istiod release_namespace: istio-system wait: true + release_values: + meshConfig: + rootNamespace: istio-config + +- name: Apply workaround for SDC case sensivity issue + kubernetes.core.k8s: + state: present + definition: "{{ lookup('file', 'envoyfilter-case.yml') | from_yaml }}" - name: Create Istio ingress gateway namespace kubernetes.core.k8s: -- cgit 1.2.3-korg