Skip to content

Commit ac79d4e

Browse files
committed
consolidate listener / service names
1 parent 5e174bf commit ac79d4e

File tree

4 files changed

+29
-16
lines changed

4 files changed

+29
-16
lines changed

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

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ pub async fn reconcile(
205205
let service = server::build_internal_service(scs, &resolved_product_image.app_version_label)
206206
.context(BuildServiceSnafu)?;
207207

208-
cluster_resources
208+
let applied_internal_service = cluster_resources
209209
.add(client, service.clone())
210210
.await
211211
.context(ApplyServiceSnafu)?;
@@ -217,7 +217,7 @@ pub async fn reconcile(
217217
server::server_properties(
218218
scs,
219219
&server_config,
220-
&service,
220+
&applied_internal_service,
221221
&service_account,
222222
&resolved_product_image,
223223
)
@@ -272,6 +272,16 @@ pub async fn reconcile(
272272
name: scs.name_unchecked(),
273273
})?;
274274

275+
// ========================================
276+
// Server listener
277+
let listener = server::build_listener(scs, server_role_config, &resolved_product_image)
278+
.context(BuildListenerSnafu)?;
279+
280+
let applied_listener = cluster_resources
281+
.add(client, listener)
282+
.await
283+
.context(ApplyListenerSnafu)?;
284+
275285
// ========================================
276286
// Server stateful set
277287
let args = server::command_args(&scs.spec.args);
@@ -281,20 +291,11 @@ pub async fn reconcile(
281291
&resolved_product_image,
282292
&service_account,
283293
&server_config_map,
294+
&applied_listener.name_any(),
284295
args,
285296
)
286297
.context(BuildServerStatefulSetSnafu)?;
287298

288-
// ========================================
289-
// Server listener
290-
let listener = server::build_listener(scs, server_role_config, &resolved_product_image)
291-
.context(BuildListenerSnafu)?;
292-
293-
cluster_resources
294-
.add(client, listener)
295-
.await
296-
.context(ApplyListenerSnafu)?;
297-
298299
let mut ss_cond_builder = StatefulSetConditionBuilder::default();
299300

300301
ss_cond_builder.add(

rust/operator-binary/src/connect/server.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ pub(crate) fn build_stateful_set(
212212
resolved_product_image: &ResolvedProductImage,
213213
service_account: &ServiceAccount,
214214
config_map: &ConfigMap,
215+
listener_name: &str,
215216
args: Vec<String>,
216217
) -> Result<StatefulSet, Error> {
217218
let server_role = SparkConnectRole::Server.to_string();
@@ -337,7 +338,7 @@ pub(crate) fn build_stateful_set(
337338
// cluster-internal) as the address should still be consistent.
338339
let volume_claim_templates = Some(vec![
339340
ListenerOperatorVolumeSourceBuilder::new(
340-
&ListenerReference::ListenerName(default_role_group_ref(scs).object_name()),
341+
&ListenerReference::ListenerName(listener_name.to_string()),
341342
&recommended_labels,
342343
)
343344
.context(BuildListenerVolumeSnafu)?
@@ -399,7 +400,11 @@ pub(crate) fn build_internal_service(
399400
scs: &v1alpha1::SparkConnectServer,
400401
app_version_label: &str,
401402
) -> Result<Service, Error> {
402-
let service_name = object_name(&scs.name_any(), SparkConnectRole::Server);
403+
let service_name = format!(
404+
"{cluster}-{role}-headless",
405+
cluster = scs.name_any(),
406+
role = SparkConnectRole::Server
407+
);
403408

404409
let selector =
405410
Labels::role_selector(scs, CONNECT_APP_NAME, &SparkConnectRole::Server.to_string())
@@ -628,7 +633,7 @@ pub(crate) fn build_listener(
628633
role_config: &v1alpha1::SparkConnectServerRoleConfig,
629634
resolved_product_image: &ResolvedProductImage,
630635
) -> Result<listener::v1alpha1::Listener, Error> {
631-
let listener_name = default_role_group_ref(scs).object_name();
636+
let listener_name = format!("{cluster}-server", cluster = scs.name_any());
632637

633638
let listener_class = role_config.listener_class.clone();
634639
let role = SparkConnectRole::Server.to_string();

tests/templates/kuttl/spark-connect/10-assert.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ metadata:
1717
spec:
1818
type: NodePort
1919
---
20+
apiVersion: v1
21+
kind: Service
22+
metadata:
23+
name: spark-connect-server-headless
24+
spec:
25+
type: ClusterIP
26+
---
2027
apiVersion: kuttl.dev/v1beta1
2128
kind: TestAssert
2229
timeout: 300

tests/templates/kuttl/spark-connect/20-run-connect-client.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ spec:
6767
[
6868
"/usr/bin/python",
6969
"/app/example.py",
70-
"sc://spark-connect-server-default",
70+
"sc://spark-connect-server",
7171
]
7272
resources:
7373
limits:

0 commit comments

Comments
 (0)