@@ -3,18 +3,18 @@ use std::sync::Arc;
33use snafu:: { ResultExt , Snafu } ;
44use stackable_operator:: {
55 cluster_resources:: { ClusterResourceApplyStrategy , ClusterResources } ,
6- commons:: rbac:: build_rbac_resources,
6+ commons:: { product_image_selection , rbac:: build_rbac_resources} ,
77 kube:: {
88 Resource , ResourceExt ,
99 core:: { DeserializeGuard , error_boundary} ,
1010 runtime:: controller:: Action ,
1111 } ,
1212 logging:: controller:: ReconcilerError ,
13+ shared:: time:: Duration ,
1314 status:: condition:: {
1415 compute_conditions, operations:: ClusterOperationsConditionBuilder ,
1516 statefulset:: StatefulSetConditionBuilder ,
1617 } ,
17- time:: Duration ,
1818} ;
1919use strum:: { EnumDiscriminants , IntoStaticStr } ;
2020
@@ -140,6 +140,11 @@ pub enum Error {
140140
141141 #[ snafu( display( "failed to serialize executor pod template" ) ) ]
142142 ExecutorPodTemplateSerde { source : serde_yaml:: Error } ,
143+
144+ #[ snafu( display( "failed to resolve product image" ) ) ]
145+ ResolveProductImage {
146+ source : product_image_selection:: Error ,
147+ } ,
143148}
144149
145150type Result < T , E = Error > = std:: result:: Result < T , E > ;
@@ -180,7 +185,8 @@ pub async fn reconcile(
180185 let resolved_product_image = scs
181186 . spec
182187 . image
183- . resolve ( SPARK_IMAGE_BASE_NAME , crate :: built_info:: PKG_VERSION ) ;
188+ . resolve ( SPARK_IMAGE_BASE_NAME , crate :: built_info:: PKG_VERSION )
189+ . context ( ResolveProductImageSnafu ) ?;
184190
185191 // Use a dedicated service account for connect server pods.
186192 let ( service_account, role_binding) = build_rbac_resources (
@@ -202,8 +208,9 @@ pub async fn reconcile(
202208 . context ( ApplyRoleBindingSnafu ) ?;
203209
204210 // Headless service used by executors connect back to the driver
205- let service = server:: build_internal_service ( scs, & resolved_product_image. app_version_label )
206- . context ( BuildServiceSnafu ) ?;
211+ let service =
212+ server:: build_internal_service ( scs, & resolved_product_image. app_version_label_value )
213+ . context ( BuildServiceSnafu ) ?;
207214
208215 let applied_internal_service = cluster_resources
209216 . add ( client, service. clone ( ) )
0 commit comments