Skip to content

Commit ca3e9b1

Browse files
committed
use versioned labels, move listener_pvc to framework module
1 parent b5e2040 commit ca3e9b1

4 files changed

Lines changed: 34 additions & 24 deletions

File tree

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

Lines changed: 12 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
1-
use std::str::FromStr;
2-
31
use stackable_operator::{
4-
builder::{
5-
meta::ObjectMetaBuilder,
6-
pod::{
7-
container::ContainerBuilder,
8-
volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference},
9-
},
10-
},
2+
builder::{meta::ObjectMetaBuilder, pod::container::ContainerBuilder},
113
crd::listener::{self},
124
k8s_openapi::{
135
DeepMerge,
@@ -30,9 +22,10 @@ use crate::{
3022
controller::{ContextNames, OpenSearchRoleGroupConfig, ValidatedCluster},
3123
crd::v1alpha1,
3224
framework::{
33-
ProductVersion, RoleGroupName,
25+
RoleGroupName,
3426
builder::meta::ownerreference_from_resource,
3527
kvp::label::{recommended_labels, role_group_selector, role_selector},
28+
listener::listener_pvc,
3629
role_group_utils::ResourceNames,
3730
},
3831
};
@@ -126,14 +119,11 @@ impl<'a> RoleGroupBuilder<'a> {
126119
// addresses. This will be the case even when no class is set (and
127120
// the value defaults to cluster-internal) as the address should
128121
// still be consistent.
129-
let listener_volume_claim_template = ListenerOperatorVolumeSourceBuilder::new(
130-
&ListenerReference::ListenerName(listener_group_name),
131-
&self
132-
.recommended_labels(ProductVersion::from_str("none").expect("version is supplied")),
133-
)
134-
.expect("should return Ok independent of the given parameters")
135-
.build_pvc(LISTENER_VOLUME_NAME.to_string())
136-
.expect("should be a valid annotation");
122+
let listener_volume_claim_template = listener_pvc(
123+
listener_group_name,
124+
&self.recommended_labels(),
125+
LISTENER_VOLUME_NAME.to_string(),
126+
);
137127

138128
let pvcs: Option<Vec<PersistentVolumeClaim>> = Some(vec![
139129
data_volume_claim_template,
@@ -168,7 +158,7 @@ impl<'a> RoleGroupBuilder<'a> {
168158
}
169159

170160
let metadata = ObjectMetaBuilder::new()
171-
.with_labels(self.recommended_labels(self.cluster.product_version.clone()))
161+
.with_labels(self.recommended_labels())
172162
.with_labels(node_role_labels)
173163
.build();
174164

@@ -415,16 +405,16 @@ impl<'a> RoleGroupBuilder<'a> {
415405
None,
416406
Some(true),
417407
))
418-
.with_labels(self.recommended_labels(self.cluster.product_version.clone()))
408+
.with_labels(self.recommended_labels())
419409
.with_labels(extra_labels)
420410
.build()
421411
}
422412

423-
fn recommended_labels(&self, product_version: ProductVersion) -> Labels {
413+
fn recommended_labels(&self) -> Labels {
424414
recommended_labels(
425415
&self.cluster,
426416
&self.context_names.product_name,
427-
&product_version,
417+
&self.cluster.product_version,
428418
&self.context_names.operator_name,
429419
&self.context_names.controller_name,
430420
&ValidatedCluster::role_name(),

rust/operator-binary/src/framework.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use strum::{EnumDiscriminants, IntoStaticStr};
1212
pub mod builder;
1313
pub mod cluster_resources;
1414
pub mod kvp;
15+
pub mod listener;
1516
pub mod role_group_utils;
1617
pub mod role_utils;
1718

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
use stackable_operator::{
2+
builder::pod::volume::{ListenerOperatorVolumeSourceBuilder, ListenerReference},
3+
k8s_openapi::api::core::v1::PersistentVolumeClaim,
4+
kvp::Labels,
5+
};
6+
7+
pub fn listener_pvc(
8+
listener_group_name: String,
9+
labels: &Labels,
10+
pvc_name: String,
11+
) -> PersistentVolumeClaim {
12+
ListenerOperatorVolumeSourceBuilder::new(
13+
&ListenerReference::ListenerName(listener_group_name),
14+
labels,
15+
)
16+
.expect("should return Ok independent of the given parameters")
17+
.build_pvc(pvc_name.to_string())
18+
.expect("should be a valid annotation")
19+
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ spec:
175175
app.kubernetes.io/managed-by: opensearch.stackable.tech_opensearchcluster
176176
app.kubernetes.io/name: opensearch
177177
app.kubernetes.io/role-group: cluster-manager
178-
app.kubernetes.io/version: none
178+
app.kubernetes.io/version: 3.1.0
179179
stackable.tech/vendor: Stackable
180180
name: listener
181181
spec:
@@ -361,7 +361,7 @@ spec:
361361
app.kubernetes.io/managed-by: opensearch.stackable.tech_opensearchcluster
362362
app.kubernetes.io/name: opensearch
363363
app.kubernetes.io/role-group: data
364-
app.kubernetes.io/version: none
364+
app.kubernetes.io/version: 3.1.0
365365
stackable.tech/vendor: Stackable
366366
name: listener
367367
spec:

0 commit comments

Comments
 (0)