Skip to content

Commit 5901236

Browse files
committed
refactor: switch to v2 listener builder
1 parent 89dafb2 commit 5901236

2 files changed

Lines changed: 19 additions & 22 deletions

File tree

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

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
//! Build the listener `Volume`/`PersistentVolumeClaim` exposing a rolegroup.
22
3+
use std::str::FromStr;
4+
35
use snafu::{ResultExt, Snafu};
46
use stackable_operator::{
57
builder::pod::volume::{
@@ -8,6 +10,13 @@ use stackable_operator::{
810
},
911
k8s_openapi::api::core::v1::{PersistentVolumeClaim, Volume},
1012
kvp::Labels,
13+
v2::{
14+
builder::pod::volume::{
15+
ListenerReference as TypedListenerReference,
16+
listener_operator_volume_source_builder_build_pvc,
17+
},
18+
types::kubernetes::PersistentVolumeClaimName,
19+
},
1120
};
1221

1322
use crate::crd::{AnyServiceConfig, HbaseRole, LISTENER_VOLUME_NAME};
@@ -18,11 +27,6 @@ pub enum Error {
1827
BuildListenerVolume {
1928
source: ListenerOperatorVolumeSourceBuilderError,
2029
},
21-
22-
#[snafu(display("failed to build listener pvc"))]
23-
BuildListenerPvc {
24-
source: ListenerOperatorVolumeSourceBuilderError,
25-
},
2630
}
2731

2832
type Result<T, E = Error> = std::result::Result<T, E>;
@@ -62,17 +66,14 @@ pub fn build_listener_pvc(
6266
role: &HbaseRole,
6367
merged_config: &AnyServiceConfig,
6468
recommended_labels: &Labels,
65-
) -> Result<Option<Vec<PersistentVolumeClaim>>> {
66-
let pvc = match role {
69+
) -> Option<Vec<PersistentVolumeClaim>> {
70+
match role {
6771
HbaseRole::Master | HbaseRole::RegionServer => None,
68-
HbaseRole::RestServer => Some(vec![
69-
ListenerOperatorVolumeSourceBuilder::new(
70-
&ListenerReference::ListenerClass(merged_config.listener_class().to_string()),
71-
recommended_labels,
72-
)
73-
.build_pvc(LISTENER_VOLUME_NAME.to_string())
74-
.context(BuildListenerPvcSnafu)?,
75-
]),
76-
};
77-
Ok(pvc)
72+
HbaseRole::RestServer => Some(vec![listener_operator_volume_source_builder_build_pvc(
73+
&TypedListenerReference::ListenerClass(merged_config.listener_class()),
74+
recommended_labels,
75+
&PersistentVolumeClaimName::from_str(LISTENER_VOLUME_NAME)
76+
.expect("LISTENER_VOLUME_NAME is a valid PersistentVolumeClaim name"),
77+
)]),
78+
}
7879
}

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,6 @@ pub enum Error {
8686

8787
#[snafu(display("failed to build listener volume"))]
8888
ListenerVolume { source: super::listener::Error },
89-
90-
#[snafu(display("failed to build listener persistent volume claim"))]
91-
ListenerPersistentVolumeClaim { source: super::listener::Error },
9289
}
9390

9491
type Result<T, E = Error> = std::result::Result<T, E>;
@@ -299,8 +296,7 @@ pub fn build_rolegroup_statefulset(
299296
}
300297

301298
let listener_pvc =
302-
super::listener::build_listener_pvc(hbase_role, merged_config, &recommended_labels)
303-
.context(ListenerPersistentVolumeClaimSnafu)?;
299+
super::listener::build_listener_pvc(hbase_role, merged_config, &recommended_labels);
304300

305301
if let Some(listener_volume) =
306302
super::listener::build_listener_volume(hbase_role, merged_config, &recommended_labels)

0 commit comments

Comments
 (0)