2
2
* popups.c - put different popup displays here
3
3
*****************************************************************************
4
4
* Copyright (C) 2002-2007 The Regents of the University of California.
5
* Copyright (C) 2008 Lawrence Livermore National Security.
5
* Copyright (C) 2008-2009 Lawrence Livermore National Security.
6
6
* Portions Copyright (C) 2008 Vijay Ramasubramanian
7
7
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
8
8
* Written by Danny Auble <da@llnl.gov>, et. al.
9
* CODE-OCEC-09-009. All rights reserved.
11
11
* This file is part of SLURM, a resource management program.
12
* For details, see <http://www.llnl.gov/linux/slurm/>.
12
* For details, see <https://computing.llnl.gov/linux/slurm/>.
13
* Please also read the included file: DISCLAIMER.
14
15
* SLURM is free software; you can redistribute it and/or modify it under
15
16
* the terms of the GNU General Public License as published by the Free
214
267
static void _layout_ctl_conf(GtkTreeStore *treestore,
215
268
slurm_ctl_conf_info_msg_t *slurm_ctl_conf_ptr)
217
char temp_str[32], temp_str2[128];
219
272
GtkTreeIter iter;
274
ListIterator itr = NULL;
275
config_key_pair_t *key_pair;
276
char *select_title = "";
278
select_title = "Bluegene/L configuration";
281
select_title = "Bluegene/P configuration";
284
select_title = "Bluegene/Q configuration";
221
287
if(!slurm_ctl_conf_ptr)
224
290
slurm_make_time_str((time_t *)&slurm_ctl_conf_ptr->last_update,
225
291
temp_str, sizeof(temp_str));
226
add_display_treestore_line(update, treestore, &iter,
227
"Configuration data as of", temp_str);
292
add_display_treestore_line_with_font(
293
update, treestore, &iter,
294
"Configuration data as of", temp_str, "bold");
295
accounting_enforce_string(
296
slurm_ctl_conf_ptr->accounting_storage_enforce,
297
temp_str, sizeof(temp_str));
298
add_display_treestore_line(update, treestore, &iter,
299
"AccountingStorageEnforce",
301
add_display_treestore_line(update, treestore, &iter,
302
"AccountingStorageBackupHost",
304
accounting_storage_backup_host);
228
305
add_display_treestore_line(update, treestore, &iter,
229
306
"AccountingStorageHost",
230
307
slurm_ctl_conf_ptr->accounting_storage_host);
231
308
add_display_treestore_line(update, treestore, &iter,
309
"AccountingStorageLoc",
310
slurm_ctl_conf_ptr->accounting_storage_loc);
311
add_display_treestore_line(update, treestore, &iter,
312
"AccountingStoragePass",
313
slurm_ctl_conf_ptr->accounting_storage_pass);
314
snprintf(temp_str, sizeof(temp_str), "%u",
315
slurm_ctl_conf_ptr->accounting_storage_port);
316
add_display_treestore_line(update, treestore, &iter,
317
"AccountingStoragePort",
319
add_display_treestore_line(update, treestore, &iter,
232
320
"AccountingStorageType",
233
321
slurm_ctl_conf_ptr->accounting_storage_type);
234
snprintf(temp_str, sizeof(temp_str), "%u",
235
slurm_ctl_conf_ptr->accounting_storage_port);
236
add_display_treestore_line(update, treestore, &iter,
237
"AccountingStoragePort",
239
322
add_display_treestore_line(update, treestore, &iter,
240
323
"AccountingStorageUser",
241
324
slurm_ctl_conf_ptr->accounting_storage_user);
259
347
"CheckpointType",
260
348
slurm_ctl_conf_ptr->checkpoint_type);
261
349
add_display_treestore_line(update, treestore, &iter,
351
slurm_ctl_conf_ptr->cluster_name);
352
snprintf(temp_str, sizeof(temp_str), "%u",
353
slurm_ctl_conf_ptr->complete_wait);
354
add_display_treestore_line(update, treestore, &iter,
357
add_display_treestore_line(update, treestore, &iter,
263
359
slurm_ctl_conf_ptr->control_addr);
264
360
add_display_treestore_line(update, treestore, &iter,
267
363
add_display_treestore_line(update, treestore, &iter,
269
365
slurm_ctl_conf_ptr->crypto_type);
270
snprintf(temp_str, sizeof(temp_str), "%u",
271
slurm_ctl_conf_ptr->def_mem_per_task);
272
add_display_treestore_line(update, treestore, &iter,
367
xbuf = debug_flags2str(slurm_ctl_conf_ptr->debug_flags);
368
add_display_treestore_line(update, treestore, &iter,
372
if (slurm_ctl_conf_ptr->def_mem_per_task & MEM_PER_CPU) {
373
snprintf(temp_str, sizeof(temp_str), "%u",
374
slurm_ctl_conf_ptr->def_mem_per_task & (~MEM_PER_CPU));
375
add_display_treestore_line(update, treestore, &iter,
376
"DefMemPerCPU", temp_str);
377
} else if (slurm_ctl_conf_ptr->def_mem_per_task) {
378
snprintf(temp_str, sizeof(temp_str), "%u",
379
slurm_ctl_conf_ptr->def_mem_per_task);
380
add_display_treestore_line(update, treestore, &iter,
381
"DefMemPerNode", temp_str);
383
add_display_treestore_line(update, treestore, &iter,
384
"DefMemPerCPU", "UNLIMITED");
387
if(slurm_ctl_conf_ptr->disable_root_jobs)
391
add_display_treestore_line(update, treestore, &iter,
395
if(slurm_ctl_conf_ptr->enforce_part_limits)
399
add_display_treestore_line(update, treestore, &iter,
275
403
add_display_treestore_line(update, treestore, &iter,
277
405
slurm_ctl_conf_ptr->epilog);
406
snprintf(temp_str, sizeof(temp_str), "%u usec",
407
slurm_ctl_conf_ptr->epilog_msg_time);
408
add_display_treestore_line(update, treestore, &iter,
411
add_display_treestore_line(update, treestore, &iter,
413
slurm_ctl_conf_ptr->epilog_slurmctld);
278
414
snprintf(temp_str, sizeof(temp_str), "%u",
279
415
slurm_ctl_conf_ptr->fast_schedule);
280
416
add_display_treestore_line(update, treestore, &iter,
285
421
add_display_treestore_line(update, treestore, &iter,
424
snprintf(temp_str, sizeof(temp_str), "%u sec",
425
slurm_ctl_conf_ptr->get_env_timeout);
426
add_display_treestore_line(update, treestore, &iter,
429
snprintf(temp_str, sizeof(temp_str), "%u sec",
430
slurm_ctl_conf_ptr->health_check_interval);
431
add_display_treestore_line(update, treestore, &iter,
432
"HealthCheckInterval",
434
add_display_treestore_line(update, treestore, &iter,
435
"HealthCheckProgram",
436
slurm_ctl_conf_ptr->health_check_program);
289
438
add_display_treestore_line(update, treestore, &iter,
290
439
"HAVE_XCPU", "1");
447
snprintf(temp_str, sizeof(temp_str), "%u",
448
slurm_ctl_conf_ptr->job_acct_gather_freq);
449
add_display_treestore_line(update, treestore, &iter,
450
"JobAcctGatherFrequency",
298
452
add_display_treestore_line(update, treestore, &iter,
299
453
"JobAcctGatherType",
300
454
slurm_ctl_conf_ptr->job_acct_gather_type);
301
snprintf(temp_str, sizeof(temp_str), "%u",
302
slurm_ctl_conf_ptr->job_acct_gather_freq);
303
456
add_display_treestore_line(update, treestore, &iter,
304
"JobAcctGatherFrequency",
458
slurm_ctl_conf_ptr->job_ckpt_dir);
307
460
add_display_treestore_line(update, treestore, &iter,
333
490
slurm_ctl_conf_ptr->job_file_append);
334
491
add_display_treestore_line(update, treestore, &iter,
335
492
"JobFileAppend", temp_str);
493
snprintf(temp_str, sizeof(temp_str), "%u",
494
slurm_ctl_conf_ptr->job_requeue);
495
add_display_treestore_line(update, treestore, &iter,
496
"JobRequeue", temp_str);
336
497
snprintf(temp_str, sizeof(temp_str), "%u",
498
slurm_ctl_conf_ptr->kill_on_bad_exit);
499
add_display_treestore_line(update, treestore, &iter,
502
snprintf(temp_str, sizeof(temp_str), "%u sec",
337
503
slurm_ctl_conf_ptr->kill_wait);
338
504
add_display_treestore_line(update, treestore, &iter,
341
507
add_display_treestore_line(update, treestore, &iter,
509
slurm_ctl_conf_ptr->licenses);
510
add_display_treestore_line(update, treestore, &iter,
343
512
slurm_ctl_conf_ptr->mail_prog);
344
513
snprintf(temp_str, sizeof(temp_str), "%u",
346
515
add_display_treestore_line(update, treestore, &iter,
349
snprintf(temp_str, sizeof(temp_str), "%u",
350
slurm_ctl_conf_ptr->max_mem_per_task);
351
add_display_treestore_line(update, treestore, &iter,
518
if (slurm_ctl_conf_ptr->max_mem_per_task & MEM_PER_CPU) {
519
snprintf(temp_str, sizeof(temp_str), "%u",
520
slurm_ctl_conf_ptr->max_mem_per_task & (~MEM_PER_CPU));
521
add_display_treestore_line(update, treestore, &iter,
522
"MaxMemPerCPU", temp_str);
523
} else if (slurm_ctl_conf_ptr->max_mem_per_task) {
524
snprintf(temp_str, sizeof(temp_str), "%u",
525
slurm_ctl_conf_ptr->max_mem_per_task);
526
add_display_treestore_line(update, treestore, &iter,
527
"MaxMemPerNode", temp_str);
529
add_display_treestore_line(update, treestore, &iter,
530
"MaxMemPerCPU", "UNLIMITED");
354
532
snprintf(temp_str, sizeof(temp_str), "%u",
355
533
slurm_ctl_conf_ptr->msg_timeout);
356
534
add_display_treestore_line(update, treestore, &iter,
373
554
add_display_treestore_line(update, treestore, &iter,
557
if (slurm_ctl_conf_ptr->over_time_limit == (uint16_t) INFINITE)
558
snprintf(temp_str, sizeof(temp_str), "UNLIMITED");
560
snprintf(temp_str, sizeof(temp_str), "%u min",
561
slurm_ctl_conf_ptr->over_time_limit);
562
add_display_treestore_line(update, treestore, &iter,
376
566
add_display_treestore_line(update, treestore, &iter,
378
568
slurm_ctl_conf_ptr->plugindir);
379
569
add_display_treestore_line(update, treestore, &iter,
380
570
"PlugStackConfig",
381
571
slurm_ctl_conf_ptr->plugstack);
573
if (strcmp(slurm_ctl_conf_ptr->priority_type, "priority/basic") == 0) {
574
add_display_treestore_line(update, treestore, &iter,
576
slurm_ctl_conf_ptr->priority_type);
578
secs2time_str((time_t) slurm_ctl_conf_ptr->priority_decay_hl,
579
temp_str, sizeof(temp_str));
580
add_display_treestore_line(update, treestore, &iter,
581
"PriorityDecayHalfLife", temp_str);
583
snprintf(temp_str, sizeof(temp_str), "%u",
584
slurm_ctl_conf_ptr->priority_favor_small);
585
add_display_treestore_line(update, treestore, &iter,
586
"PriorityFavorSmall",
588
secs2time_str((time_t) slurm_ctl_conf_ptr->priority_max_age,
589
temp_str, sizeof(temp_str));
590
add_display_treestore_line(update, treestore, &iter,
591
"PriorityMaxAge", temp_str);
592
add_display_treestore_line(update, treestore, &iter,
593
"PriorityUsageResetPeriod",
596
priority_reset_period));
597
add_display_treestore_line(update, treestore, &iter,
599
slurm_ctl_conf_ptr->priority_type);
600
snprintf(temp_str, sizeof(temp_str), "%u",
601
slurm_ctl_conf_ptr->priority_weight_age);
602
add_display_treestore_line(update, treestore, &iter,
605
snprintf(temp_str, sizeof(temp_str), "%u",
606
slurm_ctl_conf_ptr->priority_weight_fs);
607
add_display_treestore_line(update, treestore, &iter,
608
"PriorityWeightFairShare",
610
snprintf(temp_str, sizeof(temp_str), "%u",
611
slurm_ctl_conf_ptr->priority_weight_js);
612
add_display_treestore_line(update, treestore, &iter,
613
"PriorityWeightJobSize",
615
snprintf(temp_str, sizeof(temp_str), "%u",
616
slurm_ctl_conf_ptr->priority_weight_part);
617
add_display_treestore_line(update, treestore, &iter,
618
"PriorityWeightPartition",
620
snprintf(temp_str, sizeof(temp_str), "%u",
621
slurm_ctl_conf_ptr->priority_weight_qos);
622
add_display_treestore_line(update, treestore, &iter,
382
628
private_data_string(slurm_ctl_conf_ptr->private_data,
383
temp_str2, sizeof(temp_str2));
384
snprintf(temp_str, sizeof(temp_str), "%s", temp_str2);
629
temp_str, sizeof(temp_str));
385
630
add_display_treestore_line(update, treestore, &iter,
404
652
propagate_rlimits_except);
405
653
add_display_treestore_line(update, treestore, &iter,
406
654
"ResumeProgram", temp_str);
407
snprintf(temp_str, sizeof(temp_str), "%u",
655
snprintf(temp_str, sizeof(temp_str), "%u nodes/min",
408
656
slurm_ctl_conf_ptr->resume_rate);
409
657
add_display_treestore_line(update, treestore, &iter,
410
658
"ResumeRate", temp_str);
659
snprintf(temp_str, sizeof(temp_str), "%u sec",
660
slurm_ctl_conf_ptr->resume_timeout);
661
add_display_treestore_line(update, treestore, &iter,
662
"ResumeTimeout", temp_str);
663
if (slurm_ctl_conf_ptr->resv_over_run == (uint16_t) INFINITE)
664
snprintf(temp_str, sizeof(temp_str), "UNLIMITED");
666
snprintf(temp_str, sizeof(temp_str), "%u min",
667
slurm_ctl_conf_ptr->resv_over_run);
668
add_display_treestore_line(update, treestore, &iter,
669
"ResvOverRun", temp_str);
411
671
snprintf(temp_str, sizeof(temp_str), "%u",
412
672
slurm_ctl_conf_ptr->ret2service);
413
673
add_display_treestore_line(update, treestore, &iter,
414
674
"ReturnToService", temp_str);
676
add_display_treestore_line(update, treestore, &iter,
677
"SallocDefaultCommand",
678
slurm_ctl_conf_ptr->salloc_default_command);
415
680
snprintf(temp_str, sizeof(temp_str), "%u",
416
681
slurm_ctl_conf_ptr->schedport);
417
682
add_display_treestore_line(update, treestore, &iter,
476
748
slurm_ctl_conf_ptr->slurmd_timeout);
477
749
add_display_treestore_line(update, treestore, &iter,
478
750
"SlurmdTimeout", temp_str);
479
add_display_treestore_line(update, treestore, &iter,
751
snprintf(temp_str, sizeof(temp_str), "%s(%u)",
752
slurm_ctl_conf_ptr->slurmd_user_name,
753
slurm_ctl_conf_ptr->slurmd_user_id);
754
add_display_treestore_line(update, treestore, &iter,
757
add_display_treestore_line(update, treestore, &iter,
481
759
slurm_ctl_conf_ptr->slurm_conf);
482
760
add_display_treestore_line(update, treestore, &iter,
483
761
"SLURM_VERSION", SLURM_VERSION);
484
762
add_display_treestore_line(update, treestore, &iter,
486
764
slurm_ctl_conf_ptr->srun_epilog);
765
snprintf(temp_str, sizeof(temp_str), "%u sec",
766
slurm_ctl_conf_ptr->srun_io_timeout);
767
add_display_treestore_line(update, treestore, &iter,
487
770
add_display_treestore_line(update, treestore, &iter,
489
772
slurm_ctl_conf_ptr->srun_prolog);
499
782
add_display_treestore_line(update, treestore, &iter,
500
783
"SuspendProgram",
501
784
slurm_ctl_conf_ptr->suspend_program);
502
snprintf(temp_str, sizeof(temp_str), "%u",
785
snprintf(temp_str, sizeof(temp_str), "%u nodes/min",
503
786
slurm_ctl_conf_ptr->suspend_rate);
504
787
add_display_treestore_line(update, treestore, &iter,
505
788
"SuspendRate", temp_str);
506
snprintf(temp_str, sizeof(temp_str), "%d",
507
((int)slurm_ctl_conf_ptr->suspend_time - 1));
789
if (!slurm_ctl_conf_ptr->suspend_time)
790
snprintf(temp_str, sizeof(temp_str), "NONE");
792
snprintf(temp_str, sizeof(temp_str), "%d sec",
793
((int)slurm_ctl_conf_ptr->suspend_time - 1));
508
794
add_display_treestore_line(update, treestore, &iter,
509
795
"SuspendTime", temp_str);
797
snprintf(temp_str, sizeof(temp_str), "%u sec",
798
slurm_ctl_conf_ptr->suspend_timeout);
799
add_display_treestore_line(update, treestore, &iter,
800
"SuspendTimeOut", temp_str);
510
801
add_display_treestore_line(update, treestore, &iter,
512
803
slurm_ctl_conf_ptr->switch_type);
526
817
add_display_treestore_line(update, treestore, &iter,
528
819
slurm_ctl_conf_ptr->tmp_fs);
820
add_display_treestore_line(update, treestore, &iter,
822
slurm_ctl_conf_ptr->topology_plugin);
823
snprintf(temp_str, sizeof(temp_str), "%u",
824
slurm_ctl_conf_ptr->track_wckey);
825
add_display_treestore_line(update, treestore, &iter,
826
"TrackWCKey", temp_str);
529
827
snprintf(temp_str, sizeof(temp_str), "%u",
530
828
slurm_ctl_conf_ptr->tree_width);
531
829
add_display_treestore_line(update, treestore, &iter,
545
843
slurm_ctl_conf_ptr->wait_time);
546
844
add_display_treestore_line(update, treestore, &iter,
547
845
"WaitTime", temp_str);
847
if (!slurm_ctl_conf_ptr->select_conf_key_pairs)
850
add_display_treestore_line_with_font(update, treestore, &iter,
851
select_title, NULL, "bold");
852
itr = list_iterator_create(
853
(List)slurm_ctl_conf_ptr->select_conf_key_pairs);
854
while((key_pair = list_next(itr))) {
855
add_display_treestore_line(update, treestore, &iter,
856
key_pair->name, key_pair->value);
858
list_iterator_destroy(itr);
550
861
extern void create_config_popup(GtkAction *action, gpointer user_data)