forked from ClusterLabs/pacemaker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
4622 lines (4477 loc) · 294 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* Thu Aug 08 2024 Ken Gaillot <[email protected]> Pacemaker-2.1.8
- 2559 commits with 511 files changed, 46898 insertions(+), 23417 deletions(-)
- Features added since Pacemaker-2.1.7
+ local options: support PCMK_panic_action="off" or "sync-off"
+ local options: deprecate PCMK_dh_min_bits environment variable
+ CIB: deprecate omitting validate-with from the CIB or setting it to "none"
or an unknown schema
+ CIB: deprecate "default" and "#default" as explicit meta-attribute values
+ CIB: deprecate resource-discovery-enabled node attribute
+ CIB: deprecate support for multiple top-level rules within a location
constraint (a single rule may still contain multiple sub-rules)
+ CIB: deprecate support for node attribute expressions in rules beneath op,
op_defaults, or fence device meta-attributes
+ CIB: deprecate support for rkt in bundles
+ CIB: drop support for (nonworking) rules based on the #role node attribute
(role-based location constraints may still contain rules)
+ CIB manager,controller,fencer,scheduler: deprecate "metadata" command-line
option (instead, use crm_attribute --list-options mentioned below)
+ pacemaker-remoted: newer schema files are now downloaded from the cluster,
allowing more command-line tools to work when the Pacemaker Remote node
has an older Pacemaker version than the cluster
+ agents: deprecate the ocf:pacemaker:o2cb resource agent
+ tools: deprecate --text-fancy command-line option in all tools
+ tools: crm_attribute --list-options lists all possible cluster options
+ tools: crm_resource --list-options lists all possible primitive
meta-attributes or special fence device parameters
+ tools: crm_verify now reports invalid fence topology levels
+ tools: new --score option for cibadmin --modify and crm_attribute --update
enables expansion of "++" and "+=" in attribute values without a warning
(using such expansions without --score is now deprecated)
+ tools: crm_ticket supports standard --output-as/--output-to arguments
- Fixes since Pacemaker-2.1.7
+ tools: restore the (deprecated) ability to automatically correct malformed
XML passed via standard input (regression introduced in 2.1.7)
+ tools: crm_verify distinguishes configuration warnings and errors
(regression introduced in 2.1.7)
+ tools: crm_node -i must initialize nodeid before passing pointer
(regression introduced in 2.1.7)
+ CIB manager: avoid memory leak from asynchronous client requests
(regression introduced in 2.1.7)
+ scheduler: don't apply colocations twice for promotion priority
(regression introduced in 2.1.7)
+ CIB: restore the (deprecated) ability to use validate-with="pacemaker-next"
(regression introduced in 2.1.6)
+ controller: avoid zombie children when asynchronous actions exit while a
synchronous meta-data action is in progress
(regression introduced in 2.1.5)
+ libcrmcommon: avoid file descriptor leak in asynchronous IPC clients
(regression introduced in 2.1.3)
+ scheduler: avoid crash when logging an invalid utilization attribute value
(regression introduced in 2.1.3)
+ tools: crm_mon no longer crashes on some platforms when the fencer
connection is lost (regression introduced in 2.1.0)
+ attribute manager: write Pacemaker Remote node attributes even if node is
not cached
+ attribute manager: avoid use-after-free when remote node in cluster node
cache
+ attribute manager: correctly propagate utilization attributes to peers
to avoid the possibility of later being written out as regular node
attributes
+ fencer: correctly parse action-specific timeouts with units other than
seconds
+ fencer: avoid unnecessary timeouts when the watchdog timeout is greater
than a query timeout, per-device fencing timeout, or stonith-timeout
+ libcrmcommon: avoid possible buffer overflows when parsing and formatting
date/times
+ libcrmcommon: don't assume next schema will validate when not transforming
+ libcrmcommon: when displaying XML, don't show "<null>" for empty attribute
values, and properly escape special characters
+ libstonithd: avoid double free when invalid replies are received
+ scheduler: if the user specifies a timeout of 0, use the default 20s as
documented
+ scheduler: consider group's location constraints when a member is an
explicit dependent in a colocation constraint
+ scheduler: sort promotable cloned group instances properly for promotion
+ agents: ocf:pacemaker:SysInfo respects attrd_updater dampening
+ agents: ocf:pacemaker:HealthSMART properly handles SMART data missing
temperature
+ tools: cibadmin, crm_attribute, crm_node, crm_resource, crm_shadow, and
crm_ticket now retry CIB connections after transient failures
+ tools: cibadmin --replace now leaves "++" and "+=" unexpanded in XML
attribute values rather than wrongly treat them as 0
+ tools: cibsecret avoids possible truncation issue in process listing
+ tools: crm_attribute --node localhost or --node auto works
+ tools: crm_resource ignores resource meta-attribute node expressions
for consistency with how the cluster works
+ tools: crm_resource honors rules when getting utilization attributes
+ tools: crm_verify --output-as=xml includes detailed messages
+ tools: crm_mon exits upon loss of an attached pseudo-terminal to avoid
possibility of 100% CPU usage (seen when run via sudo with use_pty
configured)
- Public API changes since Pacemaker-2.1.7
+ libcib: add cib_score_update cib_call_options value
+ libcib: deprecate functions cib_get_generation(), cib_metadata(),
cib_pref(), query_node_uname(), and set_standby()
+ libcib: deprecate T_CIB_DIFF_NOTIFY
+ libcib: deprecate `<failed>` element in CIB create reply
+ libcrmcluster: add enum pcmk_cluster_layer
+ libcrmcluster: add functions pcmk_cluster_connect(),
pcmk_cluster_disconnect(), pcmk_cluster_layer_text(),
pcmk_cluster_set_destroy_fn(), pcmk_cpg_set_confchg_fn(),
pcmk_cpg_set_deliver_fn(), and pcmk_get_cluster_layer()
+ libcrmcluster: add type pcmk_cluster_t
+ libcrmcluster: deprecate functions cluster_connect_cpg(),
cluster_disconnect_cpg(), crm_active_peers(), crm_cluster_connect(),
crm_cluster_disconnect(), crm_get_peer(), crm_get_peer_full(),
crm_is_corosync_peer_active(), crm_is_peer_active(), crm_join_phase_str(),
crm_peer_destroy(), crm_peer_init(), crm_peer_uname(),
crm_peer_uuid(), crm_remote_node_cache_size(),
crm_remote_peer_cache_refresh(), crm_remote_peer_cache_remove(),
crm_remote_peer_get(), crm_set_autoreap(), crm_set_status_callback(),
get_cluster_type(), get_local_nodeid(), get_local_node_name(),
get_node_name(), is_corosync_cluster(), name_for_cluster_type(),
pcmk_cpg_membership(), pcmk_message_common_cs(), reap_crm_member(),
send_cluster_message(), send_cluster_text(), and text2msg_type()
+ libcrmcluster: deprecate enums crm_ais_msg_types, crm_status_type,
cluster_type_e, crm_ais_msg_class, crm_get_peer_flags, crm_join_phase,
and crm_node_flags, including all their values
+ libcrmcluster: deprecate global variables crm_have_quorum, crm_peer_cache,
crm_peer_seq, and crm_remote_peer_cache
+ libcrmcluster: deprecate crm_cluster_t and struct crm_cluster_s, including
all its members
+ libcrmcluster: deprecate crm_node_t and struct crm_peer_node_s, including
all its members
+ libcrmcluster: deprecate constants CRM_NODE_LOST and CRM_NODE_MEMBER
+ libcrmcommon: add constants PCMK_ACTION_METADATA, PCMK_META_ALLOW_MIGRATE,
PCMK_META_ALLOW_UNHEALTHY_NODES, PCMK_META_CONTAINER_ATTRIBUTE_TARGET,
PCMK_META_CRITICAL, PCMK_META_GLOBALLY_UNIQUE, PCMK_META_INTERLEAVE,
PCMK_META_INTERVAL, PCMK_META_INTERVAL_ORIGIN, PCMK_META_IS_MANAGED,
PCMK_META_MAINTENANCE, PCMK_META_MULTIPLE_ACTIVE, PCMK_META_NOTIFY,
PCMK_META_ON_FAIL, PCMK_META_ORDERED, PCMK_META_PRIORITY,
PCMK_META_PROMOTABLE, PCMK_META_RECORD_PENDING, PCMK_META_REMOTE_ADDR,
PCMK_META_REMOTE_ALLOW_MIGRATE, PCMK_META_REMOTE_CONNECT_TIMEOUT,
PCMK_META_REMOTE_NODE, PCMK_META_REMOTE_PORT, PCMK_META_REQUIRES,
PCMK_META_RESOURCE_STICKINESS, PCMK_META_START_DELAY,
PCMK_META_TARGET_ROLE, PCMK_META_TIMEOUT, PCMK_META_TIMESTAMP_FORMAT,
PCMK_NODE_ATTR_MAINTENANCE, PCMK_NODE_ATTR_STANDBY, PCMK_OPT_BATCH_LIMIT,
PCMK_OPT_CLUSTER_DELAY, PCMK_OPT_CLUSTER_INFRASTRUCTURE,
PCMK_OPT_CLUSTER_IPC_LIMIT, PCMK_OPT_CLUSTER_NAME,
PCMK_OPT_CLUSTER_RECHECK_INTERVAL, PCMK_OPT_CONCURRENT_FENCING,
PCMK_OPT_DC_DEADTIME, PCMK_OPT_DC_VERSION, PCMK_OPT_ELECTION_TIMEOUT,
PCMK_OPT_ENABLE_ACL, PCMK_OPT_ENABLE_STARTUP_PROBES,
PCMK_OPT_FENCE_REACTION, PCMK_OPT_HAVE_WATCHDOG,
PCMK_OPT_JOIN_FINALIZATION_TIMEOUT, PCMK_OPT_JOIN_INTEGRATION_TIMEOUT,
PCMK_OPT_LOAD_THRESHOLD, PCMK_OPT_MAINTENANCE_MODE,
PCMK_OPT_MIGRATION_LIMIT, PCMK_OPT_NODE_ACTION_LIMIT,
PCMK_OPT_NODE_HEALTH_BASE, PCMK_OPT_NODE_HEALTH_GREEN,
PCMK_OPT_NODE_HEALTH_RED, PCMK_OPT_NODE_HEALTH_STRATEGY,
PCMK_OPT_NODE_HEALTH_YELLOW, PCMK_OPT_NODE_PENDING_TIMEOUT,
PCMK_OPT_NO_QUORUM_POLICY, PCMK_OPT_PE_ERROR_SERIES_MAX,
PCMK_OPT_PE_INPUT_SERIES_MAX, PCMK_OPT_PE_WARN_SERIES_MAX,
PCMK_OPT_PLACEMENT_STRATEGY, PCMK_OPT_PRIORITY_FENCING_DELAY,
PCMK_OPT_SHUTDOWN_ESCALATION, PCMK_OPT_SHUTDOWN_LOCK,
PCMK_OPT_SHUTDOWN_LOCK_LIMIT, PCMK_OPT_STARTUP_FENCING,
PCMK_OPT_START_FAILURE_IS_FATAL, PCMK_OPT_STONITH_ACTION,
PCMK_OPT_STONITH_ENABLED, PCMK_OPT_STONITH_MAX_ATTEMPTS,
PCMK_OPT_STONITH_TIMEOUT, PCMK_OPT_STONITH_WATCHDOG_TIMEOUT,
PCMK_OPT_STOP_ALL_RESOURCES, PCMK_OPT_STOP_ORPHAN_ACTIONS,
PCMK_OPT_STOP_ORPHAN_RESOURCES, PCMK_OPT_SYMMETRIC_CLUSTER,
PCMK_OPT_TRANSITION_DELAY, PCMK_REMOTE_RA_ADDR, PCMK_REMOTE_RA_PORT,
PCMK_REMOTE_RA_RECONNECT_INTERVAL, PCMK_REMOTE_RA_SERVER,
PCMK_ROLE_PROMOTED, PCMK_ROLE_STARTED, PCMK_ROLE_STOPPED,
PCMK_ROLE_UNPROMOTED, PCMK_SCORE_INFINITY, PCMK_VALUE_ALWAYS,
PCMK_VALUE_AND, PCMK_VALUE_BALANCED, PCMK_VALUE_BLOCK, PCMK_VALUE_BOOLEAN,
PCMK_VALUE_CIB_BOOTSTRAP_OPTIONS, PCMK_VALUE_COROSYNC, PCMK_VALUE_CREATE,
PCMK_VALUE_CUSTOM, PCMK_VALUE_DATE_SPEC, PCMK_VALUE_DEFAULT,
PCMK_VALUE_DEFINED, PCMK_VALUE_DELETE, PCMK_VALUE_DEMOTE, PCMK_VALUE_DENY,
PCMK_VALUE_DURATION, PCMK_VALUE_DYNAMIC_LIST, PCMK_VALUE_EQ,
PCMK_VALUE_EXCLUSIVE, PCMK_VALUE_FAILED, PCMK_VALUE_FALSE,
PCMK_VALUE_FENCE, PCMK_VALUE_FENCE_LEGACY, PCMK_VALUE_FENCING,
PCMK_VALUE_FREEZE, PCMK_VALUE_GRANTED, PCMK_VALUE_GREEN, PCMK_VALUE_GT,
PCMK_VALUE_GTE, PCMK_VALUE_HOST, PCMK_VALUE_IGNORE, PCMK_VALUE_IN_RANGE,
PCMK_VALUE_INFINITY, PCMK_VALUE_INTEGER, PCMK_VALUE_LITERAL,
PCMK_VALUE_LT, PCMK_VALUE_LTE, PCMK_VALUE_MANDATORY, PCMK_VALUE_MEMBER,
PCMK_VALUE_META, PCMK_VALUE_MIGRATE_ON_RED, PCMK_VALUE_MINIMAL,
PCMK_VALUE_MINUS_INFINITY, PCMK_VALUE_MODIFY, PCMK_VALUE_MOVE,
PCMK_VALUE_NE, PCMK_VALUE_NEVER, PCMK_VALUE_NONE,
PCMK_VALUE_NONNEGATIVE_INTEGER, PCMK_VALUE_NOTHING,
PCMK_VALUE_NOT_DEFINED, PCMK_VALUE_NUMBER, PCMK_VALUE_OFFLINE,
PCMK_VALUE_ONLINE, PCMK_VALUE_ONLY_GREEN, PCMK_VALUE_OPTIONAL,
PCMK_VALUE_OR, PCMK_VALUE_PANIC, PCMK_VALUE_PARAM, PCMK_VALUE_PENDING,
PCMK_VALUE_PERCENTAGE, PCMK_VALUE_PLUS_INFINITY, PCMK_VALUE_PORT,
PCMK_VALUE_PROGRESSIVE, PCMK_VALUE_QUORUM, PCMK_VALUE_READ,
PCMK_VALUE_RED, PCMK_VALUE_REMOTE, PCMK_VALUE_RESTART,
PCMK_VALUE_RESTART_CONTAINER, PCMK_VALUE_REVOKED, PCMK_VALUE_SCORE,
PCMK_VALUE_SELECT, PCMK_VALUE_SERIALIZE, PCMK_VALUE_STANDBY,
PCMK_VALUE_STATIC_LIST, PCMK_VALUE_STATUS, PCMK_VALUE_STOP,
PCMK_VALUE_STOP_ONLY, PCMK_VALUE_STOP_START, PCMK_VALUE_STOP_UNEXPECTED,
PCMK_VALUE_STRING, PCMK_VALUE_SUCCESS, PCMK_VALUE_TIMEOUT,
PCMK_VALUE_TRUE, PCMK_VALUE_UNFENCING, PCMK_VALUE_UNKNOWN,
PCMK_VALUE_UTILIZATION, PCMK_VALUE_VERSION, PCMK_VALUE_WRITE,
PCMK_VALUE_YELLOW, PCMK_XA_ACTION, PCMK_XA_ACTIVE, PCMK_XA_ADD_HOST,
PCMK_XA_ADMIN_EPOCH, PCMK_XA_ADVANCED, PCMK_XA_AGENT, PCMK_XA_API_VERSION,
PCMK_XA_ATTRIBUTE, PCMK_XA_AUTHOR, PCMK_XA_AUTOMATIC, PCMK_XA_BLOCKED,
PCMK_XA_BOOLEAN_OP, PCMK_XA_BUILD, PCMK_XA_CACHED, PCMK_XA_CALL,
PCMK_XA_CIB_LAST_WRITTEN, PCMK_XA_CIB_NODE, PCMK_XA_CLASS, PCMK_XA_CLIENT,
PCMK_XA_CODE, PCMK_XA_COMMENT, PCMK_XA_COMPLETED, PCMK_XA_CONTROL_PORT,
PCMK_XA_COUNT, PCMK_XA_CRMD, PCMK_XA_CRM_DEBUG_ORIGIN,
PCMK_XA_CRM_FEATURE_SET, PCMK_XA_CRM_TIMESTAMP, PCMK_XA_DAYS,
PCMK_XA_DC_UUID, PCMK_XA_DEFAULT, PCMK_XA_DELEGATE, PCMK_XA_DESCRIPTION,
PCMK_XA_DEST, PCMK_XA_DEVICE, PCMK_XA_DEVICES, PCMK_XA_DISABLED,
PCMK_XA_DURATION, PCMK_XA_END, PCMK_XA_EPOCH, PCMK_XA_EXEC,
PCMK_XA_EXECUTION_CODE, PCMK_XA_EXECUTION_DATE, PCMK_XA_EXECUTION_MESSAGE,
PCMK_XA_EXEC_TIME, PCMK_XA_EXITCODE, PCMK_XA_EXITREASON,
PCMK_XA_EXITSTATUS, PCMK_XA_EXIT_REASON, PCMK_XA_EXPECTED,
PCMK_XA_EXPECTED_UP, PCMK_XA_EXTENDED_STATUS, PCMK_XA_FAILED,
PCMK_XA_FAILURE_IGNORED, PCMK_XA_FAIL_COUNT, PCMK_XA_FEATURES,
PCMK_XA_FEATURE_SET, PCMK_XA_FILE, PCMK_XA_FIRST, PCMK_XA_FIRST_ACTION,
PCMK_XA_FOR, PCMK_XA_FUNCTION, PCMK_XA_GENERATED, PCMK_XA_HASH,
PCMK_XA_HAVE_QUORUM, PCMK_XA_HEALTH, PCMK_XA_HOST, PCMK_XA_HOST_INTERFACE,
PCMK_XA_HOST_NETMASK, PCMK_XA_HOURS, PCMK_XA_ID, PCMK_XA_ID_AS_RESOURCE,
PCMK_XA_ID_REF, PCMK_XA_IMAGE, PCMK_XA_INDEX, PCMK_XA_INFLUENCE,
PCMK_XA_INSTANCE, PCMK_XA_INTERNAL_PORT, PCMK_XA_INTERVAL,
PCMK_XA_IP_RANGE_START, PCMK_XA_IS_DC, PCMK_XA_KIND, PCMK_XA_LANG,
PCMK_XA_LAST_FAILURE, PCMK_XA_LAST_GRANTED, PCMK_XA_LAST_RC_CHANGE,
PCMK_XA_LAST_UPDATED, PCMK_XA_LOCKED_TO, PCMK_XA_LOCKED_TO_HYPHEN,
PCMK_XA_LOSS_POLICY, PCMK_XA_MAINTENANCE, PCMK_XA_MAINTENANCE_MODE,
PCMK_XA_MANAGED, PCMK_XA_MESSAGE, PCMK_XA_MINUTES, PCMK_XA_MIXED_VERSION,
PCMK_XA_MONTHDAYS, PCMK_XA_MONTHS, PCMK_XA_MULTI_STATE, PCMK_XA_NAME,
PCMK_XA_NETWORK, PCMK_XA_NEXT_ROLE, PCMK_XA_NODE, PCMK_XA_NODEID,
PCMK_XA_NODES_RUNNING_ON, PCMK_XA_NODE_ATTRIBUTE, PCMK_XA_NODE_NAME,
PCMK_XA_NODE_PATH, PCMK_XA_NO_QUORUM_PANIC, PCMK_XA_NO_QUORUM_POLICY,
PCMK_XA_NUMBER, PCMK_XA_NUMBER_RESOURCES, PCMK_XA_NUM_UPDATES,
PCMK_XA_OBJECT_TYPE, PCMK_XA_ONLINE, PCMK_XA_ON_TARGET, PCMK_XA_OP,
PCMK_XA_OPERATION, PCMK_XA_OPTIONS, PCMK_XA_OP_KEY, PCMK_XA_ORIGIN,
PCMK_XA_ORPHAN, PCMK_XA_ORPHANED, PCMK_XA_PACEMAKERD_STATE, PCMK_XA_PATH,
PCMK_XA_PENDING, PCMK_XA_PORT, PCMK_XA_PRESENT,
PCMK_XA_PRIORITY_FENCING_DELAY_MS, PCMK_XA_PROGRAM, PCMK_XA_PROMOTABLE,
PCMK_XA_PROMOTED_MAX, PCMK_XA_PROMOTED_ONLY, PCMK_XA_PROVIDER,
PCMK_XA_QUEUED, PCMK_XA_QUEUE_TIME, PCMK_XA_QUORUM, PCMK_XA_RANGE,
PCMK_XA_RC, PCMK_XA_RC_TEXT, PCMK_XA_REASON, PCMK_XA_REFERENCE,
PCMK_XA_RELOADABLE, PCMK_XA_REMAIN_STOPPED, PCMK_XA_REMOTE_CLEAR_PORT,
PCMK_XA_REMOTE_NODE, PCMK_XA_REMOTE_TLS_PORT, PCMK_XA_REPLICAS,
PCMK_XA_REPLICAS_PER_HOST, PCMK_XA_REQUEST, PCMK_XA_REQUIRE_ALL,
PCMK_XA_RESOURCE, PCMK_XA_RESOURCES_RUNNING, PCMK_XA_RESOURCE_AGENT,
PCMK_XA_RESOURCE_DISCOVERY, PCMK_XA_RESULT, PCMK_XA_ROLE, PCMK_XA_RSC,
PCMK_XA_RSC_PATTERN, PCMK_XA_RSC_ROLE, PCMK_XA_RULE_ID, PCMK_XA_RUNNING,
PCMK_XA_RUNNING_ON, PCMK_XA_RUN_COMMAND, PCMK_XA_SCOPE, PCMK_XA_SCORE,
PCMK_XA_SCORE_ATTRIBUTE, PCMK_XA_SECONDS, PCMK_XA_SEQUENTIAL,
PCMK_XA_SHUTDOWN, PCMK_XA_SOURCE, PCMK_XA_SOURCE_DIR,
PCMK_XA_SOURCE_DIR_ROOT, PCMK_XA_SPEC, PCMK_XA_STANDARD, PCMK_XA_STANDBY,
PCMK_XA_STANDBY_ONFAIL, PCMK_XA_START, PCMK_XA_STATE, PCMK_XA_STATUS,
PCMK_XA_STONITH_ENABLED, PCMK_XA_STONITH_TIMEOUT_MS,
PCMK_XA_STOP_ALL_RESOURCES, PCMK_XA_SYMMETRICAL,
PCMK_XA_SYMMETRIC_CLUSTER, PCMK_XA_SYS_FROM, PCMK_XA_TAG, PCMK_XA_TARGET,
PCMK_XA_TARGET_ATTRIBUTE, PCMK_XA_TARGET_DIR, PCMK_XA_TARGET_PATTERN,
PCMK_XA_TARGET_ROLE, PCMK_XA_TARGET_VALUE, PCMK_XA_TASK, PCMK_XA_TEMPLATE,
PCMK_XA_THEN, PCMK_XA_THEN_ACTION, PCMK_XA_TICKET, PCMK_XA_TIME,
PCMK_XA_TYPE, PCMK_XA_UNAME, PCMK_XA_UNCLEAN, PCMK_XA_UNHEALTHY,
PCMK_XA_UNIQUE, PCMK_XA_UNMANAGED, PCMK_XA_UPDATE_CLIENT,
PCMK_XA_UPDATE_ORIGIN, PCMK_XA_UPDATE_USER, PCMK_XA_USER, PCMK_XA_VALID,
PCMK_XA_VALIDATE_WITH, PCMK_XA_VALUE, PCMK_XA_VALUE_SOURCE,
PCMK_XA_VERSION, PCMK_XA_WATCHDOG, PCMK_XA_WEEKDAYS, PCMK_XA_WEEKS,
PCMK_XA_WEEKYEARS, PCMK_XA_WEIGHT, PCMK_XA_WHEN, PCMK_XA_WITH_QUORUM,
PCMK_XA_WITH_RSC, PCMK_XA_WITH_RSC_ROLE, PCMK_XA_XPATH, PCMK_XA_YEARDAYS,
PCMK_XA_YEARS, PCMK_XE_ACLS, PCMK_XE_ACL_GROUP, PCMK_XE_ACL_PERMISSION,
PCMK_XE_ACL_ROLE, PCMK_XE_ACL_TARGET, PCMK_XE_ACTION, PCMK_XE_ACTIONS,
PCMK_XE_AGENT, PCMK_XE_AGENTS, PCMK_XE_AGENT_STATUS, PCMK_XE_ALERT,
PCMK_XE_ALERTS, PCMK_XE_ALLOCATIONS, PCMK_XE_ALLOCATIONS_UTILIZATIONS,
PCMK_XE_ATTRIBUTE, PCMK_XE_BAN, PCMK_XE_BANS, PCMK_XE_BUNDLE,
PCMK_XE_CAPACITY, PCMK_XE_CHANGE, PCMK_XE_CHANGE_ATTR,
PCMK_XE_CHANGE_LIST, PCMK_XE_CHANGE_RESULT, PCMK_XE_CHECK, PCMK_XE_CIB,
PCMK_XE_CLONE, PCMK_XE_CLUSTER_ACTION, PCMK_XE_CLUSTER_INFO,
PCMK_XE_CLUSTER_OPTIONS, PCMK_XE_CLUSTER_PROPERTY_SET,
PCMK_XE_CLUSTER_STATUS, PCMK_XE_COMMAND, PCMK_XE_CONFIGURATION,
PCMK_XE_CONSTRAINTS, PCMK_XE_CONTENT, PCMK_XE_CRM_CONFIG, PCMK_XE_CRM_MON,
PCMK_XE_CRM_MON_DISCONNECTED, PCMK_XE_CURRENT_DC, PCMK_XE_DATE_SPEC,
PCMK_XE_DC, PCMK_XE_DEPRECATED, PCMK_XE_DIFF, PCMK_XE_DIGEST,
PCMK_XE_DIGESTS, PCMK_XE_DOCKER, PCMK_XE_DURATION, PCMK_XE_ERROR,
PCMK_XE_ERRORS, PCMK_XE_EXPRESSION, PCMK_XE_FAILURE, PCMK_XE_FAILURES,
PCMK_XE_FEATURE, PCMK_XE_FEATURES, PCMK_XE_FENCE_EVENT,
PCMK_XE_FENCE_HISTORY, PCMK_XE_FENCING_ACTION, PCMK_XE_FENCING_LEVEL,
PCMK_XE_FENCING_TOPOLOGY, PCMK_XE_GROUP, PCMK_XE_INJECT_ATTR,
PCMK_XE_INJECT_SPEC, PCMK_XE_INSTANCE_ATTRIBUTES, PCMK_XE_INSTRUCTION,
PCMK_XE_ITEM, PCMK_XE_LAST_CHANGE, PCMK_XE_LAST_FENCED,
PCMK_XE_LAST_UPDATE, PCMK_XE_LIST, PCMK_XE_LONGDESC, PCMK_XE_METADATA,
PCMK_XE_META_ATTRIBUTES, PCMK_XE_MODIFICATIONS, PCMK_XE_MODIFY_NODE,
PCMK_XE_MODIFY_TICKET, PCMK_XE_NETWORK, PCMK_XE_NODE, PCMK_XE_NODES,
PCMK_XE_NODES_CONFIGURED, PCMK_XE_NODE_ACTION, PCMK_XE_NODE_ATTRIBUTES,
PCMK_XE_NODE_HISTORY, PCMK_XE_NODE_INFO, PCMK_XE_NODE_WEIGHT,
PCMK_XE_NVPAIR, PCMK_XE_OBJ_REF, PCMK_XE_OP, PCMK_XE_OPERATION,
PCMK_XE_OPERATIONS, PCMK_XE_OPERATION_HISTORY, PCMK_XE_OPTION,
PCMK_XE_OP_DEFAULTS, PCMK_XE_OUTPUT, PCMK_XE_OVERRIDE, PCMK_XE_OVERRIDES,
PCMK_XE_PACEMAKERD, PCMK_XE_PACEMAKER_RESULT, PCMK_XE_PARAMETER,
PCMK_XE_PARAMETERS, PCMK_XE_PODMAN, PCMK_XE_PORT_MAPPING,
PCMK_XE_POSITION, PCMK_XE_PRIMITIVE, PCMK_XE_PROMOTION_SCORE,
PCMK_XE_PROVIDER, PCMK_XE_PROVIDERS, PCMK_XE_PSEUDO_ACTION,
PCMK_XE_REASON, PCMK_XE_RECIPIENT, PCMK_XE_REPLICA, PCMK_XE_RESOURCE,
PCMK_XE_RESOURCES, PCMK_XE_RESOURCES_CONFIGURED, PCMK_XE_RESOURCE_AGENT,
PCMK_XE_RESOURCE_AGENT_ACTION, PCMK_XE_RESOURCE_CONFIG,
PCMK_XE_RESOURCE_HISTORY, PCMK_XE_RESOURCE_REF, PCMK_XE_RESOURCE_SET,
PCMK_XE_RESULT_CODE, PCMK_XE_REVISED_CLUSTER_STATUS,
PCMK_XE_ROLE, PCMK_XE_RSC_ACTION, PCMK_XE_RSC_COLOCATION,
PCMK_XE_RSC_DEFAULTS, PCMK_XE_RSC_LOCATION, PCMK_XE_RSC_ORDER,
PCMK_XE_RSC_TICKET, PCMK_XE_RULE, PCMK_XE_RULE_CHECK, PCMK_XE_SELECT,
PCMK_XE_SELECT_ATTRIBUTES, PCMK_XE_SELECT_FENCING, PCMK_XE_SELECT_NODES,
PCMK_XE_SELECT_RESOURCES, PCMK_XE_SHADOW, PCMK_XE_SHORTDESC,
PCMK_XE_SOURCE, PCMK_XE_SPECIAL, PCMK_XE_STACK, PCMK_XE_STATUS,
PCMK_XE_STORAGE, PCMK_XE_STORAGE_MAPPING, PCMK_XE_SUMMARY, PCMK_XE_TAG,
PCMK_XE_TAGS, PCMK_XE_TARGET, PCMK_XE_TEMPLATE, PCMK_XE_TICKET,
PCMK_XE_TICKETS, PCMK_XE_TIMING, PCMK_XE_TIMINGS, PCMK_XE_TRANSITION,
PCMK_XE_UTILIZATION, PCMK_XE_UTILIZATIONS, PCMK_XE_VALIDATE,
PCMK_XE_VERSION, PCMK_XE_XML, and PCMK_XE_XML_PATCHSET
+ libcrmcommon: add functions pcmk_action_text(), pcmk_find_node(),
pcmk_foreach_active_resource(), pcmk_get_dc(), pcmk_parse_interval_spec(),
pcmk_get_no_quorum_policy(), pcmk_has_quorum(),
pcmk_node_is_clean(), pcmk_update_configured_schema(),
pcmk_node_is_in_maintenance(), pcmk_node_is_online(),
pcmk_node_is_pending(), pcmk_node_is_shutting_down(), pcmk_on_fail_text(),
pcmk_parse_action(), pcmk_parse_role(), pcmk_resource_id(),
pcmk_resource_is_managed(), pcmk_role_text(), and pcmk_set_scheduler_cib()
+ libcrmcommon: add type pcmk_rule_input_t
+ libcrmcommon: deprecate globals crm_log_level, crm_trace_nonlog,
was_processing_error, and was_processing_warning
+ libcrmcommon: deprecate functions add_message_xml(), add_node_copy(),
can_prune_leaf(), cli_config_update(), copy_in_properties(), copy_xml(),
create_hello_message(), pcmk_parse_action(), create_reply(),
create_reply_adv(), create_request(), create_request_adv(),
create_xml_node(), crm_map_element_name(), crm_next_same_xml(),
crm_parse_interval_spec(), crm_xml_escape(), diff_xml_object(),
dump_xml_formatted(), dump_xml_formatted_with_text(),
dump_xml_unformatted(), expand_plus_plus(), filename2xml(),
find_xml_children(), find_xml_node(), first_named_child(),
fix_plus_plus_recursive(), get_message_xml(), get_schema_name(),
get_schema_version(), get_xpath_object_relative(), ID(),
pcmk_action_text(), pcmk_create_html_node(), pcmk_create_xml_text_node(),
pcmk_hostname(), pcmk_on_fail_text(), purge_diff_markers(),
replace_xml_child(), stdin2xml(), string2xml(), subtract_xml_object(),
update_validation(), update_xml_child(), validate_xml(),
validate_xml_verbose(), write_xml_fd(), write_xml_file(),
xml_latest_schema(), and xml_remove_prop()
+ libcrmcommon: deprecate constants CIB_OPTIONS_FIRST, CRM_INFINITY_S,
CRM_MINUS_INFINITY_S, CRM_OP_LOCAL_SHUTDOWN, CRM_PLUS_INFINITY_S,
CRM_SCORE_INFINITY, F_CLIENTNAME, F_CRM_DATA, F_CRM_DC_LEAVING,
F_CRM_ELECTION_AGE_S, F_CRM_ELECTION_AGE_US, F_CRM_ELECTION_ID,
F_CRM_ELECTION_OWNER, F_CRM_HOST_FROM, F_CRM_HOST_TO, F_CRM_JOIN_ID,
F_CRM_MSG_TYPE, F_CRM_ORIGIN, F_CRM_REFERENCE, F_CRM_SYS_FROM,
F_CRM_SYS_TO, F_CRM_TASK, F_CRM_TGRAPH, F_CRM_TGRAPH_INPUT,
F_CRM_THROTTLE_MAX, F_CRM_THROTTLE_MODE, F_CRM_USER, F_CRM_VERSION,
F_ORIG, F_SEQ, F_SUBTYPE, F_TYPE, F_XML_TAGNAME, INFINITY, INFINITY_S,
MINUS_INFINITY_S, OFFLINESTATUS, ONLINESTATUS,
PCMK_XA_PROMOTED_MAX_LEGACY, PCMK_XA_PROMOTED_NODE_MAX_LEGACY,
PCMK_XA_TARGET_PATTERN, PCMK_XA_UNAME, PCMK_XE_PROMOTABLE_LEGACY,
SUPPORT_UPSTART, T_ATTRD, T_CRM, XML_ACL_ATTR_ATTRIBUTE,
XML_ACL_ATTR_KIND, XML_ACL_ATTR_REF, XML_ACL_ATTR_REFv1, XML_ACL_ATTR_TAG,
XML_ACL_ATTR_TAGv1, XML_ACL_ATTR_XPATH, XML_ACL_TAG_DENY,
XML_ACL_TAG_GROUP, XML_ACL_TAG_PERMISSION, XML_ACL_TAG_READ,
XML_ACL_TAG_ROLE, XML_ACL_TAG_ROLE_REF, XML_ACL_TAG_ROLE_REFv1,
XML_ACL_TAG_USER, XML_ACL_TAG_USERv1, XML_ACL_TAG_WRITE,
XML_AGENT_ATTR_CLASS, XML_AGENT_ATTR_PROVIDER, XML_ALERT_ATTR_PATH,
XML_ALERT_ATTR_REC_VALUE, XML_ALERT_ATTR_TIMEOUT,
XML_ALERT_ATTR_TSTAMP_FORMAT, XML_ATTR_CRM_VERSION, XML_ATTR_DC_UUID,
XML_ATTR_DESC, XML_ATTR_DIGEST, XML_ATTR_GENERATION,
XML_ATTR_GENERATION_ADMIN, XML_ATTR_HAVE_QUORUM, XML_ATTR_HAVE_WATCHDOG,
XML_ATTR_ID, XML_ATTR_IDREF, XML_ATTR_ID_LONG, XML_ATTR_NAME,
XML_ATTR_NUMUPDATES, XML_ATTR_OP, XML_ATTR_ORIGIN, XML_ATTR_QUORUM_PANIC,
XML_ATTR_REFERENCE, XML_ATTR_REQUEST, XML_ATTR_RESPONSE,
XML_ATTR_STONITH_DEVICES, XML_ATTR_STONITH_INDEX, XML_ATTR_STONITH_TARGET,
XML_ATTR_STONITH_TARGET_ATTRIBUTE, XML_ATTR_STONITH_TARGET_VALUE,
XML_ATTR_TE_NOWAIT, XML_ATTR_TE_TARGET_RC, XML_ATTR_TIMEOUT,
XML_ATTR_TRANSITION_KEY, XML_ATTR_TRANSITION_MAGIC, XML_ATTR_TSTAMP,
XML_ATTR_TYPE, XML_ATTR_UPDATE_CLIENT, XML_ATTR_UPDATE_ORIGIN,
XML_ATTR_UPDATE_USER, XML_ATTR_VALIDATION, XML_ATTR_VERSION,
XML_BOOLEAN_FALSE, XML_BOOLEAN_NO, XML_BOOLEAN_TRUE, XML_BOOLEAN_YES,
XML_CIB_ATTR_PRIORITY, XML_CIB_ATTR_SHUTDOWN, XML_CIB_ATTR_WRITTEN,
XML_CIB_TAG_ACLS, XML_CIB_TAG_ALERT, XML_CIB_TAG_ALERTS,
XML_CIB_TAG_ALERT_ATTR, XML_CIB_TAG_ALERT_ATTRIBUTES,
XML_CIB_TAG_ALERT_FENCING, XML_CIB_TAG_ALERT_NODES,
XML_CIB_TAG_ALERT_RECIPIENT, XML_CIB_TAG_ALERT_RESOURCES,
XML_CIB_TAG_ALERT_SELECT, XML_CIB_TAG_CONFIGURATION,
XML_CIB_TAG_CONSTRAINTS, XML_CIB_TAG_CONTAINER, XML_CIB_TAG_CRMCONFIG,
XML_CIB_TAG_GENERATION_TUPPLE, XML_CIB_TAG_GROUP, XML_CIB_TAG_INCARNATION,
XML_CIB_TAG_LRM, XML_CIB_TAG_NODE, XML_CIB_TAG_NODES, XML_CIB_TAG_NVPAIR,
XML_CIB_TAG_OBJ_REF, XML_CIB_TAG_OPCONFIG, XML_CIB_TAG_PROPSET,
XML_CIB_TAG_RESOURCE, XML_CIB_TAG_RESOURCES, XML_CIB_TAG_RSCCONFIG,
XML_CIB_TAG_RSC_TEMPLATE, XML_CIB_TAG_SECTION_ALL, XML_CIB_TAG_STATE,
XML_CIB_TAG_STATUS, XML_CIB_TAG_TAG, XML_CIB_TAG_TAGS,
XML_CIB_TAG_TICKETS, XML_CIB_TAG_TICKET_STATE, XML_COLOC_ATTR_INFLUENCE,
XML_COLOC_ATTR_NODE_ATTR, XML_COLOC_ATTR_SOURCE,
XML_COLOC_ATTR_SOURCE_INSTANCE, XML_COLOC_ATTR_SOURCE_ROLE,
XML_COLOC_ATTR_TARGET, XML_COLOC_ATTR_TARGET_INSTANCE,
XML_COLOC_ATTR_TARGET_ROLE, XML_CONFIG_ATTR_DC_DEADTIME,
XML_CONFIG_ATTR_ELECTION_FAIL, XML_CONFIG_ATTR_FENCE_REACTION,
XML_CONFIG_ATTR_FORCE_QUIT, XML_CONFIG_ATTR_NODE_PENDING_TIMEOUT,
XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY, XML_CONFIG_ATTR_RECHECK,
XML_CONFIG_ATTR_SHUTDOWN_LOCK, XML_CONFIG_ATTR_SHUTDOWN_LOCK_LIMIT,
XML_CONS_ATTR_SYMMETRICAL, XML_CONS_TAG_RSC_DEPEND,
XML_CONS_TAG_RSC_LOCATION, XML_CONS_TAG_RSC_ORDER, XML_CONS_TAG_RSC_SET,
XML_CONS_TAG_RSC_TICKET, XML_CRM_TAG_PING, XML_DIFF_ATTR, XML_DIFF_CHANGE,
XML_DIFF_LIST, XML_DIFF_MARKER, XML_DIFF_OP, XML_DIFF_PATH,
XML_DIFF_POSITION, XML_DIFF_RESULT, XML_DIFF_VERSION, XML_DIFF_VSOURCE,
XML_DIFF_VTARGET, XML_EXPR_ATTR_ATTRIBUTE, XML_EXPR_ATTR_OPERATION,
XML_EXPR_ATTR_TYPE, XML_EXPR_ATTR_VALUE, XML_EXPR_ATTR_VALUE_SOURCE,
XML_FAILCIB_ATTR_ID, XML_FAILCIB_ATTR_OBJTYPE, XML_FAILCIB_ATTR_OP,
XML_FAILCIB_ATTR_REASON, XML_FAIL_TAG_CIB, XML_GRAPH_TAG_CRM_EVENT,
XML_GRAPH_TAG_DOWNED, XML_GRAPH_TAG_MAINTENANCE,
XML_GRAPH_TAG_PSEUDO_EVENT, XML_GRAPH_TAG_RSC_OP,
XML_LOCATION_ATTR_DISCOVERY, XML_LOC_ATTR_SOURCE,
XML_LOC_ATTR_SOURCE_PATTERN, XML_LRM_ATTR_CALLID,
XML_LRM_ATTR_EXIT_REASON, XML_LRM_ATTR_INTERVAL, XML_LRM_ATTR_INTERVAL_MS,
XML_LRM_ATTR_MIGRATE_SOURCE, XML_LRM_ATTR_MIGRATE_TARGET,
XML_LRM_ATTR_OPSTATUS, XML_LRM_ATTR_OP_DIGEST, XML_LRM_ATTR_OP_RESTART,
XML_LRM_ATTR_OP_SECURE, XML_LRM_ATTR_RC, XML_LRM_ATTR_RESTART_DIGEST,
XML_LRM_ATTR_ROUTER_NODE, XML_LRM_ATTR_RSCID, XML_LRM_ATTR_SECURE_DIGEST,
XML_LRM_ATTR_TARGET, XML_LRM_ATTR_TARGET_UUID, XML_LRM_ATTR_TASK,
XML_LRM_ATTR_TASK_KEY, XML_LRM_TAG_RESOURCE, XML_LRM_TAG_RESOURCES,
XML_LRM_TAG_RSC_OP, XML_NODE_ATTR_RSC_DISCOVERY, XML_NODE_IS_FENCED,
XML_NODE_IS_MAINTENANCE, XML_NODE_IS_REMOTE, XML_NVPAIR_ATTR_NAME,
XML_NVPAIR_ATTR_VALUE, XML_OP_ATTR_ALLOW_MIGRATE, XML_OP_ATTR_DIGESTS_ALL,
XML_OP_ATTR_DIGESTS_SECURE, XML_OP_ATTR_INTERVAL_ORIGIN,
XML_OP_ATTR_ON_FAIL, XML_OP_ATTR_PENDING, XML_OP_ATTR_START_DELAY,
XML_ORDER_ATTR_FIRST, XML_ORDER_ATTR_FIRST_ACTION, XML_ORDER_ATTR_KIND,
XML_ORDER_ATTR_THEN, XML_ORDER_ATTR_THEN_ACTION, XML_PING_ATTR_CRMDSTATE,
XML_PING_ATTR_PACEMAKERDSTATE, XML_PING_ATTR_PACEMAKERDSTATE_INIT,
XML_PING_ATTR_PACEMAKERDSTATE_REMOTE,
XML_PING_ATTR_PACEMAKERDSTATE_RUNNING,
XML_PING_ATTR_PACEMAKERDSTATE_SHUTDOWNCOMPLETE,
XML_PING_ATTR_PACEMAKERDSTATE_SHUTTINGDOWN,
XML_PING_ATTR_PACEMAKERDSTATE_STARTINGDAEMONS,
XML_PING_ATTR_PACEMAKERDSTATE_WAITPING, XML_PING_ATTR_STATUS,
XML_PING_ATTR_SYSFROM, XML_REMOTE_ATTR_RECONNECT_INTERVAL,
XML_RSC_ATTR_CLEAR_INTERVAL, XML_RSC_ATTR_CLEAR_OP,
XML_RSC_ATTR_CONTAINER, XML_RSC_ATTR_CRITICAL, XML_RSC_ATTR_INCARNATION,
XML_RSC_ATTR_INTERLEAVE, XML_RSC_ATTR_INTERNAL_RSC,
XML_RSC_ATTR_MAINTENANCE, XML_RSC_ATTR_MANAGED, XML_RSC_ATTR_MULTIPLE,
XML_RSC_ATTR_NOTIFY, XML_RSC_ATTR_ORDERED, XML_RSC_ATTR_PROMOTABLE,
XML_RSC_ATTR_REMOTE_NODE, XML_RSC_ATTR_REMOTE_RA_ADDR,
XML_RSC_ATTR_REMOTE_RA_PORT, XML_RSC_ATTR_REMOTE_RA_SERVER,
XML_RSC_ATTR_REQUIRES, XML_RSC_ATTR_RESTART, XML_RSC_ATTR_STICKINESS,
XML_RSC_ATTR_TARGET, XML_RSC_ATTR_TARGET_ROLE, XML_RSC_ATTR_UNIQUE,
XML_RSC_OP_LAST_CHANGE, XML_RSC_OP_T_EXEC, XML_RSC_OP_T_QUEUE,
XML_RULE_ATTR_BOOLEAN_OP, XML_RULE_ATTR_ROLE, XML_RULE_ATTR_SCORE,
XML_RULE_ATTR_SCORE_ATTRIBUTE, XML_TAG_ATTRS, XML_TAG_ATTR_SETS,
XML_TAG_CIB, XML_TAG_DIFF, XML_TAG_EXPRESSION, XML_TAG_FAILED,
XML_TAG_FENCING_LEVEL, XML_TAG_FENCING_TOPOLOGY, XML_TAG_GRAPH,
XML_TAG_META_SETS, XML_TAG_OPTIONS, XML_TAG_PARAM, XML_TAG_PARAMS,
XML_TAG_RESOURCE_REF, XML_TAG_RULE, XML_TAG_TRANSIENT_NODEATTRS,
XML_TAG_UTILIZATION, XML_TICKET_ATTR_LOSS_POLICY, and
XML_TICKET_ATTR_TICKET
+ libcrmcommon: deprecate direct access to all members of pcmk_scheduler_t,
pcmk_tag_t, and pcmk_ticket_t
+ libcrmcommon: deprecate pcmk_rsc_methods_t, pcmk_assignment_methods_t,
struct pe_action_s, struct pe_resource_s, struct resource_alloc_functions_s,
struct resource_object_functions_s, struct pe_node_s, and
struct pe_node_shared_s, including all their members
+ libcrmcommon: deprecate enums action_fail_response, action_tasks,
expression_type, node_type, pcmk_rsc_flags, pcmk_scheduler_flags,
pe_action_flags, pe_discover_e, pe_obj_types, rsc_recovery_type, and
rsc_start_requirement, including all their values
+ liblrmd: deprecate constants F_LRMD_ALERT, F_LRMD_ALERT_ID,
F_LRMD_ALERT_PATH, F_LRMD_CALLBACK_TOKEN, F_LRMD_CALLDATA, F_LRMD_CALLID,
F_LRMD_CALLOPTS, F_LRMD_CLASS, F_LRMD_CLIENTID, F_LRMD_CLIENTNAME,
F_LRMD_EXEC_RC, F_LRMD_IPC_CLIENT, F_LRMD_IPC_IPC_SERVER, F_LRMD_IPC_MSG,
F_LRMD_IPC_MSG_FLAGS, F_LRMD_IPC_MSG_ID, F_LRMD_IPC_OP, F_LRMD_IPC_USER,
F_LRMD_IS_IPC_PROVIDER, F_LRMD_OPERATION, F_LRMD_OP_STATUS, F_LRMD_ORIGIN,
F_LRMD_PROTOCOL_VERSION, F_LRMD_PROVIDER, F_LRMD_RC, F_LRMD_REMOTE_MSG_ID,
F_LRMD_REMOTE_MSG_TYPE, F_LRMD_RSC, F_LRMD_RSC_ACTION, F_LRMD_RSC_DELETED,
F_LRMD_RSC_EXEC_TIME, F_LRMD_RSC_EXIT_REASON, F_LRMD_RSC_ID,
F_LRMD_RSC_INTERVAL, F_LRMD_RSC_OUTPUT, F_LRMD_RSC_QUEUE_TIME,
F_LRMD_RSC_RCCHANGE_TIME, F_LRMD_RSC_RUN_TIME, F_LRMD_RSC_START_DELAY,
F_LRMD_RSC_USERDATA_STR, F_LRMD_TIMEOUT, F_LRMD_TYPE, F_LRMD_WATCHDOG,
T_LRMD, T_LRMD_IPC_PROXY, T_LRMD_NOTIFY, T_LRMD_REPLY, and T_LRMD_RSC_OP
+ libpacemaker: distribute pacemaker.h header to allow high-level API usage
+ libpe_rules: deprecate functions find_expression_type(),
pe_evaluate_rules(), pe_eval_expr(), pe_eval_rules(), pe_eval_subexpr(),
pe_expand_re_matches(), pe_test_expression(), and pe_test_rule()
+ libpe_rules,libpe_status: move enum expression_type and globals
was_processing_error and was_processing_warning to libcrmcommon
+ libpe_rules,libpe_status: deprecate role member of pe_op_eval_data
+ libpe_rules,libpe_status: deprecate functions text2task(), fail2text(),
recovery2text(), role2text(), task2text(), and text2role()
+ libpe_status: deprecate functions pe_find_node(), pe_pref(),
pe_rsc_is_anon_clone(), pe_rsc_is_bundled(), pe_rsc_is_clone(),
and pe_rsc_is_unique_clone()
+ libpe_status: deprecate global resource_class_functions
+ libstonithd: deprecate constants T_STONITH_NOTIFY_DISCONNECT,
T_STONITH_NOTIFY_FENCE, T_STONITH_NOTIFY_HISTORY, and
T_STONITH_NOTIFY_HISTORY_SYNCED
* Tue Dec 19 2023 Ken Gaillot <[email protected]> Pacemaker-2.1.7
- 1388 commits with 358 files changed, 23771 insertions(+), 17219 deletions(-)
- Features added since Pacemaker-2.1.6
+ build: allow building with libxml2 2.12.0 and greater
+ CIB: deprecate "ordering" attribute of "resource_set"
+ CIB: new cluster option "node-pending-timeout" (defaulting to 0, meaning
no timeout, to preserve existing behavior) allows fencing of nodes that do
not join Pacemaker's controller group within this much time after joining
the cluster
+ controller: PCMK_node_start_state now works with Pacemaker Remote nodes
+ tools: crm_verify now supports --quiet option (currently same as default
behavior, but in the future, verbose behavior might become the default,
so script writers are recommended to explicitly add --quiet if they do not
want output)
+ tools: crm_node supports standard --output-as/--output-to arguments
+ tests: CTSlab.py was renamed to cts-lab
- Fixes since Pacemaker-2.1.6
+ logging: restore ability to enable XML trace logs by file and function
(regression introduced in 2.1.6)
+ scheduler: avoid double free with disabled recurring actions
(regression introduced in 2.1.5)
+ tools: consider dampening argument when setting values with attrd_updater
(regression introduced in 2.1.5)
+ tools: wait for reply from crm_node -R (regression introduced in 2.0.5)
+ agents: handle dampening parameter consistently and correctly
+ CIB: be more strict about ignoring colocation elements without an ID
+ controller: do not check whether watchdog fencing is enabled
if "stonith-watchdog-timeout" is not configured
+ controller: don't try to execute agent action at shutdown
+ controller: avoid race condition when updating node state during join
+ controller: correctly determine state of a fenced node without a name
+ controller: wait a second between fencer connection attempts
+ libpacemaker: avoid shuffling clone instances unnecessarily
+ libpacemaker: get bundle container's promotion score from correct node
+ libpacemaker: role-based colocations now work with bundles
+ libpacemaker: clone-node-max now works with cloned groups
+ scheduler: compare anti-colocation dependent negative preferences against
stickiness
+ scheduler: consider explicit colocations with group members
+ scheduler: avoid fencing a pending node without a name
+ scheduler: properly evaluate rules in action meta-attributes
+ scheduler: properly sort rule-based blocks when overwriting values
+ tools: crm_resource --wait will now wait if any actions are pending
(previously it would wait only if new actions were planned)
+ tools: crm_verify --output-as=xml now includes detailed messages
+ tools: avoid showing pending nodes as having "<3.15.1" feature set in
crm_mon
+ tools: fix display of clone descriptions
+ tools: crm_resource now reports an error rather than timing out when
trying to restart an unmanaged resource
+ tools: crm_resource now properly detects which promoted role name to use
in ban and move constraints
- Public API changes since Pacemaker-2.1.6 (all API/ABI backward-compatible)
+ libcib: cib_t now supports transactions via new cib_api_operations_t
methods, new cib_transaction value in enum cib_call_options, and new
cib_t transaction and user members
+ libcib: cib_t now supports setting the ACL user for methods via new
cib_api_operations_t set_user() method
+ libcib: deprecate cib_api_operations_t methods inputfd(), noop(), quit(),
set_op_callback(), and signon_raw()
+ libcib: deprecate cib_call_options values cib_mixed_update,
cib_scope_local, and cib_zero_copy
+ libcib: deprecate cib_t op_callback member
+ libcrmcluster: deprecate set_uuid()
+ libcrmcluster: send_cluster_message()'s data argument is const
+ libcrmcommon: add enum pcmk_rc_e values pcmk_rc_compression,
pcmk_rc_ns_resolution, and pcmk_rc_no_transaction
+ libcrmcommon,libpe_rules,libpe_status: many APIs have been moved from
libpe_rules and libpe_status to libcrmcommon, sometimes with new names
(deprecating the old ones), as described below
+ libcrmcommon: add (and deprecate) PCMK_DEFAULT_METADATA_TIMEOUT_MS defined
constant
+ libcrmcommon: add enum pcmk_rsc_flags
+ libcrmcommon: add enum pcmk_scheduler_flags
+ libcrmcommon: add pcmk_action_added_to_graph
+ libcrmcommon: add pcmk_action_always_in_graph
+ libcrmcommon: add pcmk_action_attrs_evaluated
+ libcrmcommon: add PCMK_ACTION_CANCEL string constant
+ libcrmcommon: add PCMK_ACTION_CLEAR_FAILCOUNT string constant
+ libcrmcommon: add PCMK_ACTION_CLONE_ONE_OR_MORE string constant
+ libcrmcommon: add PCMK_ACTION_DELETE string constant
+ libcrmcommon: add PCMK_ACTION_DEMOTE string constant
+ libcrmcommon: add pcmk_action_demote to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_DEMOTED string constant
+ libcrmcommon: add pcmk_action_demoted to enum action_tasks
+ libcrmcommon: add pcmk_action_detect_loop
+ libcrmcommon: add PCMK_ACTION_DO_SHUTDOWN string constant
+ libcrmcommon: add pcmk_action_fence to enum action_tasks
+ libcrmcommon: add pcmk_action_inputs_deduplicated
+ libcrmcommon: add PCMK_ACTION_LIST string constant
+ libcrmcommon: add PCMK_ACTION_LOAD_STOPPED string constant
+ libcrmcommon: add PCMK_ACTION_LRM_DELETE string constant
+ libcrmcommon: add PCMK_ACTION_MAINTENANCE_NODES string constant
+ libcrmcommon: add PCMK_ACTION_META_DATA string constant
+ libcrmcommon: add pcmk_action_migratable
+ libcrmcommon: add PCMK_ACTION_MIGRATE_FROM string constant
+ libcrmcommon: add PCMK_ACTION_MIGRATE_TO string constant
+ libcrmcommon: add pcmk_action_migration_abort
+ libcrmcommon: add pcmk_action_min_runnable
+ libcrmcommon: add PCMK_ACTION_MONITOR string constant
+ libcrmcommon: add pcmk_action_monitor to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_NOTIFIED string constant
+ libcrmcommon: add pcmk_action_notified to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_NOTIFY string constant
+ libcrmcommon: add pcmk_action_notify to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_OFF string constant
+ libcrmcommon: add PCMK_ACTION_ON string constant
+ libcrmcommon: add PCMK_ACTION_ONE_OR_MORE string constant
+ libcrmcommon: add pcmk_action_on_dc
+ libcrmcommon: add pcmk_action_optional
+ libcrmcommon: add PCMK_ACTION_PROMOTE string constant
+ libcrmcommon: add pcmk_action_promote to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_PROMOTED string constant
+ libcrmcommon: add pcmk_action_promoted to enum action_tasks
+ libcrmcommon: add pcmk_action_pseudo
+ libcrmcommon: add PCMK_ACTION_REBOOT string constant
+ libcrmcommon: add PCMK_ACTION_RELOAD string constant
+ libcrmcommon: add PCMK_ACTION_RELOAD_AGENT string constant
+ libcrmcommon: add pcmk_action_reschedule
+ libcrmcommon: add pcmk_action_runnable
+ libcrmcommon: add PCMK_ACTION_RUNNING string constant
+ libcrmcommon: add pcmk_action_shutdown to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_START string constant
+ libcrmcommon: add pcmk_action_start to enum action_tasks
+ libcrmcommon: add pcmk_action_started to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_STATUS string constant
+ libcrmcommon: add PCMK_ACTION_STONITH string constant
+ libcrmcommon: add PCMK_ACTION_STOP string constant
+ libcrmcommon: add pcmk_action_stop to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_STOPPED string constant
+ libcrmcommon: add pcmk_action_stopped to enum action_tasks
+ libcrmcommon: add pcmk_action_t type
+ libcrmcommon: add pcmk_action_unspecified to enum action_tasks
+ libcrmcommon: add PCMK_ACTION_VALIDATE_ALL string constant
+ libcrmcommon: add pcmk_assignment_methods_t type
+ libcrmcommon: add PCMK_DEFAULT_ACTION_TIMEOUT_MS defined constant
+ libcrmcommon: add pcmk_log_xml_as()
+ libcrmcommon: add PCMK_META_CLONE_MAX string constant
+ libcrmcommon: add PCMK_META_CLONE_MIN string constant
+ libcrmcommon: add PCMK_META_CLONE_NODE_MAX string constant
+ libcrmcommon: add PCMK_META_FAILURE_TIMEOUT string constant
+ libcrmcommon: add PCMK_META_MIGRATION_THRESHOLD string constant
+ libcrmcommon: add PCMK_META_PROMOTED_MAX string constant
+ libcrmcommon: add PCMK_META_PROMOTED_NODE_MAX string constant
+ libcrmcommon: add pcmk_multiply_active_block to enum rsc_recovery_type
+ libcrmcommon: add pcmk_multiply_active_restart to enum rsc_recovery_type
+ libcrmcommon: add pcmk_multiply_active_stop to enum rsc_recovery_type
+ libcrmcommon: add pcmk_multiply_active_unexpected to enum rsc_recovery_type
+ libcrmcommon: add PCMK_NODE_ATTR_TERMINATE string constant
+ libcrmcommon: add pcmk_node_t type
+ libcrmcommon: add pcmk_node_variant_cluster
+ libcrmcommon: add pcmk_node_variant_remote
+ libcrmcommon: add pcmk_no_action_flags
+ libcrmcommon: add pcmk_no_quorum_demote
+ libcrmcommon: add pcmk_no_quorum_fence
+ libcrmcommon: add pcmk_no_quorum_freeze
+ libcrmcommon: add pcmk_no_quorum_ignore
+ libcrmcommon: add pcmk_no_quorum_stop
+ libcrmcommon: add pcmk_on_fail_ban to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_block to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_demote to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_fence_node to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_ignore to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_reset_remote to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_restart to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_restart_container to enum action_fail_response
+ libcrmcommon: add pcmk_on_fail_standby_node to action_fail_response
+ libcrmcommon: add pcmk_on_fail_stop to enum action_fail_response
+ libcrmcommon: add pcmk_probe_always to enum pe_discover_e
+ libcrmcommon: add pcmk_probe_exclusive to enum pe_discover_e
+ libcrmcommon: add pcmk_probe_never to enum pe_discover_e
+ libcrmcommon: add pcmk_requires_fencing to enum rsc_start_requirement
+ libcrmcommon: add pcmk_requires_nothing to enum rsc_start_requirement
+ libcrmcommon: add pcmk_requires_quorum to enum rsc_start_requirement
+ libcrmcommon: add pcmk_resource_t type
+ libcrmcommon: add pcmk_role_promoted to enum rsc_role_e
+ libcrmcommon: add pcmk_role_started to enum rsc_role_e
+ libcrmcommon: add pcmk_role_stopped to enum rsc_role_e
+ libcrmcommon: add pcmk_role_unknown to enum rsc_role_e
+ libcrmcommon: add pcmk_role_unpromoted to enum rsc_role_e
+ libcrmcommon: add pcmk_rsc_match_anon_basename
+ libcrmcommon: add pcmk_rsc_match_basename
+ libcrmcommon: add pcmk_rsc_match_clone_only
+ libcrmcommon: add pcmk_rsc_match_current_node
+ libcrmcommon: add pcmk_rsc_match_history
+ libcrmcommon: add pcmk_rsc_methods_t type
+ libcrmcommon: add pcmk_rsc_variant_bundle
+ libcrmcommon: add pcmk_rsc_variant_clone
+ libcrmcommon: add pcmk_rsc_variant_group
+ libcrmcommon: add pcmk_rsc_variant_primitive
+ libcrmcommon: add pcmk_rsc_variant_unknown
+ libcrmcommon: add pcmk_scheduler_t type
+ libcrmcommon: add pcmk_tag_t type
+ libcrmcommon: add pcmk_ticket_t type
+ libcrmcommon: add PCMK_XA_FORMAT string constant
+ libcrmcommon: crm_ipc_send()'s message argument is now const
+ libcrmcommon: deprecate action_demote in enum action_tasks
+ libcrmcommon: deprecate action_demoted in enum action_tasks
+ libcrmcommon: deprecate action_fail_block in enum action_fail_response
+ libcrmcommon: deprecate action_fail_demote in enum action_fail_response
+ libcrmcommon: deprecate action_fail_fence in enum action_fail_response
+ libcrmcommon: deprecate action_fail_ignore in enum action_fail_response
+ libcrmcommon: deprecate action_fail_migrate in enum action_fail_response
+ libcrmcommon: deprecate action_fail_recover in enum action_fail_response
+ libcrmcommon: deprecate action_fail_reset_remote in enum action_fail_response
+ libcrmcommon: deprecate action_fail_standby in enum action_fail_response
+ libcrmcommon: deprecate action_fail_stop in action_fail_response
+ libcrmcommon: deprecate action_notified in enum action_tasks
+ libcrmcommon: deprecate action_notify in enum action_tasks
+ libcrmcommon: deprecate action_promote in enum action_tasks
+ libcrmcommon: deprecate action_promoted in enum action_tasks
+ libcrmcommon: deprecate action_restart_container in enum action_fail_response
+ libcrmcommon: deprecate CRMD_ACTION_CANCEL string constant
+ libcrmcommon: deprecate CRMD_ACTION_DELETE string constant
+ libcrmcommon: deprecate CRMD_ACTION_DEMOTE string constant
+ libcrmcommon: deprecate CRMD_ACTION_DEMOTED string constant
+ libcrmcommon: deprecate CRMD_ACTION_METADATA string constant
+ libcrmcommon: deprecate CRMD_ACTION_MIGRATE string constant
+ libcrmcommon: deprecate CRMD_ACTION_MIGRATED string constant
+ libcrmcommon: deprecate CRMD_ACTION_NOTIFIED string constant
+ libcrmcommon: deprecate CRMD_ACTION_NOTIFY string constant
+ libcrmcommon: deprecate CRMD_ACTION_PROMOTE string constant
+ libcrmcommon: deprecate CRMD_ACTION_PROMOTED string constant
+ libcrmcommon: deprecate CRMD_ACTION_RELOAD string constant
+ libcrmcommon: deprecate CRMD_ACTION_RELOAD_AGENT string constant
+ libcrmcommon: deprecate CRMD_ACTION_START string constant
+ libcrmcommon: deprecate CRMD_ACTION_STARTED string constant
+ libcrmcommon: deprecate CRMD_ACTION_STATUS string constant
+ libcrmcommon: deprecate CRMD_ACTION_STOP string constant
+ libcrmcommon: deprecate CRMD_ACTION_STOPPED string constant
+ libcrmcommon: deprecate CRMD_METADATA_CALL_TIMEOUT defined constant
+ libcrmcommon: deprecate crm_action_str()
+ libcrmcommon: deprecate CRM_DEFAULT_OP_TIMEOUT_S string constant
+ libcrmcommon: deprecate crm_element_name()
+ libcrmcommon: deprecate CRM_OP_FENCE string constant
+ libcrmcommon: deprecate CRM_OP_RELAXED_CLONE string constant
+ libcrmcommon: deprecate CRM_OP_RELAXED_SET string constant
+ libcrmcommon: deprecate crm_xml_replace()
+ libcrmcommon: deprecate enum pe_link_state
+ libcrmcommon: deprecate getDocPtr()
+ libcrmcommon: deprecate monitor_rsc in enum action_tasks
+ libcrmcommon: deprecate node_member
+ libcrmcommon: deprecate node_remote
+ libcrmcommon: deprecate no_action in enum action_tasks
+ libcrmcommon: deprecate no_quorum_demote
+ libcrmcommon: deprecate no_quorum_freeze
+ libcrmcommon: deprecate no_quorum_ignore
+ libcrmcommon: deprecate no_quorum_stop
+ libcrmcommon: deprecate no_quorum_suicide
+ libcrmcommon: deprecate pcmk_log_xml_impl()
+ libcrmcommon: deprecate pcmk_scheduler_t localhost member
+ libcrmcommon: deprecate pe_action_dangle
+ libcrmcommon: deprecate pe_action_dc
+ libcrmcommon: deprecate pe_action_dedup
+ libcrmcommon: deprecate pe_action_dumped
+ libcrmcommon: deprecate pe_action_have_node_attrs
+ libcrmcommon: deprecate pe_action_implied_by_stonith
+ libcrmcommon: deprecate pe_action_migrate_runnable
+ libcrmcommon: deprecate pe_action_optional
+ libcrmcommon: deprecate pe_action_print_always
+ libcrmcommon: deprecate pe_action_processed
+ libcrmcommon: deprecate pe_action_pseudo
+ libcrmcommon: deprecate pe_action_requires_any
+ libcrmcommon: deprecate pe_action_reschedule
+ libcrmcommon: deprecate pe_action_runnable
+ libcrmcommon: deprecate pe_action_tracking
+ libcrmcommon: deprecate pe_clone
+ libcrmcommon: deprecate pe_container
+ libcrmcommon: deprecate pe_discover_always in enum pe_discover_e
+ libcrmcommon: deprecate pe_discover_exclusive in enum pe_discover_e
+ libcrmcommon: deprecate pe_discover_never in enum pe_discover_e
+ libcrmcommon: deprecate pe_find_anon
+ libcrmcommon: deprecate pe_find_any
+ libcrmcommon: deprecate pe_find_clone
+ libcrmcommon: deprecate pe_find_current
+ libcrmcommon: deprecate pe_find_inactive
+ libcrmcommon: deprecate pe_find_renamed
+ libcrmcommon: deprecate pe_group
+ libcrmcommon: deprecate pe_native
+ libcrmcommon: deprecate pe_unknown
+ libcrmcommon: deprecate recovery_block in enum rsc_recovery_type
+ libcrmcommon: deprecate recovery_stop_only in enum rsc_recovery_type
+ libcrmcommon: deprecate recovery_stop_start in enum rsc_recovery_type
+ libcrmcommon: deprecate recovery_stop_unexpected in enum rsc_recovery_type
+ libcrmcommon: deprecate RSC_CANCEL string constant
+ libcrmcommon: deprecate RSC_DELETE string constant
+ libcrmcommon: deprecate RSC_DEMOTE string constant
+ libcrmcommon: deprecate RSC_DEMOTED string constant
+ libcrmcommon: deprecate RSC_METADATA string constant
+ libcrmcommon: deprecate RSC_MIGRATE string constant
+ libcrmcommon: deprecate RSC_MIGRATED string constant
+ libcrmcommon: deprecate RSC_NOTIFIED string constant
+ libcrmcommon: deprecate RSC_NOTIFY string constant
+ libcrmcommon: deprecate RSC_PROMOTE string constant
+ libcrmcommon: deprecate RSC_PROMOTED string constant
+ libcrmcommon: deprecate rsc_req_nothing in enum rsc_start_requirement
+ libcrmcommon: deprecate rsc_req_quorum in enum rsc_start_requirement
+ libcrmcommon: deprecate rsc_req_stonith in enum rsc_start_requirement
+ libcrmcommon: deprecate RSC_ROLE_PROMOTED in enum rsc_role_e
+ libcrmcommon: deprecate RSC_ROLE_STARTED in enum rsc_role_e
+ libcrmcommon: deprecate RSC_ROLE_STOPPED in enum rsc_role_e
+ libcrmcommon: deprecate RSC_ROLE_UNKNOWN in enum rsc_role_e
+ libcrmcommon: deprecate RSC_ROLE_UNPROMOTED
+ libcrmcommon: deprecate RSC_START string constant
+ libcrmcommon: deprecate RSC_STARTED string constant
+ libcrmcommon: deprecate RSC_STATUS string constant
+ libcrmcommon: deprecate RSC_STOP string constant
+ libcrmcommon: deprecate RSC_STOPPED string constant
+ libcrmcommon: deprecate shutdown_crm in enum action_tasks
+ libcrmcommon: deprecate started_rsc in enum action_tasks
+ libcrmcommon: deprecate start_rsc in enum action_tasks
+ libcrmcommon: deprecate stonith_node in enum action_tasks
+ libcrmcommon: deprecate stopped_rsc in enum action_tasks
+ libcrmcommon: deprecate stop_rsc in enum action_tasks
+ libcrmcommon: deprecate TYPE() macro
+ libcrmcommon: deprecate XML_ATTR_VERBOSE string constant
+ libcrmcommon: deprecate XML_CIB_ATTR_SOURCE string constant
+ libcrmcommon: deprecate XML_CIB_TAG_DOMAINS string constant
+ libcrmcommon: deprecate xml_has_children()
+ libcrmcommon: deprecate XML_NODE_EXPECTED string constant
+ libcrmcommon: deprecate XML_NODE_IN_CLUSTER string constant
+ libcrmcommon: deprecate XML_NODE_IS_PEER string constant
+ libcrmcommon: deprecate XML_NODE_JOIN_STATE string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_FAIL_STICKINESS string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_FAIL_TIMEOUT string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_MAX string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_MIN string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_NODEMAX string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_PROMOTED_MAX string constant
+ libcrmcommon: deprecate XML_RSC_ATTR_PROMOTED_NODEMAX string constant
+ libcrmcommon: deprecate XML_TAG_DIFF_ADDED string constant
+ libcrmcommon: deprecate XML_TAG_DIFF_REMOVED string constant
+ libcrmcommon: deprecate XML_TAG_FRAGMENT
+ libcrmcommon: dump_xml_formatted()'s argument is now const
+ libcrmcommon: dump_xml_formatted_with_text()'s argument is const
+ libcrmcommon: dump_xml_unformatted()'s argument is now const
+ libcrmcommon: save_xml_to_file()'s xml argument is now const
+ libcrmcommon: validate_xml_verbose()'s xml_blob argument is const
+ libcrmcommon: write_xml_fd()'s xml argument is now const
+ libcrmcommon: write_xml_file()'s xml argument is now const
+ libcrmcommon: xml_top argument of xpath_search() is now const
+ libcrmcommon,libpe_rules,libpe_status: move enum pe_ordering, struct
pe_action_wrapper_s, struct pe_tag_s, struct pe_ticket_s, struct
resource_object_functions_s, enum node_type, enum pe_action_flags, enum
pe_discover_e, enum pe_find, enum pe_link_state, enum pe_obj_types, enum
pe_quorum_policy, enum pe_restart, struct pe_action_s, struct pe_node_s,
struct pe_node_shared_s, struct pe_resource_s, struct pe_working_set_s,
enum action_fail_response, enum action_tasks, enum pe_print_options, enum
rsc_recovery_type, enum rsc_role_e, and enum rsc_start_requirement to
libcrmcommon
+ libpacemaker,libpe_rules,libpe_status: use pcmk_action_t instead of
pe_action_t, pcmk_node_t instead of pe_node_t, pcmk_resource_t instead of
pe_resource_t, and pcmk_scheduler_t instead of pe_working_set_t in all API
structs and functions
+ libpacemaker: add pcmk_list_alternatives(), pcmk_list_providers(),
pcmk_list_standards(), and pcmk_list_agents() for functionality equivalent
to crm_resource --list-ocf-alternatives, --list-ocf-providers,
--list-standards, and --list-agents
+ libpe_rules,libpe_status: deprecate pe_action_t type
+ libpe_rules,libpe_status: deprecate pe_action_wrapper_t
+ libpe_rules,libpe_status: deprecate pe_node_t type
+ libpe_rules,libpe_status: deprecate pe_resource_t type
+ libpe_rules,libpe_status: deprecate pe_tag_t
+ libpe_rules,libpe_status: deprecate pe_ticket_t
+ libpe_rules,libpe_status: deprecate pe_working_set_t type
+ libpe_rules,libpe_status: deprecate resource_alloc_functions_t type
+ libpe_rules,libpe_status: deprecate resource_object_functions_t
+ libpe_status,libpe_rules: deprecate enum pe_ordering and all its values
+ libpe_status,libpe_rules: deprecate RSC_ROLE_MAX
+ libpe_status,libpe_rules: deprecate RSC_ROLE_PROMOTED_LEGACY_S string constant
+ libpe_status,libpe_rules: deprecate RSC_ROLE_PROMOTED_S string constant
+ libpe_status,libpe_rules: deprecate RSC_ROLE_STARTED_S string constant
+ libpe_status,libpe_rules: deprecate RSC_ROLE_STOPPED_S string constant
+ libpe_status,libpe_rules: deprecate RSC_ROLE_UNKNOWN_S
+ libpe_status,libpe_rules: deprecate RSC_ROLE_UNPROMOTED_LEGACY_S string constant
+ libpe_status,libpe_rules: deprecate RSC_ROLE_UNPROMOTED_S string constant
+ libpe_status: deprecate enum pe_check_parameters
+ libpe_status: deprecate pe_flag_check_config
+ libpe_status: deprecate pe_flag_concurrent_fencing
+ libpe_status: deprecate pe_flag_enable_unfencing
+ libpe_status: deprecate pe_flag_have_quorum
+ libpe_status: deprecate pe_flag_have_remote_nodes
+ libpe_status: deprecate pe_flag_have_status
+ libpe_status: deprecate pe_flag_have_stonith_resource
+ libpe_status: deprecate pe_flag_maintenance_mode
+ libpe_status: deprecate pe_flag_no_compat
+ libpe_status: deprecate pe_flag_no_counts
+ libpe_status: deprecate pe_flag_quick_location
+ libpe_status: deprecate pe_flag_sanitized
+ libpe_status: deprecate pe_flag_show_scores
+ libpe_status: deprecate pe_flag_show_utilization
+ libpe_status: deprecate pe_flag_shutdown_lock
+ libpe_status: deprecate pe_flag_startup_fencing
+ libpe_status: deprecate pe_flag_startup_probes
+ libpe_status: deprecate pe_flag_start_failure_fatal
+ libpe_status: deprecate pe_flag_stonith_enabled
+ libpe_status: deprecate pe_flag_stop_action_orphans
+ libpe_status: deprecate pe_flag_stop_everything
+ libpe_status: deprecate pe_flag_stop_rsc_orphans
+ libpe_status: deprecate pe_flag_symmetric_cluster
+ libpe_status: deprecate pe_rsc_allow_migrate
+ libpe_status: deprecate pe_rsc_allow_remote_remotes
+ libpe_status: deprecate pe_rsc_assigning
+ libpe_status: deprecate pe_rsc_block
+ libpe_status: deprecate pe_rsc_critical
+ libpe_status: deprecate pe_rsc_detect_loop
+ libpe_status: deprecate pe_rsc_failed
+ libpe_status: deprecate pe_rsc_failure_ignored
+ libpe_status: deprecate pe_rsc_fence_device
+ libpe_status: deprecate pe_rsc_is_container
+ libpe_status: deprecate pe_rsc_maintenance
+ libpe_status: deprecate pe_rsc_managed
+ libpe_status: deprecate pe_rsc_merging
+ libpe_status: deprecate pe_rsc_needs_fencing
+ libpe_status: deprecate pe_rsc_needs_quorum
+ libpe_status: deprecate pe_rsc_needs_unfencing
+ libpe_status: deprecate pe_rsc_notify
+ libpe_status: deprecate pe_rsc_orphan
+ libpe_status: deprecate pe_rsc_orphan_container_filler
+ libpe_status: deprecate pe_rsc_promotable
+ libpe_status: deprecate pe_rsc_provisional
+ libpe_status: deprecate pe_rsc_reload
+ libpe_status: deprecate pe_rsc_replica_container
+ libpe_status: deprecate pe_rsc_restarting
+ libpe_status: deprecate pe_rsc_runnable
+ libpe_status: deprecate pe_rsc_start_pending
+ libpe_status: deprecate pe_rsc_stop
+ libpe_status: deprecate pe_rsc_stop_unexpected
+ libpe_status: deprecate pe_rsc_unique
* Wed May 24 2023 Ken Gaillot <[email protected]> Pacemaker-2.1.6
- 1124 commits with 402 files changed, 25220 insertions(+), 14751 deletions(-)
- Features added since Pacemaker-2.1.5
+ CIB: deprecate "moon" in date_spec elements in rules
+ CIB: deprecate support for Nagios resources
+ CIB: utilization attributes may be set as transient
+ CIB: alerts and alert recipients support an "enabled" meta-attribute
+ All daemons support --output-as/--output-to options including
XML output with interactive options
+ tools: attrd_updater supports --wait parameter that can be set to
"no" (return immediately after submitting request, which is
the default and previous behavior), "local" (return after the
new value has taken effect on the local node), or "cluster" (return
after new value has taken effect on all nodes)
+ tools: attrd_updater supports -z/--utilization to modify utilization
attributes
+ tools: attrd_updater supports --pattern to affect all attributes
matching a given pattern
+ tools: crm_attribute supports --pattern with permanent node attributes
(in addition to previous support for transient attributes)
+ tools: crm_mon displays resource descriptions if --show-description or
--show-detail is given
+ tools: crm_mon shows maintenance mode when enabled per-resource
+ tools: crm_mon --interval can be used to update XML and text output
(in addition to previous support for HTML)
+ tools: crm_mon fencing history includes microseconds in timestamps
+ tools: crm_mon shows which node it was run on
+ tools: crm_mon shows whether Pacemaker or Pacemaker Remote is running or
shutting down
+ tools: deprecate crm_mon --simple-status
+ tools: crm_resource --element option can be used with --get-parameter,
--set-parameter, and --delete-parameter to modify resource
properties such as class, provider, type, and description
+ tools: crm_resource --list shows resource descriptions better
(including when --output-as=xml is used)
+ tools: crm_shadow supports standard --output-as/--output-to arguments
- Fixes since Pacemaker-2.1.5
+ pacemakerd: -S should wait for cluster to shut down before returning
(regression introduced in 2.1.1)
+ Pacemaker Remote: remote nodes wait for all-clear from cluster before
shutting down (regression introduced in 2.1.5)
+ tools: attrd_updater --query without --node shows attributes from all
nodes instead of local node (regression introduced in 2.1.5)
+ pacemaker-attrd: Preserve a Pacemaker Remote node's transient attributes
if its connection to the cluster is lost but reconnects
+ CIB manager: successful CIB schema upgrade always forces a write
+ controller: avoid election storm when joining node has CIB newer than DC
can accept
+ controller: avoid election storm due to incompatible CIB
+ controller: avoid use-after-free when disconnecting proxy IPCs during shutdown
+ controller: avoid double-incrementing failcount for simulated failures
+ controller: avoid reprobing remote nodes when target is a cluster node
+ controller: delay join finalization if a transition is in progress
+ controller: initial fencing timeout includes any priority-fencing-delay
+ controller: shutdown gracefully if scheduler connection is interrupted
during shutdown
+ fencer: avoid crash during shutdown when action is pending
+ fencer: calculate fencing timeout correctly when watchdog is used with
topology
+ fencer: apply priority-fencing-delay only to first device tried
+ fencer: total and per-device fencing timeouts include any
priority-fencing-delay and pcmk_delay_base
+ scheduler: fix a number of corner cases with colocations, including
preventing a resource from starting if it has a mandatory
colocation with a group whose start is blocked, preventing
optional anti-colocation from overriding infinite stickiness,
and correctly considering a group's colocation dependents
when the group is itself colocated with a clone
+ scheduler: honor as many mandatory colocations as possible before
considering any optional ones
+ scheduler: ensure earlier group member starts occur after later member stops
+ scheduler: handle orderings with bundles more correctly
+ scheduler: ensure expired results never affect resource state
+ scheduler: handle cleaned migrate_from history correctly
+ scheduler: prevent pending monitor of one clone instance from causing
unexpected stop of other instances
+ scheduler: prevent inactive clone instances from starting if probe is
unrunnable on any node
+ agents: SysInfo calculates cpu_load correctly
+ tools: cibadmin --scope accepts status
+ tools: crm_attribute -p "" works same as -p when called from resource agent
+ tools: crm_attribute recognizes "-INFINITY" as value instead of options
+ tools: crm_mon avoids displaying recurring monitors as pending if first