204
234
if (strstr(temp_str, "partition"))
205
235
slurmdbd_conf->private_data
206
236
|= PRIVATE_DATA_PARTITIONS;
237
if (strstr(temp_str, "reservation"))
238
slurmdbd_conf->private_data
239
|= PRIVATE_DATA_RESERVATIONS;
207
240
if (strstr(temp_str, "usage"))
208
241
slurmdbd_conf->private_data
209
242
|= PRIVATE_DATA_USAGE;
210
if (strstr(temp_str, "users"))
243
if (strstr(temp_str, "user"))
211
244
slurmdbd_conf->private_data
212
245
|= PRIVATE_DATA_USERS;
213
if (strstr(temp_str, "accounts"))
214
slurmdbd_conf->private_data
215
|= PRIVATE_DATA_ACCOUNTS;
216
246
if (strstr(temp_str, "all"))
217
247
slurmdbd_conf->private_data = 0xffff;
251
s_p_get_uint16(&slurmdbd_conf->purge_event,
252
"PurgeEventMonths", tbl);
253
s_p_get_uint16(&slurmdbd_conf->purge_job,
254
"PurgeJobMonths", tbl);
255
s_p_get_uint16(&slurmdbd_conf->purge_step,
256
"PurgeStepMonths", tbl);
257
s_p_get_uint16(&slurmdbd_conf->purge_suspend,
258
"PurgeSuspendMonths", tbl);
221
260
s_p_get_string(&slurmdbd_conf->slurm_user_name, "SlurmUser",
223
s_p_get_uint16(&slurmdbd_conf->step_purge, "StepPurge", tbl);
262
s_p_get_uint16(&slurmdbd_conf->purge_step, "StepPurge", tbl);
264
s_p_get_string(&slurmdbd_conf->storage_backup_host,
265
"StorageBackupHost", tbl);
225
266
s_p_get_string(&slurmdbd_conf->storage_host,
227
268
s_p_get_string(&slurmdbd_conf->storage_loc,
229
270
s_p_get_string(&slurmdbd_conf->storage_pass,
231
272
s_p_get_uint16(&slurmdbd_conf->storage_port,
232
273
"StoragePort", tbl);
233
274
s_p_get_string(&slurmdbd_conf->storage_type,
234
275
"StorageType", tbl);
235
276
s_p_get_string(&slurmdbd_conf->storage_user,
238
279
if(!s_p_get_boolean((bool *)&slurmdbd_conf->track_wckey,
239
280
"TrackWCKey", tbl))
240
281
slurmdbd_conf->track_wckey = false;
259
300
if(slurmdbd_conf->plugindir == NULL)
260
301
slurmdbd_conf->plugindir = xstrdup(default_plugin_path);
261
302
if (slurmdbd_conf->slurm_user_name) {
262
uid_t pw_uid = uid_from_string(slurmdbd_conf->slurm_user_name);
263
if (pw_uid == (uid_t) -1) {
304
if (uid_from_string (slurmdbd_conf->slurm_user_name,
264
306
fatal("Invalid user for SlurmUser %s, ignored",
265
307
slurmdbd_conf->slurm_user_name);
267
309
slurmdbd_conf->slurm_user_id = pw_uid;
269
311
slurmdbd_conf->slurm_user_name = xstrdup("root");
270
312
slurmdbd_conf->slurm_user_id = 0;
272
315
if (slurmdbd_conf->storage_type == NULL)
273
316
fatal("StorageType must be specified");
318
if (!slurmdbd_conf->storage_host)
319
slurmdbd_conf->storage_host = xstrdup(DEFAULT_STORAGE_HOST);
321
if (!slurmdbd_conf->storage_user)
322
slurmdbd_conf->storage_user = xstrdup(getlogin());
324
if(!strcmp(slurmdbd_conf->storage_type,
325
"accounting_storage/mysql")) {
326
if(!slurmdbd_conf->storage_port)
327
slurmdbd_conf->storage_port = DEFAULT_MYSQL_PORT;
328
if(!slurmdbd_conf->storage_loc)
329
slurmdbd_conf->storage_loc =
330
xstrdup(DEFAULT_ACCOUNTING_DB);
331
} else if(!strcmp(slurmdbd_conf->storage_type,
332
"accounting_storage/pgsql")) {
333
if(!slurmdbd_conf->storage_port)
334
slurmdbd_conf->storage_port = DEFAULT_PGSQL_PORT;
335
if(!slurmdbd_conf->storage_loc)
336
slurmdbd_conf->storage_loc =
337
xstrdup(DEFAULT_ACCOUNTING_DB);
339
if(!slurmdbd_conf->storage_port)
340
slurmdbd_conf->storage_port = DEFAULT_STORAGE_PORT;
341
if(!slurmdbd_conf->storage_loc)
342
slurmdbd_conf->storage_loc =
343
xstrdup(DEFAULT_STORAGE_LOC);
275
346
if (slurmdbd_conf->archive_dir) {
276
347
if(stat(slurmdbd_conf->archive_dir, &buf) < 0)
277
348
fatal("Failed to stat the archive directory %s: %m",
333
403
tmp_str, sizeof(tmp_str));
335
405
debug2("PrivateData = %s", tmp_str);
407
if(slurmdbd_conf->purge_job)
408
debug2("PurgeJobMonths = %u months",
409
slurmdbd_conf->purge_job);
411
debug2("PurgeJobMonths = NONE");
413
if(slurmdbd_conf->purge_event)
414
debug2("PurgeEventMonths = %u months",
415
slurmdbd_conf->purge_event);
417
debug2("PurgeEventMonths = NONE");
419
if(slurmdbd_conf->purge_step)
420
debug2("PurgeStepMonths = %u months",
421
slurmdbd_conf->purge_step);
423
debug2("PurgeStepMonths = NONE");
425
if(slurmdbd_conf->purge_suspend)
426
debug2("PurgeSuspendMonths= %u months",
427
slurmdbd_conf->purge_suspend);
429
debug2("PurgeSuspendMonths= NONE");
336
431
debug2("SlurmUser = %s(%u)",
337
slurmdbd_conf->slurm_user_name, slurmdbd_conf->slurm_user_id);
432
slurmdbd_conf->slurm_user_name, slurmdbd_conf->slurm_user_id);
339
if(slurmdbd_conf->step_purge)
340
debug2("StepPurge = %u months",
341
slurmdbd_conf->step_purge);
343
debug2("StepPurge = NONE");
434
debug2("StorageBackupHost = %s", slurmdbd_conf->storage_backup_host);
345
435
debug2("StorageHost = %s", slurmdbd_conf->storage_host);
346
436
debug2("StorageLoc = %s", slurmdbd_conf->storage_loc);
347
437
debug2("StoragePass = %s", slurmdbd_conf->storage_pass);
348
438
debug2("StoragePort = %u", slurmdbd_conf->storage_port);
349
439
debug2("StorageType = %s", slurmdbd_conf->storage_type);
350
440
debug2("StorageUser = %s", slurmdbd_conf->storage_user);
351
442
debug2("TrackWCKey = %u", slurmdbd_conf->track_wckey);
492
/* Dump the configuration in name,value pairs for output to
493
* "sacctmgr show config", caller must call list_destroy() */
494
extern List dump_config(void)
496
config_key_pair_t *key_pair;
497
List my_list = list_create(destroy_config_key_pair);
500
fatal("malloc failure on list_create");
502
key_pair = xmalloc(sizeof(config_key_pair_t));
503
key_pair->name = xstrdup("ArchiveDir");
504
key_pair->value = xstrdup(slurmdbd_conf->archive_dir);
505
list_append(my_list, key_pair);
507
key_pair = xmalloc(sizeof(config_key_pair_t));
508
key_pair->name = xstrdup("ArchiveEvents");
509
key_pair->value = xmalloc(16);
510
snprintf(key_pair->value, 16, "%u", slurmdbd_conf->archive_events);
511
list_append(my_list, key_pair);
513
key_pair = xmalloc(sizeof(config_key_pair_t));
514
key_pair->name = xstrdup("ArchiveJobs");
515
key_pair->value = xmalloc(16);
516
snprintf(key_pair->value, 16, "%u", slurmdbd_conf->archive_jobs);
517
list_append(my_list, key_pair);
519
key_pair = xmalloc(sizeof(config_key_pair_t));
520
key_pair->name = xstrdup("ArchiveScript");
521
key_pair->value = xstrdup(slurmdbd_conf->archive_script);
522
list_append(my_list, key_pair);
524
key_pair = xmalloc(sizeof(config_key_pair_t));
525
key_pair->name = xstrdup("ArchiveSteps");
526
key_pair->value = xmalloc(16);
527
snprintf(key_pair->value, 16, "%u", slurmdbd_conf->archive_steps);
528
list_append(my_list, key_pair);
530
key_pair = xmalloc(sizeof(config_key_pair_t));
531
key_pair->name = xstrdup("ArchiveSupend");
532
key_pair->value = xmalloc(16);
533
snprintf(key_pair->value, 16, "%u", slurmdbd_conf->archive_suspend);
534
list_append(my_list, key_pair);
536
key_pair = xmalloc(sizeof(config_key_pair_t));
537
key_pair->name = xstrdup("AuthInfo");
538
key_pair->value = xstrdup(slurmdbd_conf->auth_info);
539
list_append(my_list, key_pair);
541
key_pair = xmalloc(sizeof(config_key_pair_t));
542
key_pair->name = xstrdup("AuthType");
543
key_pair->value = xstrdup(slurmdbd_conf->auth_type);
544
list_append(my_list, key_pair);
546
key_pair = xmalloc(sizeof(config_key_pair_t));
547
key_pair->name = xstrdup("BOOT_TIME");
548
key_pair->value = xmalloc(128);
549
slurm_make_time_str ((time_t *)&boot_time, key_pair->value, 128);
550
list_append(my_list, key_pair);
552
key_pair = xmalloc(sizeof(config_key_pair_t));
553
key_pair->name = xstrdup("DbdAddr");
554
key_pair->value = xstrdup(slurmdbd_conf->dbd_addr);
555
list_append(my_list, key_pair);
557
key_pair = xmalloc(sizeof(config_key_pair_t));
558
key_pair->name = xstrdup("DbdBackupHost");
559
key_pair->value = xstrdup(slurmdbd_conf->dbd_backup);
560
list_append(my_list, key_pair);
562
key_pair = xmalloc(sizeof(config_key_pair_t));
563
key_pair->name = xstrdup("DbdHost");
564
key_pair->value = xstrdup(slurmdbd_conf->dbd_host);
565
list_append(my_list, key_pair);
567
key_pair = xmalloc(sizeof(config_key_pair_t));
568
key_pair->name = xstrdup("DbdPort");
569
key_pair->value = xmalloc(32);
570
snprintf(key_pair->value, 32, "%u", slurmdbd_conf->dbd_port);
571
list_append(my_list, key_pair);
573
key_pair = xmalloc(sizeof(config_key_pair_t));
574
key_pair->name = xstrdup("DebugLevel");
575
key_pair->value = xmalloc(32);
576
snprintf(key_pair->value, 32, "%u", slurmdbd_conf->debug_level);
577
list_append(my_list, key_pair);
579
key_pair = xmalloc(sizeof(config_key_pair_t));
580
key_pair->name = xstrdup("DefaultQOS");
581
key_pair->value = xstrdup(slurmdbd_conf->default_qos);
582
list_append(my_list, key_pair);
584
key_pair = xmalloc(sizeof(config_key_pair_t));
585
key_pair->name = xstrdup("LogFile");
586
key_pair->value = xstrdup(slurmdbd_conf->log_file);
587
list_append(my_list, key_pair);
589
key_pair = xmalloc(sizeof(config_key_pair_t));
590
key_pair->name = xstrdup("MessageTimeout");
591
key_pair->value = xmalloc(32);
592
snprintf(key_pair->value, 32, "%u secs", slurmdbd_conf->msg_timeout);
593
list_append(my_list, key_pair);
595
key_pair = xmalloc(sizeof(config_key_pair_t));
596
key_pair->name = xstrdup("PidFile");
597
key_pair->value = xstrdup(slurmdbd_conf->pid_file);
598
list_append(my_list, key_pair);
600
key_pair = xmalloc(sizeof(config_key_pair_t));
601
key_pair->name = xstrdup("PluginDir");
602
key_pair->value = xstrdup(slurmdbd_conf->plugindir);
603
list_append(my_list, key_pair);
605
key_pair = xmalloc(sizeof(config_key_pair_t));
606
key_pair->name = xstrdup("PrivateData");
607
key_pair->value = xmalloc(128);
608
private_data_string(slurmdbd_conf->private_data,
609
key_pair->value, 128);
610
list_append(my_list, key_pair);
612
key_pair = xmalloc(sizeof(config_key_pair_t));
613
key_pair->name = xstrdup("PurgeEventMonths");
614
if(slurmdbd_conf->purge_event) {
615
key_pair->value = xmalloc(32);
616
snprintf(key_pair->value, 32, "%u months",
617
slurmdbd_conf->purge_event);
619
key_pair->value = xstrdup("NONE");
620
list_append(my_list, key_pair);
622
key_pair = xmalloc(sizeof(config_key_pair_t));
623
key_pair->name = xstrdup("PurgeJobMonths");
624
if(slurmdbd_conf->purge_job) {
625
key_pair->value = xmalloc(32);
626
snprintf(key_pair->value, 32, "%u months",
627
slurmdbd_conf->purge_job);
629
key_pair->value = xstrdup("NONE");
630
list_append(my_list, key_pair);
632
key_pair = xmalloc(sizeof(config_key_pair_t));
633
key_pair->name = xstrdup("PurgeStepMonths");
634
if(slurmdbd_conf->purge_step) {
635
key_pair->value = xmalloc(32);
636
snprintf(key_pair->value, 32, "%u months",
637
slurmdbd_conf->purge_step);
639
key_pair->value = xstrdup("NONE");
640
list_append(my_list, key_pair);
642
key_pair = xmalloc(sizeof(config_key_pair_t));
643
key_pair->name = xstrdup("PurgeSuspendMonths");
644
if(slurmdbd_conf->purge_suspend) {
645
key_pair->value = xmalloc(32);
646
snprintf(key_pair->value, 32, "%u months",
647
slurmdbd_conf->purge_suspend);
649
key_pair->value = xstrdup("NONE");
650
list_append(my_list, key_pair);
652
key_pair = xmalloc(sizeof(config_key_pair_t));
653
key_pair->name = xstrdup("SLURMDBD_CONF");
654
key_pair->value = _get_conf_path();
655
list_append(my_list, key_pair);
657
key_pair = xmalloc(sizeof(config_key_pair_t));
658
key_pair->name = xstrdup("SLURMDBD_VERSION");
659
key_pair->value = xstrdup(SLURM_VERSION);
660
list_append(my_list, key_pair);
662
key_pair = xmalloc(sizeof(config_key_pair_t));
663
key_pair->name = xstrdup("SlurmUser");
664
key_pair->value = xmalloc(128);
665
snprintf(key_pair->value, 128, "%s(%u)",
666
slurmdbd_conf->slurm_user_name, slurmdbd_conf->slurm_user_id);
667
list_append(my_list, key_pair);
669
key_pair = xmalloc(sizeof(config_key_pair_t));
670
key_pair->name = xstrdup("StorageBackupHost");
671
key_pair->value = xstrdup(slurmdbd_conf->storage_backup_host);
672
list_append(my_list, key_pair);
674
key_pair = xmalloc(sizeof(config_key_pair_t));
675
key_pair->name = xstrdup("StorageHost");
676
key_pair->value = xstrdup(slurmdbd_conf->storage_host);
677
list_append(my_list, key_pair);
679
key_pair = xmalloc(sizeof(config_key_pair_t));
680
key_pair->name = xstrdup("StorageLoc");
681
key_pair->value = xstrdup(slurmdbd_conf->storage_loc);
682
list_append(my_list, key_pair);
684
/* StoragePass should NOT be passed due to security reasons */
686
key_pair = xmalloc(sizeof(config_key_pair_t));
687
key_pair->name = xstrdup("StoragePort");
688
key_pair->value = xmalloc(32);
689
snprintf(key_pair->value, 32, "%u", slurmdbd_conf->storage_port);
690
list_append(my_list, key_pair);
692
key_pair = xmalloc(sizeof(config_key_pair_t));
693
key_pair->name = xstrdup("StorageType");
694
key_pair->value = xstrdup(slurmdbd_conf->storage_type);
695
list_append(my_list, key_pair);
697
key_pair = xmalloc(sizeof(config_key_pair_t));
698
key_pair->name = xstrdup("StorageUser");
699
key_pair->value = xstrdup(slurmdbd_conf->storage_user);
700
list_append(my_list, key_pair);
702
key_pair = xmalloc(sizeof(config_key_pair_t));
703
key_pair->name = xstrdup("TrackWCKey");
704
key_pair->value = xmalloc(32);
705
snprintf(key_pair->value, 32, "%u", slurmdbd_conf->track_wckey);
706
list_append(my_list, key_pair);