-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
OSSM 2.1.0
-
None
-
False
-
False
-
Compatibility/Configuration, User Experience
-
ISSUE:
According the documentation[1], spec.proxy.concurrency parameter in SMCP can be configured.
However, the global value does not propagate to istio-proxy actually.
envoy proxy default concurrnecy is 2 [2]
[1]Table 2. ServiceMeshControlPlane resource spec
- https://docs.openshift.com/container-platform/4.9/service_mesh/v2x/ossm-reference-smcp.html#ossm-cr-example_ossm-reference
[2]ProxyConfig - concurrency
- https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig
How to reproduce:
- Test Scenario 1: The value of '--concurrency' in injected istio-proxy is not applied as defined in SMCP.
1. set spec.proxy.concurrency value'3' explicitly in SMCP
2. deploy pod with istio-proxy
annotations:
sidecar.istio.io/inject: "true"
3. the istio-proxy's concurrency value is still 2 - Test Scenario 2: set proxy.istio.io/config annotation in deployment
4.set proxy.istio.io/config annotation in deployment
annotations:
sidecar.istio.io/inject: "true"
proxy.istio.io/config: 'concurrency: 3'
5. concurrency value is actually changed to 3
#Test Scenario 1: change proxy concurrency value through the smcp 1. set spec.proxy.concurrency value '3' explicitly in SMCP // smcp spec: addons: grafana: enabled: true jaeger: install: {} kiali: enabled: true prometheus: enabled: true policy: type: Istiod profiles: - default proxy: concurrency: 3 //set concurrecy value runtime: container: resources: //set istio-proxy container's resources limits: cpu: 3000m memory: 1024Mi 2. deploy service mesh member project (bookinfo sample application) // container resource values are applied but concurrency value is not applied. // application pod $oc describe pod/productpage-v1-5ddcb4b84f-t2b66 ... istio-proxy: Container ID: cri-o://6fc4c27918104cbcbc9d8123c7ea1f20d437e006efa8c2820fa44346b41aa889 Image: registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:13f566dca713189e5bdb4c67c1754fafc1ebc3f8b9696ccb2093f927d186737f Image ID: registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:13f566dca713189e5bdb4c67c1754fafc1ebc3f8b9696ccb2093f927d186737f Port: 15090/TCP Host Port: 0/TCP Args: proxy sidecar --domain $(POD_NAMESPACE).svc.cluster.local --serviceCluster details.$(POD_NAMESPACE) --proxyLogLevel=warning --proxyComponentLogLevel=misc:error --log_output_level=default:warn --concurrency //The concurrency value is still 2(default) and not propagated by SMCP 2 State: Running Started: Tue, 22 Feb 2022 14:41:35 +0900 Ready: True Restart Count: 0 Limits: cpu: 3 //resource values are applied by SMCP memory: 1Gi Requests: cpu: 10m memory: 128Mi Environment: JWT_POLICY: first-party-jwt PILOT_CERT_PROVIDER: istiod CA_ADDR: istiod-basic.istio-system.svc:15012 POD_NAME: productpage-v1-5ddcb4b84f-t2b66 (v1:metadata.name) POD_NAMESPACE: bookinfo (v1:metadata.namespace) INSTANCE_IP: (v1:status.podIP) SERVICE_ACCOUNT: (v1:spec.serviceAccountName) HOST_IP: (v1:status.hostIP) CANONICAL_SERVICE: (v1:metadata.labels['service.istio.io/canonical-name']) CANONICAL_REVISION: (v1:metadata.labels['service.istio.io/canonical-revision']) PROXY_CONFIG: {"discoveryAddress":"istiod-basic.istio-system.svc:15012","tracing":{"zipkin":{"address":"jaeger-collector.istio-system.svc:9411"}},"proxyMetadata":{"ISTIO_META_DNS_AUTO_ALLOCATE":"true","ISTIO_META_DNS_CAPTURE":"true","PROXY_XDS_VIA_AGENT":"true"}} #test senario2: set annotaion in application deployment $oc edit deployment/application spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: productpage version: v1 strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: sidecar.istio.io/inject: "true" proxy.istio.io/config: 'concurrency: 3' // set annotation creationTimestamp: null labels: app: productpage version: v1 4. check the pod : concurrency value has been changed istio-proxy: Container ID: cri-o://7986ff697cb2243c62bfa0d26c29700b741f3c958f7824a8bb6f5cc441eb6fff Image: registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:13f566dca713189e5bdb4c67c1754fafc1ebc3f8b9696ccb2093f927d186737f Image ID: registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:13f566dca713189e5bdb4c67c1754fafc1ebc3f8b9696ccb2093f927d186737f Port: 15090/TCP Host Port: 0/TCP Args: proxy sidecar --domain $(POD_NAMESPACE).svc.cluster.local --serviceCluster productpage.$(POD_NAMESPACE) --proxyLogLevel=warning --proxyComponentLogLevel=misc:error --log_output_level=default:warn --concurrency // concurrency is 3 3 State: Running Started: Tue, 22 Feb 2022 14:49:37 +0900 Ready: True Restart Count: 0 Limits: cpu: 3 memory: 1Gi Requests: cpu: 10m memory: 128Mi Readiness: http-get http://:15021/healthz/ready delay=1s timeout=3s period=2s #success=1 #failure=30 Environment: JWT_POLICY: first-party-jwt PILOT_CERT_PROVIDER: istiod CA_ADDR: istiod-basic.istio-system.svc:15012 POD_NAME: productpage-v1-684fbf4694-lrml8 (v1:metadata.name) POD_NAMESPACE: bookinfo (v1:metadata.namespace) INSTANCE_IP: (v1:status.podIP) SERVICE_ACCOUNT: (v1:spec.serviceAccountName) HOST_IP: (v1:status.hostIP) CANONICAL_SERVICE: (v1:metadata.labels['service.istio.io/canonical-name']) CANONICAL_REVISION: (v1:metadata.labels['service.istio.io/canonical-revision']) PROXY_CONFIG: {"discoveryAddress":"istiod-basic.istio-system.svc:15012","concurrency":3,"tracing":{"zipkin":{"address":"jaeger-collector.istio-system.svc:9411"}},"proxyMetadata":{"ISTIO_META_DNS_AUTO_ALLOCATE":"true","ISTIO_META_DNS_CAPTURE":"true","PROXY_XDS_VIA_AGENT":"true"}}