@@ -2,6 +2,7 @@ use crate::config::{
2
2
CoreSiteConfigBuilder , HdfsNodeDataDirectory , HdfsSiteConfigBuilder , ROOT_DATA_DIR ,
3
3
} ;
4
4
use crate :: discovery:: build_discovery_configmap;
5
+ use crate :: OPERATOR_NAME ;
5
6
use stackable_hdfs_crd:: error:: { Error , HdfsOperatorResult } ;
6
7
use stackable_hdfs_crd:: { constants:: * , ROLE_PORTS } ;
7
8
use stackable_hdfs_crd:: { HdfsCluster , HdfsPodRef , HdfsRole } ;
@@ -24,7 +25,6 @@ use stackable_operator::kube::api::ObjectMeta;
24
25
use stackable_operator:: kube:: runtime:: controller:: Action ;
25
26
use stackable_operator:: kube:: runtime:: events:: { Event , EventType , Recorder , Reporter } ;
26
27
use stackable_operator:: kube:: runtime:: reflector:: ObjectRef ;
27
- use stackable_operator:: kube:: ResourceExt ;
28
28
use stackable_operator:: labels:: role_group_selector_labels;
29
29
use stackable_operator:: memory:: to_java_heap;
30
30
use stackable_operator:: product_config:: { types:: PropertyNameKind , ProductConfigManager } ;
@@ -59,12 +59,8 @@ pub async fn reconcile_hdfs(hdfs: Arc<HdfsCluster>, ctx: Arc<Ctx>) -> HdfsOperat
59
59
let namenode_podrefs = hdfs. pod_refs ( & HdfsRole :: NameNode ) ?;
60
60
let journalnode_podrefs = hdfs. pod_refs ( & HdfsRole :: JournalNode ) ?;
61
61
62
- let discovery_cm = build_discovery_configmap ( & hdfs, & namenode_podrefs) . map_err ( |e| {
63
- Error :: BuildDiscoveryConfigMap {
64
- source : e,
65
- name : hdfs. name ( ) ,
66
- }
67
- } ) ?;
62
+ let discovery_cm = build_discovery_configmap ( & hdfs, & namenode_podrefs)
63
+ . map_err ( |e| Error :: BuildDiscoveryConfigMap { source : e } ) ?;
68
64
69
65
client
70
66
. apply_patch ( FIELD_MANAGER_SCOPE , & discovery_cm, & discovery_cm)
@@ -167,6 +163,7 @@ fn rolegroup_service(
167
163
hdfs,
168
164
APP_NAME ,
169
165
hdfs. hdfs_version ( ) ?,
166
+ OPERATOR_NAME ,
170
167
& rolegroup_ref. role ,
171
168
& rolegroup_ref. role_group ,
172
169
)
@@ -202,44 +199,52 @@ fn rolegroup_config_map(
202
199
) -> HdfsOperatorResult < ConfigMap > {
203
200
tracing:: info!( "Setting up ConfigMap for {:?}" , rolegroup_ref) ;
204
201
202
+ let hdfs_name = hdfs
203
+ . metadata
204
+ . name
205
+ . as_deref ( )
206
+ . ok_or ( Error :: ObjectHasNoName ) ?;
207
+
205
208
let mut hdfs_site_xml = String :: new ( ) ;
206
209
let mut core_site_xml = String :: new ( ) ;
207
210
208
211
for ( property_name_kind, config) in rolegroup_config {
209
212
match property_name_kind {
210
213
PropertyNameKind :: File ( file_name) if file_name == HDFS_SITE_XML => {
211
- hdfs_site_xml =
212
- HdfsSiteConfigBuilder :: new ( hdfs. name ( ) , HdfsNodeDataDirectory :: default ( ) )
213
- // IMPORTANT: these folders must be under the volume mount point, otherwise they will not
214
- // be formatted by the namenode, or used by the other services.
215
- // See also: https://github.com/apache-spark-on-k8s/kubernetes-HDFS/commit/aef9586ecc8551ca0f0a468c3b917d8c38f494a0
216
- . dfs_namenode_name_dir ( )
217
- . dfs_datanode_data_dir ( )
218
- . dfs_journalnode_edits_dir ( )
219
- . dfs_replication (
220
- * hdfs
221
- . spec
222
- . dfs_replication
223
- . as_ref ( )
224
- . unwrap_or ( & DEFAULT_DFS_REPLICATION_FACTOR ) ,
225
- )
226
- . dfs_name_services ( )
227
- . dfs_ha_namenodes ( namenode_podrefs)
228
- . dfs_namenode_shared_edits_dir ( journalnode_podrefs)
229
- . dfs_namenode_name_dir_ha ( namenode_podrefs)
230
- . dfs_namenode_rpc_address_ha ( namenode_podrefs)
231
- . dfs_namenode_http_address_ha ( namenode_podrefs)
232
- . dfs_client_failover_proxy_provider ( )
233
- . add ( "dfs.ha.fencing.methods" , "shell(/bin/true)" )
234
- . add ( "dfs.ha.nn.not-become-active-in-safemode" , "true" )
235
- . add ( "dfs.ha.automatic-failover.enabled" , "true" )
236
- . add ( "dfs.ha.namenode.id" , "${env.POD_NAME}" )
237
- // the extend with config must come last in order to have overrides working!!!
238
- . extend ( config)
239
- . build_as_xml ( ) ;
214
+ hdfs_site_xml = HdfsSiteConfigBuilder :: new (
215
+ hdfs_name. to_string ( ) ,
216
+ HdfsNodeDataDirectory :: default ( ) ,
217
+ )
218
+ // IMPORTANT: these folders must be under the volume mount point, otherwise they will not
219
+ // be formatted by the namenode, or used by the other services.
220
+ // See also: https://github.com/apache-spark-on-k8s/kubernetes-HDFS/commit/aef9586ecc8551ca0f0a468c3b917d8c38f494a0
221
+ . dfs_namenode_name_dir ( )
222
+ . dfs_datanode_data_dir ( )
223
+ . dfs_journalnode_edits_dir ( )
224
+ . dfs_replication (
225
+ * hdfs
226
+ . spec
227
+ . dfs_replication
228
+ . as_ref ( )
229
+ . unwrap_or ( & DEFAULT_DFS_REPLICATION_FACTOR ) ,
230
+ )
231
+ . dfs_name_services ( )
232
+ . dfs_ha_namenodes ( namenode_podrefs)
233
+ . dfs_namenode_shared_edits_dir ( journalnode_podrefs)
234
+ . dfs_namenode_name_dir_ha ( namenode_podrefs)
235
+ . dfs_namenode_rpc_address_ha ( namenode_podrefs)
236
+ . dfs_namenode_http_address_ha ( namenode_podrefs)
237
+ . dfs_client_failover_proxy_provider ( )
238
+ . add ( "dfs.ha.fencing.methods" , "shell(/bin/true)" )
239
+ . add ( "dfs.ha.nn.not-become-active-in-safemode" , "true" )
240
+ . add ( "dfs.ha.automatic-failover.enabled" , "true" )
241
+ . add ( "dfs.ha.namenode.id" , "${env.POD_NAME}" )
242
+ // the extend with config must come last in order to have overrides working!!!
243
+ . extend ( config)
244
+ . build_as_xml ( ) ;
240
245
}
241
246
PropertyNameKind :: File ( file_name) if file_name == CORE_SITE_XML => {
242
- core_site_xml = CoreSiteConfigBuilder :: new ( hdfs . name ( ) )
247
+ core_site_xml = CoreSiteConfigBuilder :: new ( hdfs_name . to_string ( ) )
243
248
. fs_default_fs ( )
244
249
. ha_zookeeper_quorum ( )
245
250
// the extend with config must come last in order to have overrides working!!!
@@ -264,6 +269,7 @@ fn rolegroup_config_map(
264
269
hdfs,
265
270
APP_NAME ,
266
271
hdfs. hdfs_version ( ) ?,
272
+ OPERATOR_NAME ,
267
273
& rolegroup_ref. role ,
268
274
& rolegroup_ref. role_group ,
269
275
)
@@ -352,6 +358,7 @@ fn rolegroup_statefulset(
352
358
hdfs,
353
359
APP_NAME ,
354
360
hdfs. hdfs_version ( ) ?,
361
+ OPERATOR_NAME ,
355
362
& rolegroup_ref. role ,
356
363
& rolegroup_ref. role_group ,
357
364
)
0 commit comments