@@ -355,8 +355,6 @@ pub async fn reconcile_hbase(
355355
356356 let client = & ctx. client ;
357357
358- validate_cr ( hbase) ?;
359-
360358 let resolved_product_image = hbase
361359 . spec
362360 . image
@@ -630,13 +628,8 @@ fn build_rolegroup_config_map(
630628 ) ;
631629 }
632630 PropertyNameKind :: File ( file_name) if file_name == HBASE_ENV_SH => {
633- let mut hbase_env_config = build_hbase_env_sh (
634- hbase,
635- merged_config,
636- & hbase_role,
637- & rolegroup. role_group ,
638- & resolved_product_image. product_version ,
639- ) ?;
631+ let mut hbase_env_config =
632+ build_hbase_env_sh ( hbase, merged_config, & hbase_role, & rolegroup. role_group ) ?;
640633
641634 // configOverride come last
642635 hbase_env_config. extend ( config. clone ( ) ) ;
@@ -720,15 +713,11 @@ fn build_rolegroup_config_map(
720713 builder. add_data ( SSL_CLIENT_XML , ssl_client_xml) ;
721714 }
722715
723- extend_role_group_config_map (
724- rolegroup,
725- merged_config. logging ( ) ,
726- & mut builder,
727- & resolved_product_image. product_version ,
728- )
729- . context ( InvalidLoggingConfigSnafu {
730- cm_name : rolegroup. object_name ( ) ,
731- } ) ?;
716+ extend_role_group_config_map ( rolegroup, merged_config. logging ( ) , & mut builder) . context (
717+ InvalidLoggingConfigSnafu {
718+ cm_name : rolegroup. object_name ( ) ,
719+ } ,
720+ ) ?;
732721
733722 builder. build ( ) . map_err ( |e| Error :: BuildRoleGroupConfig {
734723 source : e,
@@ -746,7 +735,7 @@ fn build_rolegroup_service(
746735 resolved_product_image : & ResolvedProductImage ,
747736) -> Result < Service > {
748737 let ports = hbase
749- . ports ( hbase_role, & resolved_product_image . product_version )
738+ . ports ( hbase_role)
750739 . into_iter ( )
751740 . map ( |( name, value) | ServicePort {
752741 name : Some ( name) ,
@@ -811,7 +800,7 @@ fn build_rolegroup_statefulset(
811800 let hbase_version = & resolved_product_image. app_version_label ;
812801
813802 let ports = hbase
814- . ports ( hbase_role, & resolved_product_image . product_version )
803+ . ports ( hbase_role)
815804 . into_iter ( )
816805 . map ( |( name, value) | ContainerPort {
817806 name : Some ( name) ,
@@ -1172,7 +1161,6 @@ fn build_hbase_env_sh(
11721161 merged_config : & AnyServiceConfig ,
11731162 hbase_role : & HbaseRole ,
11741163 role_group : & str ,
1175- product_version : & str ,
11761164) -> Result < BTreeMap < String , String > , Error > {
11771165 let mut result = BTreeMap :: new ( ) ;
11781166
@@ -1187,7 +1175,7 @@ fn build_hbase_env_sh(
11871175 construct_global_jvm_args ( hbase. has_kerberos_enabled ( ) ) ,
11881176 ) ;
11891177 let role_specific_non_heap_jvm_args =
1190- construct_role_specific_non_heap_jvm_args ( hbase, hbase_role, role_group, product_version )
1178+ construct_role_specific_non_heap_jvm_args ( hbase, hbase_role, role_group)
11911179 . context ( ConstructJvmArgumentSnafu ) ?;
11921180
11931181 match hbase_role {
@@ -1214,24 +1202,6 @@ fn build_hbase_env_sh(
12141202 Ok ( result)
12151203}
12161204
1217- /// Ensures that no authorization is configured for HBase versions that do not support it.
1218- /// In the future, such validations should be moved to the CRD CEL rules which are much more flexible
1219- /// and have to added benefit that invalid CRs are rejected by the API server.
1220- /// A requirement for this is that the minimum supported Kubernetes version is 1.29.
1221- fn validate_cr ( hbase : & v1alpha1:: HbaseCluster ) -> Result < ( ) > {
1222- tracing:: info!( "Begin CR validation" ) ;
1223-
1224- let hbase_version = hbase. spec . image . product_version ( ) ;
1225- let authorization = hbase. spec . cluster_config . authorization . is_some ( ) ;
1226-
1227- if hbase_version. starts_with ( "2.4" ) && authorization {
1228- tracing:: error!( "Invalid custom resource" ) ;
1229- return Err ( Error :: AuthorizationNotSupported ) ;
1230- }
1231- tracing:: info!( "End CR validation" ) ;
1232- Ok ( ( ) )
1233- }
1234-
12351205#[ cfg( test) ]
12361206mod test {
12371207 use rstest:: rstest;
0 commit comments