Skip to content

Commit 66c9851

Browse files
Rename opensearch-discovery service to opensearch-seed-nodes and remove the HTTP port
1 parent 1f15a3a commit 66c9851

6 files changed

Lines changed: 32 additions & 57 deletions

File tree

rust/operator-binary/src/controller/build.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub fn build(names: &ContextNames, cluster: ValidatedCluster) -> KubernetesResou
3333
listeners.push(role_group_builder.build_listener());
3434
}
3535

36-
let cluster_manager_service = role_builder.build_cluster_manager_service();
36+
let cluster_manager_service = role_builder.build_seed_nodes_service();
3737
services.push(cluster_manager_service);
3838

3939
let service_accounts = vec![role_builder.build_service_account()];
@@ -105,10 +105,10 @@ mod tests {
105105
);
106106
assert_eq!(
107107
vec![
108-
"my-opensearch-discovery",
109108
"my-opensearch-nodes-cluster-manager-headless",
110109
"my-opensearch-nodes-coordinating-headless",
111-
"my-opensearch-nodes-data-headless"
110+
"my-opensearch-nodes-data-headless",
111+
"my-opensearch-seed-nodes"
112112
],
113113
extract_resource_names(&resources.services)
114114
);

rust/operator-binary/src/controller/build/node_config.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ pub struct NodeConfig {
104104
cluster: ValidatedCluster,
105105
role_group_name: RoleGroupName,
106106
role_group_config: OpenSearchRoleGroupConfig,
107-
pub discovery_service_name: ServiceName,
107+
pub seed_nodes_service_name: ServiceName,
108108
}
109109

110110
// Most functions are public because their configuration values could also be used in environment
@@ -114,13 +114,13 @@ impl NodeConfig {
114114
cluster: ValidatedCluster,
115115
role_group_name: RoleGroupName,
116116
role_group_config: OpenSearchRoleGroupConfig,
117-
discovery_service_name: ServiceName,
117+
seed_nodes_service_name: ServiceName,
118118
) -> Self {
119119
Self {
120120
cluster,
121121
role_group_name,
122122
role_group_config,
123-
discovery_service_name,
123+
seed_nodes_service_name,
124124
}
125125
}
126126

@@ -267,7 +267,7 @@ impl NodeConfig {
267267
)
268268
.with_value(
269269
&EnvVarName::from_str_unsafe(CONFIG_OPTION_DISCOVERY_SEED_HOSTS),
270-
&self.discovery_service_name,
270+
&self.seed_nodes_service_name,
271271
)
272272
.with_value(
273273
&EnvVarName::from_str_unsafe(CONFIG_OPTION_NODE_ROLES),

rust/operator-binary/src/controller/build/role_builder.rs

Lines changed: 13 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ use stackable_operator::{
1717
},
1818
};
1919

20-
use super::role_group_builder::{
21-
HTTP_PORT, HTTP_PORT_NAME, RoleGroupBuilder, TRANSPORT_PORT, TRANSPORT_PORT_NAME,
22-
};
20+
use super::role_group_builder::{RoleGroupBuilder, TRANSPORT_PORT, TRANSPORT_PORT_NAME};
2321
use crate::{
2422
controller::{ContextNames, ValidatedCluster},
2523
framework::{
@@ -64,7 +62,7 @@ impl<'a> RoleBuilder<'a> {
6462
role_group_name.clone(),
6563
role_group_config.clone(),
6664
self.context_names,
67-
self.resource_names.discovery_service_name(),
65+
self.resource_names.seed_nodes_service_name(),
6866
)
6967
})
7068
.collect()
@@ -101,28 +99,14 @@ impl<'a> RoleBuilder<'a> {
10199
}
102100

