1.2.5. Fixed issues
The following issues have been resolved in the current release:
-
OSSM-6331 Previously, the
smcp.general.logging.componentLevelsspec accepted invalidLogLevelvalues, and theServiceMeshControlPlaneresource was still created. Now, the terminal shows an error message if an invalid value is used, and the control plane is not created. -
OSSM-6290 Previously, the Project filter of the Istio Config list page did not work correctly. All
istio configitems were displayed from all namespaces even if you selected a specific project from the drop-down menu. Now, only theistio configitems that belong to the selected project in the filter dropdown are displayed. - OSSM-6298 Previously, when you clicked an item reference within the OpenShift Service Mesh Console (OSSMC) plugin, the console sometimes performed multiple redirects before opening the desired page. As a result, navigating back to the previous page that was open in the console caused your web browser to open the wrong page. Now, these redirects do not occur, and clicking Back in a web browser brings you to the correct page.
- OSSM-6299 Previously, in OpenShift Container Platform 4.15, when you clicked the Node graph menu option of any node menu within the traffic graph, the node graph was not displayed. Instead, the page refreshed with the same traffic graph. Now, clicking the Node graph menu option correctly displays the node graph.
The following issues have been resolved in previous releases:
1.2.5.1. Service Mesh fixed issues 링크 복사링크가 클립보드에 복사되었습니다!
-
OSSM-6177 Previously, when validation messages were enabled in the
ServiceMeshControlPlane(SMCP), theistiodcrashed continuously unlessGatewayAPIsupport was enabled. Now, when validation messages are enabled butGatewayAPIsupport is not, theistioddoes not continuously crash. OSSM-6163 Resolves the following issues:
- Previously, an unstable Prometheus image was included in the Service Mesh control plane (SMCP) v2.5, and users were not able to access the Prometheus dashboard. Now, in the Service Mesh operator 2.5.1, the Prometheus image has been updated.
-
Previously, in the Service Mesh control plane (SMCP), a Grafana data source was not able to set Basic authentication password automatically and users were not able to view metrics from Prometheus in Grafana mesh dashboards. Now, a Grafana data source password is configured under the
secureJsonDatafield. Metrics are displayed correctly in dashboards.
- OSSM-6148 Previously, the OpenShift Service Mesh Console (OSSMC) plugin did not respond when the user clicked any option in the menu of any node on the Traffic Graph page. Now, the plugin responds to the selected option in the menu by redirecting to the corresponding details page.
- OSSM-6099 Previously, the OpenShift Service Mesh Console (OSSMC) plugin failed to load correctly in an IPv6 cluster. Now, the OSSMC plugin configuration has been modified to ensure proper loading in an IPv6 cluster.
- OSSM-5960 Previously, the OpenShift Service Mesh Console (OSSMC) plugin did not display notification messages such as backend errors or Istio validations. Now, these notifications are displayed correctly at the top of the plugin page.
- OSSM-5959 Previously, the OpenShift Service Mesh Console (OSSMC) plugin did not display TLS and Istio certification information in the Overview page. Now, this information is displayed correctly.
- OSSM-5902 Previously, the OpenShift Service Mesh Console (OSSMC) plugin redirected to a "Not Found Page" error when the user clicked the Istio config health symbol on the Overview page. Now, the plugin redirects to the correct Istio config details page.
- OSSM-5541 Previously, an Istio operator pod might keep waiting for the leader lease in some restart conditions. Now, the leader election implementation has been enhanced to avoid this issue.
OSSM-1397 Previously, if you removed the
maistra.io/member-oflabel from a namespace, the Service Mesh Operator did not automatically reapply the label to the namespace. As a result, sidecar injection did not work in the namespace.The Operator would reapply the label to the namespace when you made changes to the
ServiceMeshMemberobject, which triggered the reconciliation of this member object.Now, any change to the namespace also triggers the member object reconciliation.
OSSM-3647 Previously, in the Service Mesh control plane (SMCP) v2.2 (Istio 1.12), WasmPlugins were applied only to inbound listeners. Since SMCP v2.3 (Istio 1.14), WasmPlugins have been applied to inbound and outbound listeners by default, which introduced regression for users of the 3scale WasmPlugin. Now, the environment variable
APPLY_WASM_PLUGINS_TO_INBOUND_ONLYis added, which allows safe migration from SMCP v2.2 to v2.3 and v2.4.The following setting should be added to the SMCP config:
spec: runtime: components: pilot: container: env: APPLY_WASM_PLUGINS_TO_INBOUND_ONLY: "true"To ensure safe migration, perform the following steps:
-
Set
APPLY_WASM_PLUGINS_TO_INBOUND_ONLYin SMCP v2.2. - Upgrade to 2.4.
-
Set
spec.match[].mode: SERVERin WasmPlugins. - Remove the previously-added environment variable.
-
Set
-
OSSM-4851 Previously, an error occurred in the operator deploying new pods in a namespace scoped inside the mesh when
runAsGroup,runAsUser, orfsGroupparameters werenil. Now, a yaml validation has been added to avoid thenilvalue. -
OSSM-3771 Previously, OpenShift routes could not be disabled for additional ingress gateways defined in a Service Mesh Control Plane (SMCP). Now, a
routeConfigblock can be added to eachadditionalIngressgateway so the creation of OpenShift routes can be enabled or disabled for each gateway. OSSM-4197 Previously, if you deployed a v2.2 or v2.1 of the 'ServiceMeshControlPlane' resource, the
/etc/cni/multus/net.d/directory was not created. As a result, theistio-cnipod failed to become ready, and theistio-cnipods log contained the following message:$ error Installer exits with open /host/etc/cni/multus/net.d/v2-2-istio-cni.kubeconfig.tmp.841118073: no such file or directoryNow, if you deploy a v2.2 or v2.1 of the 'ServiceMeshControlPlane' resource, the
/etc/cni/multus/net.d/directory is created, and theistio-cnipod becomes ready.-
OSSM-3993 Previously, Kiali only supported OpenShift OAuth via a proxy on the standard HTTPS port of
443. Now, Kiali supports OpenShift OAuth over a non-standard HTTPS port. To enable the port, you must set thespec.server.web_portfield to the proxy’s non-standard HTTPS port in the Kiali CR. -
OSSM-3936 Previously, the values for the
injection_label_revandinjection_label_nameattributes were hardcoded. This prevented custom configurations from taking effect in the Kiali Custom Resource Definition (CRD). Now, the attribute values are not hardcoded. You can customize the values for theinjection_label_revandinjection_label_nameattributes in thespec.istio_labelsspecification. - OSSM-3644 Previously, the federation egress-gateway received the wrong update of network gateway endpoints, causing extra endpoint entries. Now, the federation-egress gateway has been updated on the server side so it receives the correct network gateway endpoints.
-
OSSM-3595 Previously, the
istio-cniplugin sometimes failed on RHEL because SELinux did not allow the utilityiptables-restoreto open files in the/tmpdirectory. Now, SELinux passesiptables-restoreviastdininput stream instead of via a file. - OSSM-3586 Previously, Istio proxies were slow to start when Google Cloud metadata servers were not available. When you upgrade to Istio 1.14.6, Istio proxies start as expected on Google Cloud, even if metadata servers are not available.
- OSSM-3025 Istiod sometimes fails to become ready. Sometimes, when a mesh contained many member namespaces, the Istiod pod did not become ready due to a deadlock within Istiod. The deadlock is now resolved and the pod now starts as expected.
-
OSSM-2493 Default
nodeSelectorandtolerationsin SMCP not passed to Kiali. ThenodeSelectorandtolerationsyou add toSMCP.spec.runtime.defaultsare now passed to the Kiali resource. -
OSSM-2492 Default tolerations in SMCP not passed to Jaeger. The
nodeSelectorandtolerationsyou add toSMCP.spec.runtime.defaultsare now passed to the Jaeger resource. -
OSSM-2374 If you deleted one of the
ServiceMeshMemberresources, then the Service Mesh operator deleted theServiceMeshMemberRoll. While this is expected behavior when you delete the lastServiceMeshMember, the operator should not delete theServiceMeshMemberRollif it contains any members in addition to the one that was deleted. This issue is now fixed and the operator only deletes the ServiceMeshMemberRoll when the lastServiceMeshMemberresource is deleted. OSSM-2373 Error trying to get OAuth metadata when logging in. To fetch the cluster version, the
system:anonymousaccount is used. With the cluster’s default bundled ClusterRoles and ClusterRoleBinding, the anonymous account can fetch the version correctly. If thesystem:anonymousaccount loses its privileges to fetch the cluster version, OpenShift authentication becomes unusable.This is fixed by using the Kiali SA to fetch the cluster version. This also allows for improved security on the cluster.
- OSSM-2371 Despite Kiali being configured as "view-only," a user can change the proxy logging level via the Workload details' Logs tab’s kebab menu. This issue has been fixed so the options under "Set Proxy Log Level" are disabled when Kiali is configured as "view-only."
- OSSM-2344 Restarting Istiod causes Kiali to flood CRI-O with port-forward requests. This issue occurred when Kiali could not connect to Istiod and Kiali simultaneously issued a large number of requests to istiod. Kiali now limits the number of requests it sends to istiod.
- OSSM-2335 Dragging the mouse pointer over the Traces scatterchart plot sometimes caused the Kiali console to stop responding due to concurrent backend requests.
OSSM-2221 Previously, gateway injection in the
ServiceMeshControlPlanenamespace was not possible because theignore-namespacelabel was applied to the namespace by default.When creating a v2.4 control plane, the namespace no longer has the
ignore-namespacelabel applied, and gateway injection is possible.In the following example, the
oc labelcommand removes theignore-namespacelabel from a namespace in an existing deployment:$ oc label namespace istio-system maistra.io/ignore-namespace-where:
- istio_system
-
Specified the name of the
ServiceMeshControlPlanenamespace.
OSSM-2053 Using Red Hat OpenShift Service Mesh Operator 2.2 or 2.3, during SMCP reconciliation, the SMMR controller removed the member namespaces from
SMMR.status.configuredMembers. This caused the services in the member namespaces to become unavailable for a few moments.Using Red Hat OpenShift Service Mesh Operator 2.2 or 2.3, the SMMR controller no longer removes the namespaces from
SMMR.status.configuredMembers. Instead, the controller adds the namespaces toSMMR.status.pendingMembersto indicate that they are not up-to-date. During reconciliation, as each namespace synchronizes with the SMCP, the namespace is automatically removed fromSMMR.status.pendingMembers.-
OSSM-1962 Use
EndpointSlicesin federation controller. The federation controller now usesEndpointSlices, which improves scalability and performance in large deployments. The PILOT_USE_ENDPOINT_SLICE flag is enabled by default. Disabling the flag prevents use of federation deployments. -
OSSM-1668 A new field
spec.security.jwksResolverCAwas added to the Version 2.1SMCPbut was missing in the 2.2.0 and 2.2.1 releases. When upgrading from an Operator version where this field was present to an Operator version that was missing this field, the.spec.security.jwksResolverCAfield was not available in theSMCP. -
OSSM-1325 istiod pod crashes and displays the following error message:
fatal error: concurrent map iteration and map write. OSSM-1211 Configuring Federated service meshes for failover does not work as expected.
The Istiod pilot log displays the following error:
envoy connection [C289] TLS error: 337047686:SSL routines:tls_process_server_certificate:certificate verify failed-
OSSM-1099 The Kiali console displayed the message
Sorry, there was a problem. Try a refresh or navigate to a different page. - OSSM-1074 Pod annotations defined in SMCP are not injected in the pods.
- OSSM-999 Kiali retention did not work as expected. Calendar times were greyed out in the dashboard graph.
-
OSSM-797 Kiali Operator pod generates
CreateContainerConfigErrorwhile installing or updating the operator. -
OSSM-722 Namespace starting with
kubeis hidden from Kiali. -
OSSM-569 There is no CPU memory limit for the Prometheus
istio-proxycontainer. The Prometheusistio-proxysidecar now uses the resource limits defined inspec.proxy.runtime.container. -
OSSM-535 Support validationMessages in SMCP. The
ValidationMessagesfield in the Service Mesh Control Plane can now be set toTrue. This writes a log for the status of the resources, which can be helpful when troubleshooting problems. - OSSM-449 VirtualService and Service causes an error "Only unique values for domains are permitted. Duplicate entry of domain."
- OSSM-419 Namespaces with similar names will all show in Kiali namespace list, even though namespaces may not be defined in Service Mesh Member Role.
- OSSM-296 When adding health configuration to the Kiali custom resource (CR) is it not being replicated to the Kiali configmap.
- OSSM-291 In the Kiali console, on the Applications, Services, and Workloads pages, the "Remove Label from Filters" function is not working.
- OSSM-289 In the Kiali console, on the Service Details pages for the 'istio-ingressgateway' and 'jaeger-query' services there are no Traces being displayed. The traces exist in Jaeger.
- OSSM-287 In the Kiali console there are no traces being displayed on the Graph Service.
OSSM-285 When trying to access the Kiali console, receive the following error message "Error trying to get OAuth Metadata".
Workaround: Restart the Kiali pod.
MAISTRA-2735 The resources that the Service Mesh Operator deletes when reconciling the SMCP changed in Red Hat OpenShift Service Mesh version 2.1. Previously, the Operator deleted a resource with the following labels:
-
maistra.io/owner -
app.kubernetes.io/version
Now, the Operator ignores resources that does not also include the
app.kubernetes.io/managed-by=maistra-istio-operatorlabel. If you create your own resources, you should not add theapp.kubernetes.io/managed-by=maistra-istio-operatorlabel to them.-
-
MAISTRA-2687 Red Hat OpenShift Service Mesh 2.1 federation gateway does not send the full certificate chain when using external certificates. The Service Mesh federation egress gateway only sends the client certificate. Because the federation ingress gateway only knows about the root certificate, it cannot verify the client certificate unless you add the root certificate to the federation import
ConfigMap. -
MAISTRA-2635 Replace deprecated Kubernetes API. To remain compatible with OpenShift Container Platform 4.8, the
apiextensions.k8s.io/v1beta1API was deprecated as of Red Hat OpenShift Service Mesh 2.0.8. -
MAISTRA-2631 The WASM feature is not working because podman is failing due to nsenter binary not being present. Red Hat OpenShift Service Mesh generates the following error message:
Error: error configuring CNI network plugin exec: "nsenter": executable file not found in $PATH. The container image now contains nsenter and WASM works as expected. - MAISTRA-2534 When istiod attempted to fetch the JWKS for an issuer specified in a JWT rule, the issuer service responded with a 502. This prevented the proxy container from becoming ready and caused deployments to hang. The fix for the community bug has been included in the Service Mesh 2.0.7 release.
MAISTRA-2411 When the Operator creates a new ingress gateway using
spec.gateways.additionaIngressin theServiceMeshControlPlane, Operator is not creating aNetworkPolicyfor the additional ingress gateway like it does for the default istio-ingressgateway. This is causing a 503 response from the route of the new gateway.Workaround: Manually create the
NetworkPolicyin theistio-systemnamespace.MAISTRA-2401 CVE-2021-3586 servicemesh-operator: NetworkPolicy resources incorrectly specified ports for ingress resources. The NetworkPolicy resources installed for Red Hat OpenShift Service Mesh did not properly specify which ports could be accessed. This allowed access to all ports on these resources from any pod. Network policies applied to the following resources are affected:
- Galley
- Grafana
- Istiod
- Jaeger
- Kiali
- Prometheus
- Sidecar injector
-
MAISTRA-2378 When the cluster is configured to use OpenShift SDN with
ovs-multitenantand the mesh contains a large number of namespaces (200+), the OpenShift Container Platform networking plugin is unable to configure the namespaces quickly. Service Mesh times out causing namespaces to be continuously dropped from the service mesh and then reenlisted. - MAISTRA-2370 Handle tombstones in listerInformer. The updated cache codebase was not handling tombstones when translating the events from the namespace caches to the aggregated cache, leading to a panic in the go routine.
MAISTRA-2117 Add optional
ConfigMapmount to operator. The CSV now contains an optionalConfigMapvolume mount, which mounts thesmcp-templatesConfigMapif it exists. If thesmcp-templatesConfigMapdoes not exist, the mounted directory is empty. When you create theConfigMap, the directory is populated with the entries from theConfigMapand can be referenced inSMCP.spec.profiles. No restart of the Service Mesh operator is required.Customers using the 2.0 operator with a modified CSV to mount the smcp-templates ConfigMap can upgrade to Red Hat OpenShift Service Mesh 2.1. After upgrading, you can continue using an existing ConfigMap, and the profiles it contains, without editing the CSV. Customers that previously used ConfigMap with a different name will either have to rename the ConfigMap or update the CSV after upgrading.
-
MAISTRA-2010 AuthorizationPolicy does not support
request.regex.headersfield. Thevalidatingwebhookrejects any AuthorizationPolicy with the field, and even if you disable that, Pilot tries to validate it using the same code, and it does not work. MAISTRA-1979 Migration to 2.0 The conversion webhook drops the following important fields when converting
SMCP.statusfrom v2 to v1:- conditions
- components
- observedGeneration
annotations
Upgrading the operator to 2.0 might break client tools that read the SMCP status using the maistra.io/v1 version of the resource.
This also causes the READY and STATUS columns to be empty when you run
oc get servicemeshcontrolplanes.v1.maistra.io.
MAISTRA-1947 Technology Preview Updates to ServiceMeshExtensions are not applied.
Workaround: Remove and recreate the
ServiceMeshExtensions.-
MAISTRA-1983 Migration to 2.0 Upgrading to 2.0.0 with an existing invalid
ServiceMeshControlPlanecannot easily be repaired. The invalid items in theServiceMeshControlPlaneresource caused an unrecoverable error. The fix makes the errors recoverable. You can delete the invalid resource and replace it with a new one or edit the resource to fix the errors. For more information about editing your resource, see [Configuring the Red Hat OpenShift Service Mesh installation]. - MAISTRA-1502 As a result of CVEs fixes in version 1.0.10, the Istio dashboards are not available from the Home Dashboard menu in Grafana. To access the Istio dashboards, click the Dashboard menu in the navigation panel and select the Manage tab.
- MAISTRA-1399 Red Hat OpenShift Service Mesh no longer prevents you from installing unsupported CNI protocols. The supported network configurations has not changed.
- MAISTRA-1089 Migration to 2.0 Gateways created in a non-control plane namespace are automatically deleted. After removing the gateway definition from the SMCP spec, you need to manually delete these resources.
MAISTRA-858 The following Envoy log messages describing deprecated options and configurations associated with Istio 1.1.x are expected:
- [2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] Using deprecated option 'envoy.api.v2.listener.Filter.config'. This configuration will be removed from Envoy soon.
- [2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] Using deprecated option 'envoy.api.v2.Listener.use_original_dst' from file lds.proto. This configuration will be removed from Envoy soon.
MAISTRA-806 Evicted Istio Operator Pod causes mesh and CNI not to deploy.
Workaround: If the
istio-operatorpod is evicted while deploying the control pane, delete the evictedistio-operatorpod.- MAISTRA-681 When the Service Mesh control plane has many namespaces, it can lead to performance issues.
- MAISTRA-193 Unexpected console info messages are visible when health checking is enabled for citadel.
- Bugzilla 1821432 The toggle controls in OpenShift Container Platform Custom Resource details page does not update the CR correctly. UI Toggle controls in the Service Mesh Control Plane (SMCP) Overview page in the OpenShift Container Platform web console sometimes updates the wrong field in the resource. To update a SMCP, edit the YAML content directly or update the resource from the command line instead of clicking the toggle controls.