diff --git a/CHANGELOG.md b/CHANGELOG.md index e0f4b8b..97e8462 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ All notable changes to this project will be documented in this file. ListenerClass for the discovery service. - Configuration parameter `spec.nodes.roleGroups..config.discoveryServiceExposed` added to expose a role-group via the discovery service. +- Add support for OpenSearch 3.4.0 ([#108]). ### Changed @@ -43,6 +44,7 @@ All notable changes to this project will be documented in this file. [#97]: https://github.com/stackabletech/opensearch-operator/pull/97 [#100]: https://github.com/stackabletech/opensearch-operator/pull/100 [#107]: https://github.com/stackabletech/opensearch-operator/pull/107 +[#108]: https://github.com/stackabletech/opensearch-operator/pull/108 ## [25.11.0] - 2025-11-07 diff --git a/docs/modules/opensearch/examples/getting_started/getting_started.sh b/docs/modules/opensearch/examples/getting_started/getting_started.sh index ae98ed8..de50009 100755 --- a/docs/modules/opensearch/examples/getting_started/getting_started.sh +++ b/docs/modules/opensearch/examples/getting_started/getting_started.sh @@ -112,7 +112,7 @@ kubectl create secret generic opensearch-credentials \ helm install opensearch-dashboards opensearch-dashboards \ --repo https://opensearch-project.github.io/helm-charts \ - --version 3.1.0 \ + --version 3.4.0 \ --values opensearch-dashboards-values.yaml \ --wait # end::opensearch-dashboards[] diff --git a/docs/modules/opensearch/examples/getting_started/getting_started.sh.j2 b/docs/modules/opensearch/examples/getting_started/getting_started.sh.j2 index 0705511..51246e8 100755 --- a/docs/modules/opensearch/examples/getting_started/getting_started.sh.j2 +++ b/docs/modules/opensearch/examples/getting_started/getting_started.sh.j2 @@ -112,7 +112,7 @@ kubectl create secret generic opensearch-credentials \ helm install opensearch-dashboards opensearch-dashboards \ --repo https://opensearch-project.github.io/helm-charts \ - --version 3.1.0 \ + --version 3.4.0 \ --values opensearch-dashboards-values.yaml \ --wait # end::opensearch-dashboards[] diff --git a/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml b/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml index c311e76..1073c1a 100644 --- a/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml +++ b/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml @@ -1,7 +1,7 @@ --- image: repository: oci.stackable.tech/sdp/opensearch-dashboards - tag: 3.1.0-stackable0.0.0-dev + tag: 3.4.0-stackable0.0.0-dev serviceAccount: create: false name: simple-opensearch-serviceaccount diff --git a/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml.j2 b/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml.j2 index aa62bb8..0b3977f 100644 --- a/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml.j2 +++ b/docs/modules/opensearch/examples/getting_started/opensearch-dashboards-values.yaml.j2 @@ -1,7 +1,7 @@ --- image: repository: oci.stackable.tech/sdp/opensearch-dashboards - tag: 3.1.0-stackable{{ versions.opensearch }} + tag: 3.4.0-stackable{{ versions.opensearch }} serviceAccount: create: false name: simple-opensearch-serviceaccount diff --git a/docs/modules/opensearch/examples/getting_started/opensearch.yaml b/docs/modules/opensearch/examples/getting_started/opensearch.yaml index d5c0d84..4790255 100644 --- a/docs/modules/opensearch/examples/getting_started/opensearch.yaml +++ b/docs/modules/opensearch/examples/getting_started/opensearch.yaml @@ -5,7 +5,7 @@ metadata: name: simple-opensearch spec: image: - productVersion: 3.1.0 + productVersion: 3.4.0 nodes: roleConfig: discoveryServiceListenerClass: external-stable diff --git a/docs/modules/opensearch/pages/usage-guide/configuration-environment-overrides.adoc b/docs/modules/opensearch/pages/usage-guide/configuration-environment-overrides.adoc index ad8a3c3..38a31af 100644 --- a/docs/modules/opensearch/pages/usage-guide/configuration-environment-overrides.adoc +++ b/docs/modules/opensearch/pages/usage-guide/configuration-environment-overrides.adoc @@ -91,7 +91,7 @@ plugins: <1> Commas in list entries cannot be escaped. <2> The brackets must be escaped in `configOverrides` as follows: `"[\"role1\", \"role2\", \"role3\"]"` <3> Indexed flat lists are considered "legacy" in the OpenSearch code. -// see https://github.com/opensearch-project/OpenSearch/blob/3.1.0/server/src/main/java/org/opensearch/common/settings/Settings.java#L1049 +// see https://github.com/opensearch-project/OpenSearch/blob/3.4.0/server/src/main/java/org/opensearch/common/settings/Settings.java#L1049 Other types can be set as strings in `configOverrides` because OpenSearch parses them: diff --git a/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc b/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc index 784502f..080405b 100644 --- a/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc +++ b/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc @@ -13,7 +13,7 @@ A basic `values.yaml` file to deploy OpenSearch Dashboards with this chart might opensearchHosts: null # <1> image: # <2> repository: oci.stackable.tech/sdp/opensearch-dashboards - tag: 3.1.0-stackable0.0.0-dev + tag: 3.4.0-stackable0.0.0-dev serviceAccount: create: false name: opensearch-serviceaccount # <3> @@ -92,7 +92,7 @@ After the values are adjusted according to your deployment, especially `opensear ---- helm install opensearch-dashboards opensearch-dashboards \ --repo https://opensearch-project.github.io/helm-charts \ - --version 3.1.0 \ + --version 3.4.0 \ --values opensearch-dashboards-values.yaml \ --wait ---- diff --git a/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc.j2 b/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc.j2 index b5d25bd..da964d3 100644 --- a/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc.j2 +++ b/docs/modules/opensearch/pages/usage-guide/opensearch-dashboards.adoc.j2 @@ -13,7 +13,7 @@ A basic `values.yaml` file to deploy OpenSearch Dashboards with this chart might opensearchHosts: null # <1> image: # <2> repository: oci.stackable.tech/sdp/opensearch-dashboards - tag: 3.1.0-stackable{{ versions.opensearch }} + tag: 3.4.0-stackable{{ versions.opensearch }} serviceAccount: create: false name: opensearch-serviceaccount # <3> @@ -92,7 +92,7 @@ After the values are adjusted according to your deployment, especially `opensear ---- helm install opensearch-dashboards opensearch-dashboards \ --repo https://opensearch-project.github.io/helm-charts \ - --version 3.1.0 \ + --version 3.4.0 \ --values opensearch-dashboards-values.yaml \ --wait ---- diff --git a/docs/modules/opensearch/pages/usage-guide/security.adoc b/docs/modules/opensearch/pages/usage-guide/security.adoc index 88b6db8..d928d13 100644 --- a/docs/modules/opensearch/pages/usage-guide/security.adoc +++ b/docs/modules/opensearch/pages/usage-guide/security.adoc @@ -17,7 +17,7 @@ metadata: name: opensearch spec: image: - productVersion: 3.1.0 + productVersion: 3.4.0 clusterConfig: tls: serverSecretClass: tls # <1> diff --git a/docs/modules/opensearch/partials/supported-versions.adoc b/docs/modules/opensearch/partials/supported-versions.adoc index 4286ea8..9912bbc 100644 --- a/docs/modules/opensearch/partials/supported-versions.adoc +++ b/docs/modules/opensearch/partials/supported-versions.adoc @@ -3,3 +3,4 @@ // Stackable Platform documentation. - 3.1.0 (LTS) +- 3.4.0 diff --git a/rust/operator-binary/src/controller.rs b/rust/operator-binary/src/controller.rs index cb3b938..133755b 100644 --- a/rust/operator-binary/src/controller.rs +++ b/rust/operator-binary/src/controller.rs @@ -506,14 +506,14 @@ mod tests { fn validated_cluster() -> ValidatedCluster { ValidatedCluster::new( ResolvedProductImage { - product_version: "3.1.0".to_owned(), - app_version_label_value: LabelValue::from_str("3.1.0-stackable0.0.0-dev") + product_version: "3.4.0".to_owned(), + app_version_label_value: LabelValue::from_str("3.4.0-stackable0.0.0-dev") .expect("should be a valid label value"), - image: "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev".to_string(), + image: "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev".to_string(), image_pull_policy: "Always".to_owned(), pull_secrets: None, }, - ProductVersion::from_str_unsafe("3.1.0"), + ProductVersion::from_str_unsafe("3.4.0"), ClusterName::from_str_unsafe("my-opensearch"), NamespaceName::from_str_unsafe("default"), uuid!("e6ac237d-a6d4-43a1-8135-f36506110912"), diff --git a/rust/operator-binary/src/controller/build.rs b/rust/operator-binary/src/controller/build.rs index 841eabd..9055050 100644 --- a/rust/operator-binary/src/controller/build.rs +++ b/rust/operator-binary/src/controller/build.rs @@ -175,14 +175,14 @@ mod tests { fn validated_cluster() -> ValidatedCluster { ValidatedCluster::new( ResolvedProductImage { - product_version: "3.1.0".to_owned(), - app_version_label_value: LabelValue::from_str("3.1.0-stackable0.0.0-dev") + product_version: "3.4.0".to_owned(), + app_version_label_value: LabelValue::from_str("3.4.0-stackable0.0.0-dev") .expect("should be a valid label value"), - image: "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev".to_string(), + image: "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev".to_string(), image_pull_policy: "Always".to_owned(), pull_secrets: None, }, - ProductVersion::from_str_unsafe("3.1.0"), + ProductVersion::from_str_unsafe("3.4.0"), ClusterName::from_str_unsafe("my-opensearch"), NamespaceName::from_str_unsafe("default"), uuid!("e6ac237d-a6d4-43a1-8135-f36506110912"), diff --git a/rust/operator-binary/src/controller/build/node_config.rs b/rust/operator-binary/src/controller/build/node_config.rs index ed4674a..de266ce 100644 --- a/rust/operator-binary/src/controller/build/node_config.rs +++ b/rust/operator-binary/src/controller/build/node_config.rs @@ -282,7 +282,7 @@ impl NodeConfig { pub fn value_as_bool(value: &Value) -> Option { value.as_bool().or( // OpenSearch parses the strings "true" and "false" as boolean, see - // https://github.com/opensearch-project/OpenSearch/blob/3.1.0/libs/common/src/main/java/org/opensearch/common/Booleans.java#L45-L84 + // https://github.com/opensearch-project/OpenSearch/blob/3.4.0/libs/common/src/main/java/org/opensearch/common/Booleans.java#L45-L84 value .as_str() .and_then(|value| FromStr::from_str(value).ok()), @@ -386,7 +386,7 @@ impl NodeConfig { /// Please read the following sections for an explanation of these restrictions. /// /// This configuration setting replaces the setting `cluster.initial_master_nodes`, see - /// . + /// . /// /// This setting is required on nodes with the cluster-manager node role on a multi-node /// cluster. Otherwise the bootstrapping of the cluster fails and all pods report: @@ -396,7 +396,7 @@ impl NodeConfig { /// error is thrown: /// > setting [cluster.initial_cluster_manager_nodes] is not allowed when [discovery.type] is set to [single-node] /// - /// see + /// see /// /// This setting does not seem to have an effect on nodes without the cluster-manager node /// role. However, as it is recommended (see the Elasticsearch documentation below) to not set @@ -534,7 +534,7 @@ mod tests { } fn node_config(test_config: TestConfig) -> NodeConfig { - let image: ProductImage = serde_json::from_str(r#"{"productVersion": "3.1.0"}"#) + let image: ProductImage = serde_json::from_str(r#"{"productVersion": "3.4.0"}"#) .expect("should be a valid ProductImage"); let role_group_name = RoleGroupName::from_str_unsafe("data"); @@ -584,10 +584,10 @@ mod tests { let cluster = ValidatedCluster::new( ResolvedProductImage { - product_version: "3.1.0".to_owned(), - app_version_label_value: LabelValue::from_str("3.1.0-stackable0.0.0-dev") + product_version: "3.4.0".to_owned(), + app_version_label_value: LabelValue::from_str("3.4.0-stackable0.0.0-dev") .expect("should be a valid label value"), - image: "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev".to_string(), + image: "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev".to_string(), image_pull_policy: "Always".to_owned(), pull_secrets: None, }, diff --git a/rust/operator-binary/src/controller/build/product_logging/config.rs b/rust/operator-binary/src/controller/build/product_logging/config.rs index c70694c..edc3e96 100644 --- a/rust/operator-binary/src/controller/build/product_logging/config.rs +++ b/rust/operator-binary/src/controller/build/product_logging/config.rs @@ -91,7 +91,7 @@ fn log4j2_console_appender_config( "PatternLayout".to_owned(), ), // Same as the default layout pattern of the console appender - // see https://github.com/opensearch-project/OpenSearch/blob/3.1.0/distribution/src/config/log4j2.properties#L17 + // see https://github.com/opensearch-project/OpenSearch/blob/3.4.0/distribution/src/config/log4j2.properties#L17 ( "appender.CONSOLE.layout.pattern".to_owned(), "[%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n".to_owned(), diff --git a/rust/operator-binary/src/controller/build/product_logging/vector-test.yaml b/rust/operator-binary/src/controller/build/product_logging/vector-test.yaml index 7ffa2cd..0468f60 100644 --- a/rust/operator-binary/src/controller/build/product_logging/vector-test.yaml +++ b/rust/operator-binary/src/controller/build/product_logging/vector-test.yaml @@ -45,14 +45,14 @@ tests: {"type": "server", "timestamp": "2025-10-01T12:47:28,363Z", "level": "INFO", "component": "o.o.c.c.JoinHelper", "cluster.name": "opensearch", "node.name": "opensearch-nodes-cluster-manager-0", "message": "failed to join {opensearch-nodes-cluster-manager-0}{sk-r0P_TTYuPqaamTFbjKg}{fIRSMbQYSe2nKQZ_sPn4kg}{10.244.0.20}{10.244.0.20:9300}{m}{shard_indexing_pressure_enabled=true} with JoinRequest{sourceNode={opensearch-nodes-cluster-manager-0}{sk-r0P_TTYuPqaamTFbjKg}{fIRSMbQYSe2nKQZ_sPn4kg}{10.244.0.20}{10.244.0.20:9300}{m}{shard_indexing_pressure_enabled=true}, minimumTerm=0, optionalJoin=Optional[Join{term=1, lastAcceptedTerm=0, lastAcceptedVersion=0, sourceNode={opensearch-nodes-cluster-manager-0}{sk-r0P_TTYuPqaamTFbjKg}{fIRSMbQYSe2nKQZ_sPn4kg}{10.244.0.20}{10.244.0.20:9300}{m}{shard_indexing_pressure_enabled=true}, targetNode={opensearch-nodes-cluster-manager-0}{sk-r0P_TTYuPqaamTFbjKg}{fIRSMbQYSe2nKQZ_sPn4kg}{10.244.0.20}{10.244.0.20:9300}{m}{shard_indexing_pressure_enabled=true}}]}", "stacktrace": ["org.opensearch.transport.RemoteTransportException: [opensearch-nodes-cluster-manager-0][10.244.0.20:9300][internal:cluster/coordination/join]", "Caused by: org.opensearch.cluster.coordination.CoordinationStateRejectedException: became follower", - "at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.lambda$$close$$3(JoinHelper.java:648) ~[opensearch-3.1.0.jar:3.1.0]", + "at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.lambda$$close$$3(JoinHelper.java:648) ~[opensearch-3.4.0.jar:3.4.0]", "at java.base/java.util.HashMap$$Values.forEach(HashMap.java:1073) ~[?:?]", - "at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.close(JoinHelper.java:648) ~[opensearch-3.1.0.jar:3.1.0]", - "at org.opensearch.cluster.coordination.Coordinator.becomeFollower(Coordinator.java:829) ~[opensearch-3.1.0.jar:3.1.0]", - "at org.opensearch.cluster.coordination.Coordinator.onFollowerCheckRequest(Coordinator.java:405) ~[opensearch-3.1.0.jar:3.1.0]", - "at org.opensearch.cluster.coordination.FollowersChecker$$2.doRun(FollowersChecker.java:250) ~[opensearch-3.1.0.jar:3.1.0]", - "at org.opensearch.common.util.concurrent.ThreadContext$$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:975) ~[opensearch-3.1.0.jar:3.1.0]", - "at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52) ~[opensearch-3.1.0.jar:3.1.0]", + "at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.close(JoinHelper.java:648) ~[opensearch-3.4.0.jar:3.4.0]", + "at org.opensearch.cluster.coordination.Coordinator.becomeFollower(Coordinator.java:829) ~[opensearch-3.4.0.jar:3.4.0]", + "at org.opensearch.cluster.coordination.Coordinator.onFollowerCheckRequest(Coordinator.java:405) ~[opensearch-3.4.0.jar:3.4.0]", + "at org.opensearch.cluster.coordination.FollowersChecker$$2.doRun(FollowersChecker.java:250) ~[opensearch-3.4.0.jar:3.4.0]", + "at org.opensearch.common.util.concurrent.ThreadContext$$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:975) ~[opensearch-3.4.0.jar:3.4.0]", + "at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52) ~[opensearch-3.4.0.jar:3.4.0]", "at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]", "at java.base/java.util.concurrent.ThreadPoolExecutor$$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]", "at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]"] } @@ -75,14 +75,14 @@ tests: \n\ org.opensearch.transport.RemoteTransportException: [opensearch-nodes-cluster-manager-0][10.244.0.20:9300][internal:cluster/coordination/join]\n\ Caused by: org.opensearch.cluster.coordination.CoordinationStateRejectedException: became follower\n\ - at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.lambda$$close$$3(JoinHelper.java:648) ~[opensearch-3.1.0.jar:3.1.0]\n\ + at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.lambda$$close$$3(JoinHelper.java:648) ~[opensearch-3.4.0.jar:3.4.0]\n\ at java.base/java.util.HashMap$$Values.forEach(HashMap.java:1073) ~[?:?]\n\ - at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.close(JoinHelper.java:648) ~[opensearch-3.1.0.jar:3.1.0]\n\ - at org.opensearch.cluster.coordination.Coordinator.becomeFollower(Coordinator.java:829) ~[opensearch-3.1.0.jar:3.1.0]\n\ - at org.opensearch.cluster.coordination.Coordinator.onFollowerCheckRequest(Coordinator.java:405) ~[opensearch-3.1.0.jar:3.1.0]\n\ - at org.opensearch.cluster.coordination.FollowersChecker$$2.doRun(FollowersChecker.java:250) ~[opensearch-3.1.0.jar:3.1.0]\n\ - at org.opensearch.common.util.concurrent.ThreadContext$$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:975) ~[opensearch-3.1.0.jar:3.1.0]\n\ - at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52) ~[opensearch-3.1.0.jar:3.1.0]\n\ + at org.opensearch.cluster.coordination.JoinHelper$$CandidateJoinAccumulator.close(JoinHelper.java:648) ~[opensearch-3.4.0.jar:3.4.0]\n\ + at org.opensearch.cluster.coordination.Coordinator.becomeFollower(Coordinator.java:829) ~[opensearch-3.4.0.jar:3.4.0]\n\ + at org.opensearch.cluster.coordination.Coordinator.onFollowerCheckRequest(Coordinator.java:405) ~[opensearch-3.4.0.jar:3.4.0]\n\ + at org.opensearch.cluster.coordination.FollowersChecker$$2.doRun(FollowersChecker.java:250) ~[opensearch-3.4.0.jar:3.4.0]\n\ + at org.opensearch.common.util.concurrent.ThreadContext$$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:975) ~[opensearch-3.4.0.jar:3.4.0]\n\ + at org.opensearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:52) ~[opensearch-3.4.0.jar:3.4.0]\n\ at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]\n\ at java.base/java.util.concurrent.ThreadPoolExecutor$$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]\n\ at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]", diff --git a/rust/operator-binary/src/controller/build/role_builder.rs b/rust/operator-binary/src/controller/build/role_builder.rs index f7332e5..2a174e8 100644 --- a/rust/operator-binary/src/controller/build/role_builder.rs +++ b/rust/operator-binary/src/controller/build/role_builder.rs @@ -370,7 +370,7 @@ mod tests { } fn role_builder<'a>(context_names: &'a ContextNames) -> RoleBuilder<'a> { - let image: ProductImage = serde_json::from_str(r#"{"productVersion": "3.1.0"}"#) + let image: ProductImage = serde_json::from_str(r#"{"productVersion": "3.4.0"}"#) .expect("should be a valid ProductImage"); let role_group_config = OpenSearchRoleGroupConfig { @@ -405,10 +405,10 @@ mod tests { let cluster = ValidatedCluster::new( ResolvedProductImage { - product_version: "3.1.0".to_owned(), - app_version_label_value: LabelValue::from_str("3.1.0-stackable0.0.0-dev") + product_version: "3.4.0".to_owned(), + app_version_label_value: LabelValue::from_str("3.4.0-stackable0.0.0-dev") .expect("should be a valid label value"), - image: "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev".to_string(), + image: "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev".to_string(), image_pull_policy: "Always".to_owned(), pull_secrets: None, }, @@ -456,7 +456,7 @@ mod tests { "app.kubernetes.io/instance": "my-opensearch-cluster", "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "my-opensearch-cluster-serviceaccount", @@ -494,7 +494,7 @@ mod tests { "app.kubernetes.io/instance": "my-opensearch-cluster", "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "my-opensearch-cluster-rolebinding", @@ -545,7 +545,7 @@ mod tests { "app.kubernetes.io/instance": "my-opensearch-cluster", "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "my-opensearch-cluster-seed-nodes", @@ -601,7 +601,7 @@ mod tests { "app.kubernetes.io/instance": "my-opensearch-cluster", "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable", }, "name": "my-opensearch-cluster", @@ -652,7 +652,7 @@ mod tests { "app.kubernetes.io/instance": "my-opensearch-cluster", "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable", }, "name": "my-opensearch-cluster", diff --git a/rust/operator-binary/src/controller/build/role_group_builder.rs b/rust/operator-binary/src/controller/build/role_group_builder.rs index c964ac8..0a1c1bf 100644 --- a/rust/operator-binary/src/controller/build/role_group_builder.rs +++ b/rust/operator-binary/src/controller/build/role_group_builder.rs @@ -921,10 +921,10 @@ mod tests { fn validated_cluster() -> ValidatedCluster { let image = ResolvedProductImage { - product_version: "3.1.0".to_owned(), - app_version_label_value: LabelValue::from_str("3.1.0-stackable0.0.0-dev") + product_version: "3.4.0".to_owned(), + app_version_label_value: LabelValue::from_str("3.4.0-stackable0.0.0-dev") .expect("should be a valid label value"), - image: "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev".to_string(), + image: "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev".to_string(), image_pull_policy: "Always".to_owned(), pull_secrets: None, }; @@ -1040,7 +1040,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "my-opensearch-cluster-nodes-default", @@ -1084,7 +1084,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable", "restarter.stackable.tech/enabled": "true" }, @@ -1123,7 +1123,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/opensearch-role.cluster_manager": "true", "stackable.tech/opensearch-role.data": "true", "stackable.tech/opensearch-role.ingest": "true", @@ -1224,7 +1224,7 @@ mod tests { "value": "$(_POD_NAME).my-opensearch-cluster-nodes-default-headless.default.svc.cluster.local" }, ], - "image": "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev", + "image": "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev", "imagePullPolicy": "Always", "name": "opensearch", "ports": [ @@ -1371,7 +1371,7 @@ mod tests { "value": "info", }, ], - "image": "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev", + "image": "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev", "imagePullPolicy": "Always", "name": "vector", "resources": { @@ -1417,7 +1417,7 @@ mod tests { "pipefail", "-c" ], - "image": "oci.stackable.tech/sdp/opensearch:3.1.0-stackable0.0.0-dev", + "image": "oci.stackable.tech/sdp/opensearch:3.4.0-stackable0.0.0-dev", "imagePullPolicy": "Always", "name": "init-keystore", "resources": {}, @@ -1564,7 +1564,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "listener" @@ -1594,7 +1594,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable", }, "name": "discovery-service-listener", @@ -1662,7 +1662,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "prometheus.io/scrape": "true", "stackable.tech/vendor": "Stackable" }, @@ -1723,7 +1723,7 @@ mod tests { "app.kubernetes.io/managed-by": "opensearch.stackable.tech_opensearchcluster", "app.kubernetes.io/name": "opensearch", "app.kubernetes.io/role-group": "default", - "app.kubernetes.io/version": "3.1.0", + "app.kubernetes.io/version": "3.4.0", "stackable.tech/vendor": "Stackable" }, "name": "my-opensearch-cluster-nodes-default", diff --git a/rust/operator-binary/src/controller/validate.rs b/rust/operator-binary/src/controller/validate.rs index bacae8b..d161bfb 100644 --- a/rust/operator-binary/src/controller/validate.rs +++ b/rust/operator-binary/src/controller/validate.rs @@ -396,20 +396,20 @@ mod tests { assert_eq!( Some(ValidatedCluster::new( ResolvedProductImage { - product_version: "3.1.0".to_owned(), + product_version: "3.4.0".to_owned(), app_version_label_value: LabelValue::from_str(&format!( - "3.1.0-stackable{pkg_version}", + "3.4.0-stackable{pkg_version}", pkg_version = built_info::PKG_VERSION )) .expect("should be a valid label value"), image: format!( - "oci.stackable.tech/sdp/opensearch:3.1.0-stackable{pkg_version}", + "oci.stackable.tech/sdp/opensearch:3.4.0-stackable{pkg_version}", pkg_version = built_info::PKG_VERSION ), image_pull_policy: "Always".to_owned(), pull_secrets: None, }, - ProductVersion::from_str_unsafe("3.1.0"), + ProductVersion::from_str_unsafe("3.4.0"), ClusterName::from_str_unsafe("my-opensearch"), NamespaceName::from_str_unsafe("default"), uuid!("e6ac237d-a6d4-43a1-8135-f36506110912"), @@ -832,7 +832,7 @@ mod tests { ..ObjectMeta::default() }, spec: v1alpha1::OpenSearchClusterSpec { - image: serde_json::from_str(r#"{"productVersion": "3.1.0"}"#) + image: serde_json::from_str(r#"{"productVersion": "3.4.0"}"#) .expect("should be a valid ProductImage structure"), cluster_config: v1alpha1::OpenSearchClusterConfig { tls: v1alpha1::OpenSearchTls::default(), diff --git a/rust/operator-binary/src/framework/types/operator.rs b/rust/operator-binary/src/framework/types/operator.rs index d2020ab..8ebb09f 100644 --- a/rust/operator-binary/src/framework/types/operator.rs +++ b/rust/operator-binary/src/framework/types/operator.rs @@ -18,7 +18,7 @@ attributed_string_type! { attributed_string_type! { ProductVersion, "The version of a product", - "3.1.0", + "3.4.0", is_valid_label_value } diff --git a/tests/test-definition.yaml b/tests/test-definition.yaml index 108cdf6..649b799 100644 --- a/tests/test-definition.yaml +++ b/tests/test-definition.yaml @@ -3,9 +3,10 @@ dimensions: - name: opensearch values: - 3.1.0 + - 3.4.0 # To use a custom image, add a comma and the full name after the product version, e.g.: - # - 3.1.0,oci.stackable.tech/sandbox/opensearch:3.1.0-stackable0.0.0-dev - # - 3.1.0,localhost:5000/sdp/opensearch:3.1.0-stackable0.0.0-dev + # - 3.4.0,oci.stackable.tech/sandbox/opensearch:3.4.0-stackable0.0.0-dev + # - 3.4.0,localhost:5000/sdp/opensearch:3.4.0-stackable0.0.0-dev - name: opensearch_home values: - /stackable/opensearch @@ -83,6 +84,6 @@ suites: patch: - dimensions: - name: opensearch - expr: 3.1.0,opensearchproject/opensearch:3.1.0 + expr: 3.4.0,opensearchproject/opensearch:3.4.0 - name: opensearch_home expr: /usr/share/opensearch