103101
/// Builds a Service that references all nodes with the cluster_manager node role
104-
///
105-
/// Initially, this service was meant to be used by
106-
/// [`super::node_config::NodeConfig::initial_cluster_manager_nodes`], but the function uses now another approach.
107-
/// Afterwards, it was meant to be used as an entry point to OpenSearch, but it could also make
108-
/// sense to use coordinating only nodes as entry points and not cluster manager nodes.
109-
/// Therefore, this service will bei either adapted or removed. There is already an according
110-
/// task entry in <https://github.com/stackabletech/opensearch-operator/issues/1>.
111-
pub fn build_cluster_manager_service(&self) -> Service {
112-
let ports = vec![
113-
ServicePort {
114-
name: Some(HTTP_PORT_NAME.to_owned()),
115-
port: HTTP_PORT.into(),
116-
..ServicePort::default()
117-
},
118-
ServicePort {
119-
name: Some(TRANSPORT_PORT_NAME.to_owned()),
120-
port: TRANSPORT_PORT.into(),
121-
..ServicePort::default()
122-
},
123-
];
102+
pub fn build_seed_nodes_service(&self) -> Service {
103+
let ports = vec![ServicePort {
104+
name: Some(TRANSPORT_PORT_NAME.to_owned()),
105+
port: TRANSPORT_PORT.into(),
106+
..ServicePort::default()
107+
}];
124108

125-
let metadata = self.common_metadata(self.resource_names.discovery_service_name());
109+
let metadata = self.common_metadata(self.resource_names.seed_nodes_service_name());
126110

127111
let service_selector =
128112
RoleGroupBuilder::cluster_manager_labels(&self.cluster, self.context_names);
@@ -410,13 +394,12 @@ mod tests {
410394
}
411395

412396
#[test]
413-
fn test_build_cluster_manager_service() {
397+
fn test_build_seed_nodes_service() {
414398
let context_names = context_names();
415399
let role_builder = role_builder(&context_names);
416400

417-
let cluster_manager_service =
418-
serde_json::to_value(role_builder.build_cluster_manager_service())
419-
.expect("should be serializable");
401+
let cluster_manager_service = serde_json::to_value(role_builder.build_seed_nodes_service())
402+
.expect("should be serializable");
420403

421404
assert_eq!(
422405
json!({
@@ -431,7 +414,7 @@ mod tests {
431414
"app.kubernetes.io/version": "3.1.0",
432415
"stackable.tech/vendor": "Stackable"
433416
},
434-
"name": "my-opensearch-cluster-discovery",
417+
"name": "my-opensearch-cluster-seed-nodes",
435418
"namespace": "default",
436419
"ownerReferences": [
437420
{
@@ -446,10 +429,6 @@ mod tests {
446429
"spec": {
447430
"clusterIP": "None",
448431
"ports": [
449-
{
450-
"name": "http",
451-
"port": 9200
452-
},
453432
{
454433
"name": "transport",
455434
"port": 9300

rust/operator-binary/src/controller/build/role_group_builder.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ impl<'a> RoleGroupBuilder<'a> {
113113
role_group_name: RoleGroupName,
114114
role_group_config: OpenSearchRoleGroupConfig,
115115
context_names: &'a ContextNames,
116-
discovery_service_name: ServiceName,
116+
seed_nodes_service_name: ServiceName,
117117
) -> RoleGroupBuilder<'a> {
118118
RoleGroupBuilder {
119119
service_account_name,
@@ -122,7 +122,7 @@ impl<'a> RoleGroupBuilder<'a> {
122122
cluster.clone(),
123123
role_group_name.clone(),
124124
role_group_config.clone(),
125-
discovery_service_name,
125+
seed_nodes_service_name,
126126
),
127127
role_group_name: role_group_name.clone(),
128128
role_group_config,
@@ -329,7 +329,7 @@ impl<'a> RoleGroupBuilder<'a> {
329329
.node_roles
330330
.contains(&v1alpha1::NodeRole::ClusterManager)
331331
{
332-
service_scopes.push(self.node_config.discovery_service_name.clone());
332+
service_scopes.push(self.node_config.seed_nodes_service_name.clone());
333333
}
334334
volumes.push(self.build_tls_volume(
335335
&TLS_SERVER_VOLUME_NAME,

rust/operator-binary/src/framework/role_utils.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -221,13 +221,13 @@ impl ResourceNames {
221221
.expect("should be a valid cluster role name")
222222
}
223223

224-
pub fn discovery_service_name(&self) -> ServiceName {
225-
const SUFFIX: &str = "-discovery";
224+
pub fn seed_nodes_service_name(&self) -> ServiceName {
225+
const SUFFIX: &str = "-seed-nodes";
226226

227227
// compile-time checks
228228
const _: () = assert!(
229229
ClusterName::MAX_LENGTH + SUFFIX.len() <= ServiceName::MAX_LENGTH,
230-
"The string `<cluster_name>-discovery` must not exceed the limit of Service names."
230+
"The string `<cluster_name>-seed-nodes` must not exceed the limit of Service names."
231231
);
232232
let _ = ClusterName::IS_RFC_1035_LABEL_NAME;
233233
let _ = ClusterName::IS_VALID_LABEL_VALUE;
@@ -414,8 +414,8 @@ mod tests {
414414
resource_names.cluster_role_name()
415415
);
416416
assert_eq!(
417-
ServiceName::from_str_unsafe("my-cluster-discovery"),
418-
resource_names.discovery_service_name()
417+
ServiceName::from_str_unsafe("my-cluster-seed-nodes"),
418+
resource_names.seed_nodes_service_name()
419419
);
420420
}
421421
}

tests/templates/kuttl/smoke/10-assert.yaml.j2

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ spec:
115115
- name: cluster.initial_cluster_manager_nodes
116116
value: opensearch-nodes-cluster-manager-0,opensearch-nodes-cluster-manager-1,opensearch-nodes-cluster-manager-2
117117
- name: discovery.seed_hosts
118-
value: opensearch-discovery
118+
value: opensearch-seed-nodes
119119
- name: node.name
120120
valueFrom:
121121
fieldRef:
@@ -281,7 +281,7 @@ spec:
281281
secrets.stackable.tech/backend.autotls.cert.lifetime: 1d
282282
secrets.stackable.tech/class: tls
283283
secrets.stackable.tech/format: tls-pem
284-
secrets.stackable.tech/scope: service=opensearch-discovery,listener-volume=listener,pod
284+
secrets.stackable.tech/scope: service=opensearch-seed-nodes,listener-volume=listener,pod
285285
spec:
286286
accessModes:
287287
- ReadWriteOnce
@@ -447,7 +447,7 @@ spec:
447447
- name: OPENSEARCH_HOME
448448
value: {{ test_scenario['values']['opensearch_home'] }}
449449
- name: discovery.seed_hosts
450-
value: opensearch-discovery
450+
value: opensearch-seed-nodes
451451
- name: node.name
452452
valueFrom:
453453
fieldRef:
@@ -820,18 +820,14 @@ metadata:
820820
app.kubernetes.io/name: opensearch
821821
app.kubernetes.io/version: {{ test_scenario['values']['opensearch'].split(',')[0] }}
822822
stackable.tech/vendor: Stackable
823-
name: opensearch-discovery
823+
name: opensearch-seed-nodes
824824
ownerReferences:
825825
- apiVersion: opensearch.stackable.tech/v1alpha1
826826
controller: true
827827
kind: OpenSearchCluster
828828
name: opensearch
829829
spec:
830830
ports:
831-
- name: http
832-
port: 9200
833-
protocol: TCP
834-
targetPort: 9200
835831
- name: transport
836832
port: 9300
837833
protocol: TCP

0 commit comments

Comments
 (0)