Known Limitations
TOC
Platform and installationNode prerequisite: vm.max_map_countSecurityUpgrade from 2.8.0Cluster changes that are rejected or not possibleData lifecycleEngine versionsImage settings in the cluster specPlugins not includedResource changes roll one pod at a timePlatform and installation
- Supported platform. E1 3.0 is supported on ACP 4.1, 4.2, 4.3 and 4.4, on amd64 and arm64 nodes, on IPv4, IPv6 and dual-stack clusters.
- Install mode. The operator supports only the
AllNamespacesinstall mode. It watchesOpenSearchClusterand related resources in every namespace. You cannot restrict it to a single namespace or a list of namespaces.
Node prerequisite: vm.max_map_count
- Every node that runs OpenSearch must have
vm.max_map_countof 262144 or higher. The operator does not set it. spec.general.setVMMaxMapCounthas no effect in this distribution: the privileged init container that upstream uses to set the value is never created.
See Set vm.max_map_count on nodes.
Security
- No TLS means no security plugin. A cluster without
spec.security.tls.transportorspec.security.tls.httpruns with the OpenSearch security plugin disabled. It serves plain HTTP on the REST port, without authentication or access control. Aspec.security.configsection without TLS does not enable the security plugin. - This handling applies to the OpenSearch nodes. The operator does not change the OpenSearch Dashboards security configuration for a cluster without TLS.
- Pod Security. The default security contexts are compatible with the Kubernetes
restrictedPod Security level. Settings in your custom resource override the defaults field by field; settings thatrestricteddoes not allow (for example running as root, privileged containers, added capabilities orhostPathvolumes) make the pods incompatible with a namespace that enforcesrestricted. - No root init container for volume ownership. Data volumes are made writable through the pod
fsGroup(default1000). If you run OpenSearch as another user or group, setspec.general.podSecurityContext.fsGroupto match.
Upgrade from 2.8.0
- The
opensearch.opster.io/v1API group is read-only. After the upgrade, creating resources in the old group, or changing thespecof existing ones, is rejected by a validating webhook. Useopensearch.org/v1. - Spec changes are not synchronized. After the migration, the
opensearch.org/v1resource is the only one that is reconciled. Changes are never copied back to the old resource. - Resources that are not ready are not migrated. A cluster is migrated only when its phase is
RUNNING; other resources only when their state isCREATED. - One rolling restart per node pool is unavoidable during the upgrade.
- No automated rollback to operator 2.8.0.
See Upgrade.
Cluster changes that are rejected or not possible
The operator's validating webhook rejects the following:
- A change to
persistence.pvc.storageClassof an existing node pool. To use another storage class, create a new cluster and move the data, for example with snapshot and restore. - A change of
spec.general.versionto a lower version (downgrade), or that skips more than one major version. - A change of
spec.general.versionwhile a custom image is set for the cluster; change or remove the custom image instead. - A cluster without any node pool that has the
cluster_manager(ormaster) role andreplicasof 1 or more. - Two node pools with the same
componentname. - Node roles other than:
cluster_manager,master,data,data_content,data_hot,data_warm,data_cold,data_frozen,ingest,ml,remote_cluster_client,transform,search,warm. - TLS enabled for transport or HTTP without either
generate: trueor asecret.
Storage:
- PVCs can only be expanded, not shrunk, and only when the StorageClass allows volume expansion.
- The access mode of existing PVCs cannot be changed.
Data lifecycle
- By default, the data PVCs of a deleted cluster are kept. A new cluster with the same name in the same namespace reuses them and comes back with the old data. Delete the PVCs if you want a fresh cluster.
Engine versions
- E1 3.0 ships OpenSearch and OpenSearch Dashboards 3.8.0 (default) and 2.19.6. Use the same version for Dashboards as for the cluster.
Image settings in the cluster spec
Do not set spec.general.defaultRepo, spec.general.image, spec.dashboards.image or the node pool image settings in an OpenSearchCluster. E1 ships its own builds of the OpenSearch and OpenSearch Dashboards images, and the operator selects them from spec.general.version; the platform then pulls them from the cluster's registry. When spec.general.defaultRepo is set, the operator falls back to the plain version tag (for example opensearch:3.8.0), which is not in the platform registry, so the pods cannot pull their image. An explicit image setting is used exactly as written and bypasses the images E1 ships.
Plugins not included
The OpenSearch and OpenSearch Dashboards images in E1 3.0 do not include these plugins, which are part of the upstream distribution:
- Security Analytics (
opensearch-security-analytics, andsecurityAnalyticsDashboardsin Dashboards). - Skills (
opensearch-skills), the tool set used by ML Commons agents.
Features that depend on them are not available. All other plugins of the upstream distribution are included.
Resource changes roll one pod at a time
Changing the resources, version or configuration of a node pool makes the operator restart the pods one at a time, waiting for each pod to rejoin and the cluster to be healthy before the next one. Expect roughly 3 to 4 minutes per pod; a cluster with 9 pods takes about half an hour to finish.
OpenSearch® is a registered trademark of LF Projects, LLC.