Skip to content

Commit 2e2e052

Browse files
committed
refactor: use v2 ListenerName
1 parent 1fbadf2 commit 2e2e052

3 files changed

Lines changed: 32 additions & 46 deletions

File tree

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
use snafu::{ResultExt, Snafu};
1+
use std::str::FromStr;
2+
23
use stackable_operator::{
3-
builder::{
4-
meta::ObjectMetaBuilder,
5-
pod::volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference},
6-
},
4+
builder::meta::ObjectMetaBuilder,
75
crd::listener::v1alpha1::{Listener, ListenerPort, ListenerSpec},
86
k8s_openapi::api::core::v1::PersistentVolumeClaim,
97
kvp::Labels,
10-
v2::{builder::meta::ownerreference_from_resource, types::kubernetes::ListenerClassName},
8+
v2::{
9+
builder::{
10+
meta::ownerreference_from_resource,
11+
pod::volume::{ListenerReference, listener_operator_volume_source_builder_build_pvc},
12+
},
13+
types::kubernetes::{ListenerClassName, ListenerName, PersistentVolumeClaimName},
14+
},
1115
};
1216

1317
use crate::{
@@ -18,23 +22,15 @@ use crate::{
1822
pub const LISTENER_VOLUME_NAME: &str = "listener";
1923
pub const LISTENER_VOLUME_DIR: &str = "/stackable/listener";
2024

21-
#[derive(Snafu, Debug)]
22-
pub enum Error {
23-
#[snafu(display("failed to build listener volume"))]
24-
BuildListenerPersistentVolume {
25-
source: stackable_operator::builder::pod::volume::ListenerOperatorVolumeSourceBuilderError,
26-
},
27-
}
28-
2925
pub fn build_group_listener(
3026
cluster: &ValidatedCluster,
3127
listener_class: ListenerClassName,
32-
listener_group_name: String,
33-
) -> Result<Listener, Error> {
34-
Ok(Listener {
28+
listener_group_name: ListenerName,
29+
) -> Listener {
30+
Listener {
3531
metadata: ObjectMetaBuilder::new()
3632
.name_and_namespace(cluster)
37-
.name(listener_group_name)
33+
.name(listener_group_name.to_string())
3834
.ownerreference(ownerreference_from_resource(cluster, None, Some(true)))
3935
.with_labels(cluster.recommended_labels_role_level())
4036
.build(),
@@ -48,21 +44,25 @@ pub fn build_group_listener(
4844
..Default::default()
4945
},
5046
status: None,
51-
})
47+
}
5248
}
5349

5450
pub fn build_group_listener_pvc(
55-
group_listener_name: &String,
51+
group_listener_name: &ListenerName,
5652
unversioned_recommended_labels: &Labels,
57-
) -> Result<PersistentVolumeClaim, Error> {
58-
ListenerOperatorVolumeSourceBuilder::new(
59-
&ListenerReference::ListenerName(group_listener_name.to_string()),
53+
) -> PersistentVolumeClaim {
54+
listener_operator_volume_source_builder_build_pvc(
55+
&ListenerReference::Listener(group_listener_name.clone()),
6056
unversioned_recommended_labels,
57+
&PersistentVolumeClaimName::from_str(LISTENER_VOLUME_NAME)
58+
.expect("'listener' is a valid PersistentVolumeClaim name"),
6159
)
62-
.build_pvc(LISTENER_VOLUME_NAME.to_string())
63-
.context(BuildListenerPersistentVolumeSnafu)
6460
}
6561

66-
pub fn group_listener_name(cluster: &ValidatedCluster, role_name: &String) -> String {
67-
format!("{cluster_name}-{role_name}", cluster_name = cluster.name)
62+
pub fn group_listener_name(cluster: &ValidatedCluster, role_name: &String) -> ListenerName {
63+
ListenerName::from_str(&format!(
64+
"{cluster_name}-{role_name}",
65+
cluster_name = cluster.name
66+
))
67+
.expect("the cluster name and role name form a valid listener name")
6868
}

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

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,6 @@ pub enum Error {
109109
source: crate::controller::build::graceful_shutdown::Error,
110110
},
111111

112-
#[snafu(display("failed to configure listener"))]
113-
ListenerConfiguration {
114-
source: crate::controller::build::resource::listener::Error,
115-
},
116-
117112
#[snafu(display("failed to build authorization configuration"))]
118113
AuthorizationConfiguration { source: authorization::Error },
119114
}
@@ -727,13 +722,10 @@ fn get_volume_claim_templates(
727722
// listener endpoints will use persistent volumes
728723
// so that load balancers can hard-code the target addresses and
729724
// that it is possible to connect to a consistent address
730-
pvcs.push(
731-
build_group_listener_pvc(
732-
&group_listener_name(cluster, &NifiRole::Node.to_string()),
733-
&unversioned_recommended_labels,
734-
)
735-
.context(ListenerConfigurationSnafu)?,
736-
);
725+
pvcs.push(build_group_listener_pvc(
726+
&group_listener_name(cluster, &NifiRole::Node.to_string()),
727+
&unversioned_recommended_labels,
728+
));
737729

738730
// Add file-based PVC if required
739731
if let ResolvedNifiAuthorizationConfig::Standard {

rust/operator-binary/src/nifi_controller.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,11 +168,6 @@ pub enum Error {
168168
ApplyGroupListener {
169169
source: stackable_operator::cluster_resources::Error,
170170
},
171-
172-
#[snafu(display("failed to configure listener"))]
173-
ListenerConfiguration {
174-
source: crate::controller::build::resource::listener::Error,
175-
},
176171
}
177172

178173
type Result<T, E = Error> = std::result::Result<T, E>;
@@ -383,8 +378,7 @@ pub async fn reconcile_nifi(
383378
&validated_cluster,
384379
listener_class.to_owned(),
385380
group_listener_name(&validated_cluster, &nifi_role.to_string()),
386-
)
387-
.context(ListenerConfigurationSnafu)?;
381+
);
388382

389383
cluster_resources
390384
.add(client, role_group_listener)

0 commit comments

Comments
 (0)