Skip to content

Commit 9cea43c

Browse files
committed
refactor: use v2 ListenerName
1 parent fa9c56d commit 9cea43c

2 files changed

Lines changed: 32 additions & 31 deletions

File tree

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

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1+
use std::str::FromStr;
2+
13
use snafu::{OptionExt, ResultExt, Snafu};
24
use stackable_operator::{
3-
builder::{
4-
meta::ObjectMetaBuilder,
5-
pod::volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference},
6-
},
5+
builder::meta::ObjectMetaBuilder,
76
crd::listener::{self, v1alpha1::Listener},
87
k8s_openapi::api::core::v1::PersistentVolumeClaim,
98
kvp::{Labels, ObjectLabels},
9+
v2::{
10+
builder::pod::volume::{
11+
ListenerReference, listener_operator_volume_source_builder_build_pvc,
12+
},
13+
types::kubernetes::{ListenerName, PersistentVolumeClaimName},
14+
},
1015
};
1116

1217
use crate::{
@@ -32,11 +37,6 @@ pub enum Error {
3237
source: stackable_operator::builder::meta::Error,
3338
},
3439

35-
#[snafu(display("failed to build listener volume"))]
36-
BuildListenerPersistentVolume {
37-
source: stackable_operator::builder::pod::volume::ListenerOperatorVolumeSourceBuilderError,
38-
},
39-
4040
#[snafu(display("{role_name} listener has no adress"))]
4141
RoleListenerHasNoAddress { role_name: String },
4242

@@ -51,13 +51,13 @@ pub fn build_group_listener(
5151
cluster: &ValidatedCluster,
5252
object_labels: ObjectLabels<ValidatedCluster>,
5353
listener_class: String,
54-
listener_group_name: String,
54+
listener_group_name: ListenerName,
5555
druid_role: &DruidRole,
5656
) -> Result<Listener, Error> {
5757
Ok(Listener {
5858
metadata: ObjectMetaBuilder::new()
5959
.name_and_namespace(cluster)
60-
.name(listener_group_name)
60+
.name(listener_group_name.to_string())
6161
.ownerreference_from_resource(cluster, None, Some(true))
6262
.context(ObjectMissingMetadataForOwnerRefSnafu)?
6363
.with_recommended_labels(&object_labels)
@@ -78,23 +78,29 @@ pub fn build_group_listener(
7878
}
7979

8080
pub fn build_group_listener_pvc(
81-
group_listener_name: &String,
81+
group_listener_name: &ListenerName,
8282
unversioned_recommended_labels: &Labels,
83-
) -> Result<PersistentVolumeClaim, Error> {
84-
ListenerOperatorVolumeSourceBuilder::new(
85-
&ListenerReference::ListenerName(group_listener_name.to_string()),
83+
) -> PersistentVolumeClaim {
84+
listener_operator_volume_source_builder_build_pvc(
85+
&ListenerReference::Listener(group_listener_name.clone()),
8686
unversioned_recommended_labels,
87+
&PersistentVolumeClaimName::from_str(LISTENER_VOLUME_NAME)
88+
.expect("a valid persistent volume claim name"),
8789
)
88-
.build_pvc(LISTENER_VOLUME_NAME.to_string())
89-
.context(BuildListenerPersistentVolumeSnafu)
9090
}
9191

92-
pub fn group_listener_name(cluster: &ValidatedCluster, druid_role: &DruidRole) -> Option<String> {
92+
pub fn group_listener_name(
93+
cluster: &ValidatedCluster,
94+
druid_role: &DruidRole,
95+
) -> Option<ListenerName> {
9396
match druid_role {
94-
DruidRole::Coordinator | DruidRole::Broker | DruidRole::Router => Some(format!(
95-
"{cluster_name}-{druid_role}",
96-
cluster_name = cluster.name,
97-
)),
97+
DruidRole::Coordinator | DruidRole::Broker | DruidRole::Router => Some(
98+
ListenerName::from_str(&format!(
99+
"{cluster_name}-{druid_role}",
100+
cluster_name = cluster.name,
101+
))
102+
.expect("a valid listener name"),
103+
),
98104
DruidRole::Historical | DruidRole::MiddleManager => None,
99105
}
100106
}

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

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,6 @@ pub enum Error {
100100
source: stackable_operator::builder::pod::container::Error,
101101
},
102102

103-
#[snafu(display("failed to configure listener"))]
104-
ListenerConfiguration {
105-
source: crate::controller::build::resource::listener::Error,
106-
},
107-
108103
#[snafu(display("failed to build labels"))]
109104
LabelBuild {
110105
source: stackable_operator::kvp::LabelError,
@@ -322,10 +317,10 @@ pub fn build_rolegroup_statefulset(
322317
))
323318
.context(LabelBuildSnafu)?;
324319

325-
pvcs = Some(vec![
326-
build_group_listener_pvc(&group_listener_name, &unversioned_recommended_labels)
327-
.context(ListenerConfigurationSnafu)?,
328-
]);
320+
pvcs = Some(vec![build_group_listener_pvc(
321+
&group_listener_name,
322+
&unversioned_recommended_labels,
323+
)]);
329324
}
330325

331326
let metadata = ObjectMetaBuilder::new()

0 commit comments

Comments
 (0)