summaryrefslogtreecommitdiffstats
path: root/ChangeLog
blob: dfc5912a0b10e2fee2230e4c8bb8f74690736244 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
* Tue Jan 9 2024 Xin Liang <XLiang@suse.com>
- Release 4.6.0
- Fix: report: Unable to gather log files that are in the syslog format (bsc#1218491)
- Dev: ui_corosync: Add a completer for corosync.set to enumerate all current paths
- Dev: bootstrap: Assign hosts with _context.node_list_in_cluster in join_ssh_merge (bsc#1218331)

* Fri Dec 22 2023 Xin Liang <XLiang@suse.com>
- Release 4.6.0 rc2
- Dev: ui_cluster: Move --use-ssh-agent to optional arguments
- Fix: autoconf: --with-version does not override the variable used in `version.in`
- Dev: unify version string used in setup.py and autotools
- Fix: ui_cluster: Improve the process of 'crm cluster stop' (bsc#1213889)
- Fix: scripts.health: call `setup_logging()` before importing crmsh.reprot.utils
- Dev: log: save backtrace of ValueError in logfile and suppress it in console

* Thu Dec 7 2023 Xin Liang <XLiang@suse.com>
- Release 4.6.0 rc1
- Dev: doc: Unify contents of manpage and help info
- Dev: report: Rewrite crm report module
- Dev: utils: To prevent shell injection, manipulate the argument array instead of the command line string
- Fix: bootstrap: fix the owner and permission of file authorized_keys (bsc#1217279)
- Fix: prun: should not call user_pair_for_ssh() when target host is localhost (bsc#1217094)
- Dev: report: Redirect warning and error from remote node into stderr
- Fix: utils: Add 'sudo' only when there is a sudoer(bsc#1215549)
- Dev: xmlutil: refactor class CrmMonXmlParser
- Dev: completers: Add online_nodes and standby_nodes
- Fix: bootstrap: add informative logging for generating new ssh keypairs
- Fix: forward ssh-agent for `crm report __slave`
- Fix: sh: raise AuthorizationError and generate diagnose messages when ClusterShell fails with 255
- Dev: bootstrap: allow to authenticate interactively in `crm cluster join --use-ssh-agent`
- Dev: ssh-agent: add informative logging for adding keys to authorized_keys
- Dev: ssh-agent: add diagnose messages
- Dev: bootstrap: implement ssh-agent support for geo cluster (jsc#PED-5774)
- Dev: bootstrap: refine key swap for user `hacluster`
- Dev: bootstrap: implement ssh-agent support for qdevice (jsc#PED-5774)
- Dev: bootstrap: implement ssh-agent support (jsc#PED-5774)
- Dev: ui_utils: Supports '=' when setting node/resource attributes
- Fix: report: Pick up tarball suffix dynamically (bsc#1215438)
- Fix: report: Pick 'gzip' as the first compress prog for cross-platform compatibility(bsc#1215438)
- Fix: constants: Add several resource meta attributes (bsc#1215319)
- refactor: move get_stdout and get_stdout_stderr to crmsh.sh.ShellUtils
- Dev: refactor shell calling routines
- Dev: utils: strip new line when get_stdout_or_raise_error returns
- Fix: prun: setsid to prevent ssh from asking a password from terminal
- Fix: upgradeutil: reduce the timeout for getting sequence from remote node (bsc#1213797)
- Fix: userdir: Get the effictive user name instead of using getpass.getuser (bsc#1213821)
- Dev: requirements: remove parallax
- Fix: upgradeutil: support the change of path of upgrade_seq in crmsh-4.5 (bsc#1213050)
- Fix: ui_context: wait4dc should assume a subcommand completes successfully if no exceptions are raised (bsc#1212992)
- Fix: upgradeutil: do not tried to upgrade when the cluster is partially set up
- Fix: bootstrap: fix the validation of option -N and -c (bsc#1212436)
- Fix: geo_cluster: the behavior of choosing a default user in geo_join/geo_init_arbitrator is different with `cluster join` (bsc#1211817)
- Fix: utils: do not use sudoer user to create ssh session unless it is specified explicitly (bsc#1211817)
- medium: ui_node: fix cib rollback race on node standby
- Dev: ui_cluster: Use 'CustomAppendAction' instead of 'append' argparse action
- Dev: bootstrap: Configure ssh key when fetch geo config
- Dev: cmd_status: Use --output-as option instead of deprecated --as-html and --as-xml options
- Dev: cmd_status: Append 'with quorum' and 'WITHOUT quorum' to display keyword list
- Dev: spec: Remove python3-parallax from spec file
- Fix: bootstrap: failed to save username for localhost when initializing a cluster with a qnet server
- Fix: utils: fix `cluster diff --checksum`
- Dev: ui_cluster: refine messages for `cluster run` and `cluster coy`
- Dev: geo: implement non-root support for geo_fetch_config()
- Fix: bootstrap: failed to join when the cluster is initialized with skip_csync2
- Dev: prun: minor refactor and add comments
- Dev: prun: implement timeout
- Dev: prun: add an concurrency limiter
- Dev: remove python dependency parallax
- Dev: scripts: implement non-root support with crmsh.prun
- Dev: implement non-root support for crm_pssh with crmsh.prun
- Dev: remove some direct calls to parallax module
- Dev: prun: add special handling for localhost
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_slurp
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_copy
- Dev: upgradeutil: adapt to new parallax interface
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_call (bsc#1210709)
- Fix: bootstrap: `init --qnetd-hostname` fails when username is not specified (bsc#1211200)
- Fix: bootstrap: crm cluster join default behavior change in ssh key handling (bsc#1210693)
- Fix: help: Long time to load and parse crm.8.adoc (bsc#1210198)
- Fix: cibconfig: use any existing rsc_defaults set rather than create another one (bsc#1210614)
- Fix: lock: Join node failed to wait init node finished (bsc#1210332)
- Dev: log_patterns: update patterns for pacemaker version 2.0+
- Dev: bootstrap: Support replacing sbd device via sbd stage
- Dev: utils: add auto_convert_role flag for handle_role_for_ocf_1_1 function

*Thu Mar 30 2023 Xin Liang <XLiang@suse.com>
- Release 4.5.0
- Dev: bootstrap: Remove /var/lib/crm and ~/.config/crm/crm.conf when removing node
- Dev: bootstrap: Generate the public key on the remote if it does not exist
- Fix: utils: qdevice initialization should user_pair_for_ssh() to get appreciated users (crmsh#1157)
- Fix: crm report: sustain if there are offline nodes (bsc#1209480)
- Dev: upgradeutil: Change 'upgrade' terminology to 'configuration fix'
- Dev: utils: Check passwordless between cluster nodes
- Dev: Dockerfile: Update pacemaker and libqb version
- Dev: remove 'sudo' prefix internally
- Fix: validate ssh session when the users is determined by guessing (bsc#1209193)
- Dev: bootstrap: Change user shell for hacluster on remote node, in init_ssh_impl function
- Fix: parallax: Use 'sudo bash -c' when executing commands via sudoer (bsc#1209192)
- Dev: qdevice: Add more debug messages for running commands
- Dev: log: For the log_only_to_file method, show debug log in debug mode

* Thu Mar 9 2023 Xin Liang <XLiang@suse.com>
- Release 4.5.0 rc2
- Dev: version: Bump crmsh version to 4.5.0
- Fix: bootstrap: Swap hacluster ssh key with other nodes
- Fix: report: Fix crm report issue under non-root user
- Fix: bootstrap: Don't save core.debug when saving core.hosts (bsc#1208991)
- Dev: log: Redirect debug messages into stderr

* Fri Mar 3 2023 Xin Liang <XLiang@suse.com>
- Release 4.5.0 rc1
- Fix: qdevice: Unable to setup qdevice under non-root user (bsc#1208770)
- Dev: upgradeutil: do upgrade silently (bsc#1208327)
- Fix: bootstrap: `crm cluster join ssh` raises TypeError (bsc#1208327)
- Dev: utils: Change the way to get pacemaker's version (bsc#1208216)
- Dev: bootstrap: guess and ask whether to operate in non-root mode (jsc#PED-290)
- Dev: bootstrap: allow the cluster to operate with ssh session under non-root sudoer (jsc#PED-290)
- Fix: hawk fails to parse the slash (bsc#1206217)
- Fix: extra logs while configuring passwordless (bsc#1207720)
- Dev: utils: Check current user's privilege and give hints to user
- Dev: ui_configure: Deprecate configure erase sub-command
- Fix: report: Catch read exception (bsc#1206606)
- Feature: replace root by a custom user with root privileges
- Fix: bootstrap: Unset SBD_DELAY_START when running 'crm cluster start' (bsc#1202177)
- Dev: ui_node: redirect `node delete` to `cluster remove`
- Feature: bootstrap: Add option -x to skip csync2 initialization stage during the whole cluster bootstrap
- Dev: parse: complete advised operation values for other actions beside monitor
- Dev: ui_context: redirect `foo -h`/`foo --help` to `help foo` (bsc#1205735)
- Fix: qdevice: Adjust SBD_WATCHDOG_TIMEOUT when configuring qdevice not using stage (bsc#1205727)
- Fix: cibconfig: Complete promotable=true and interlave=true for Promoted/Unpromoted resource (bsc#1205522)
- Fix: corosync: show corosync ring status if has fault (bsc#1205615)
- Dev: bootstrap: fix passwordless ssh authentication for hacluster automatically when a new node is joining the cluster (bsc#1201785)
- Dev: upgradeutil: automated init ssh passwordless auth for hacluster after upgrading (bsc#1201785)
- Dev: parse: cli_to_xml: populate advised monitor/start/stop operations values
- fix: log: fail to open log file even if user is in haclient group (bsc#1204670)
- Fix: sbd: Ask if overwrite when given sbd device on interactive mode(bsc#1201428)
- Dev: bootstrap: Adjust cluster properties including priority-fencing-delay
- Fix: ui_cluster: 'crm cluster stop' failed to stop services (bsc#1203601)
- Dev: bootstrap: Adjust pcmk_delay_max and stonith-timeout for all configured fence agents
- Dev: cibconfig: "crm config show related:xxx" provides partial search among class, provider, type fields
- Fix: crash_test: do not use firewalld to isolate a cluster node (bsc#1192467)
- Dev: bootstrap: Add delay to start corosync when node list larger than 5
- Dev: log: print begin and end marker in different lines in status_long
- Dev: parallax: Add LogLevel=error ssh option to filter out warnings (bsc#1196726)
- Revert "Fix: utils: Only raise exception when return code of systemctl command over ssh larger than 4 (bsc#1196726)" (bsc#1202655)
- fix: configure: refresh cib before showing or modifying if no pending changes has been made (bsc#1202465)
- Fix: bootstrap: Use crmsh.parallax instead of parallax module directly (bsc#1202006)

* Wed Aug 10 2022 Xin Liang <XLiang@suse.com>
- tag: 4.4.1 for bug fix
- Fix: utils: use -o and -n to compare files instead of strings for crm_diff (bsc#1201312)
- Dev: bootstrap: remove cluster add sub-command
- Fix: bootstrap: -N option setup the current node and peers all together (bsc#1175863)
- Dev: doc: add help info for related: prefix for 'configure show' command
- Dev: cinconfig: enable "related:" prefix to show the objects by given ra type
- Fix: crm report: use sudo when under non root and hacluster user (bsc#1199634)
- Fix: utils: wait4dc: Make change since output of 'crmadmin -S' changed(bsc#1199412)
- Fix: bootstrap: stop and disable csync2.socket on removed node (bsc#1199325)
- Fix: crm report: Read data in a save way, to avoid UnicodeDecodeError(bsc#1198180)
- Fix: qdevice: Add lock to protect init_db_on_qnetd function (bsc#1197323)
- Fix: utils: Only raise exception when return code of systemctl command over ssh larger than 4 (bsc#1196726)

* Thu Feb 17 2022 Xin Liang <XLiang@suse.com>
- Release 4.4.0
- Dev: README: update with unit tests steps
- Dev: crmsh-ci.yml: Add python3.6 and 3.10 into unit test list
- Dev: tox: Adjust tox.ini, add py36 and py310 in envlist

* Thu Feb 8 2022 Xin Liang <XLiang@suse.com>
- Release 4.4.0 rc2
- Fix: sbd: not overwrite SYSCONFIG_SBD and sbd-disk-metadata if input 'n'(bsc#1194870)
- Dev: bootstrap: the joining node retries an active cluster
- Dev: behave: Change docker cgroup driver as systemd
- Dev: ui_node: Use diff and patch instead of replace cib
- Dev: crm report: Add dpkg support

* Thu Jan 14 2022 Xin Liang <XLiang@suse.com>
- Release 4.4.0 rc1
- Fix: bootstrap: Don't change pacemaker.service bootup preference (bsc#1194616)
- Fix: log: Change the log file owner as hacluster:haclient (bsc#1194619)
- Dev: crm.conf: Add OCF_1_1_SUPPORT flag to control ocf 1.1 feature
- Dev: doc: Introduce promotable clone and role Promoted/Unpromoted
- Fix: crash_test: Adjust help output of 'crm cluster crash_test -h'(bsc#1194615)
- Dev: utils: Convert Master/Slave to Promoted/Unpromoted if schema support OCF 1.1
- Dev: xmlutil: Replace Promoted/Unpromoted as Master/Slave when OCF 1.0 schema detected
- Dev: doc: Replace pingd as ocf:pacemaker:ping
- Dev: ui_resource: set target-role as Promoted/Unpromoted when doing promote or demote
- Dev: ra: Support Promoted/Unpromoted
- Dev: ocfs2: Fix running ocfs2 stage on cluster with diskless-sbd
- Fix: bootstrap: Change default transport type as udpu(unicast) (bsc#1132375)
- Dev: bootstrap: Avoid duplicated setting for rsc_defaults
- Fix: ui_configure: Give a deprecated warning when using "ms" subcommand (bsc#1194125)
- Fix: xmlutil: Parse promotable clone correctly and also consider compatibility (bsc#1194125)
- Dev: doc: Rename hb_report as crm report
- Dev: crm report: Get distribution info correctly and reuse it
- Dev: crm_report: Integrate report log into crmsh logging
- Dev: log: Print new line when input using default value in interactive mode
- Fix: bootstrap: Change log info when need to change user login shell (bsc#1194026)
- Dev: crm_report: Move hb_report directory to crmsh/report
- Dev: doc: Mention /etc/crm/profiles.yml in man crm
- Dev: ui_node: Delete node directly using cibadmin if crm_node -R failed
- Dev: xmlutil: Add class CrmMonXmlParser to parse xml output of crm_mon
- Dev: ui_cluster: Exit stop process when there is no DC
- Dev: ui_cluster: check dlm controld ra is running when stop cluster
- Dev: log: In status_long function, add a blank line when exception
- Revert "Dev: ui_cluster: Make sure node is online when stop service"
- Dev: sbd: Adjust timeout related values
- Dev: ui_cluster: check if qdevice service started when starting cluster if qdevice configured
- Dev: idmgmt: Avoid leading with number for ID
- Dev: ui_cluster: Check service is available before enable/disable qdevice
- Dev: ui_node: Improve node standby/online methods
- Dev: ui_cluster: Remove node from node list if node is unreachable
- Dev: Give warning when no-quorum-policy not set as freeze while using DLM
- Fix: crm: To avoid the potential "permission denied" error under other users (boo#1192754)
- Fix: ui_resource: Parse node and lifetime correctly (bsc#1192618)
- Dev: doc: Consolidate help info for those using argparse
- Dev: ui_cluster: Make sure node is online when stop service
- Dev: ui_cluster: Graceful shutdown dlm
- Dev: ui_cluster: Support multi sub-commands with --all option or specific node
- orderedset.py: fix deprecation on collections.MutableSet
- Dev: crm report: Consolidate collect functions in collect.py and running them in parallel
- Dev: crm report: Collect report using multiprocessing correctly
- Dev: CI: change docker image as leap 15.2, and enlarge the timeout value for each CI case
- Fix: ui_resource: Parse lifetime option correctly (bsc#1191508)
- Dev: log: Rotate crmsh.log as 1M and backup count as 10
- Fix: bootstrap: Add /etc/crm/crm.conf and /etc/crm/profiles.yml into /etc/csync2/csync2.cfg (bsc#1190466)
- Dev: Using python logging in all crmsh modules
- Dev: hb_report: Integrate hb_report logging
- Dev: crash_test: Integrate crash test logging
- Dev: crm: Load python logging config in /usr/sbin/crm
- Dev: log: Using logging as log system in crmsh
- Dev: msg: Remove msy.py
- Dev: constants: Add color const for logging
- Fix: utils: Improve detect_cloud function and support non-Hyper-V in Azure
- Fix: hb_report: Using python way to collect ra trace files (bsc#1189641)
- Fix: bootstrap: Adjust corosync and sbd parameters according to the profile environment detected (bsc#1175896)
- Fix: sbd: adjust sbd systemd TimeoutStartSec together with SBD_DELAY_START
- Dev: Makefile: add etc/profiles.yml and move crm.conf.in into etc
- Fix: doc: Note that resource tracing is only supported by OCF RAs(bsc#1188966)
- Dev: ui_resource: Enhancement trace output
- Fix: bootstrap: adjust host list for parallax to get and copy known_hosts file(bsc#1188971)
- Medium: ra: performance/usability improvement (avoid systemd)
- Dev: ui_context: Add info when spell-corrections happen
- Dev: ocfs2: set no-quorum-policy as freeze when configuring OCFS2
- Fix: parse: Should still be able to show the empty property if it already exists(bsc#1188290)
- Dev: qdevice: Split class QDevice into qdevice.py from corosync.py
- Fix: bootstrap: check for missing fields in 'crm_node -l' output (bsc#1182131)
- Fix: resource: make untrace consistent with trace (bsc#1187396)
- Dev: sbd: enable SBD_DELAY_START in virtualization environment
- Fix: ocfs2: Skip verifying UUID for ocfs2 device on top of raid or lvm on the join node (bsc#1187553)
- Dev: sbd: Split class SBDManager into sbd.py from bootstrap.py

* Thu Jun 17 2021 Xin Liang <XLiang@suse.com>
- Release 4.3.1
- Fix: history: use Path.mkdir instead of mkdir command(bsc#1179999)
- Dev: doc: replace preflight check doc as crash test doc
- Dev: crash_test: Add big warnings to have users' attention to potential failover
- Dev: crash_test: rename preflight_check as crash_test
- Fix: bootstrap: update sbd watchdog timeout when using diskless SBD with qdevice(bsc#1184465)
- Dev: utils: allow configure link-local ipv6 address
- Dev: bootstrap: return when not specify ocfs2 device on interactive mode
- Fix: parse: shouldn't allow property setting with an empty value(bsc#1185423)
- Dev: crm.8.adoc: remove redundant help message
- Fix: help: show help message from argparse(bsc#1175982)
- Dev: ocfs2: add ocfs2.OCFS2Manager to manage ocfs2 configure process
- Dev: watchdog: split class Watchdog into watchdog.py from bootstrap.py
- Dev: bootstrap: raise exception and execute status_done on success
- Fix: bootstrap: add sbd via bootstrap stage on an existing cluster (bsc#1181906)
- Fix: bootstrap: change StrictHostKeyChecking=no as a constants(bsc#1185437)
- Dev: cibconfig: resolve TypeError for fencing-topology tag
- Dev: bootstrap: change status_long with contextmanager
- Dev: bootstrap: disable unnecessary warnings (bsc#1178118)
- Fix: bootstrap: sync corosync.conf before finished joining(bsc#1183359)
- Dev: add "crm corosync status qdevice" sub-command
- Dev: ui_cluster: add qdevice help info
- Dev: ui_cluster: enable/disable corosync-qdevice.service
- Fix: bootstrap: parse space in sbd device correctly(bsc#1183883)
- Dev: preflight_check: move preflight_check directory into crmsh
- Fix: bootstrap: get the peer node name correctly (bsc#1183654)
- Fix: update verion and author (bsc#1183689)
- Dev: bootstrap: enable configuring qdevice on interactive mode
- Fix: ui_resource: change return code and error to warning for some unharmful actions(bsc#1180332)
- Dev: README: change the build status link in README
- Dev: lock: change lock directory under /run
- Fix: bootstrap: raise warning when configuring diskless SBD with node's count less than 3(bsc#1181907)
- Fix: bootstrap: Adjust qdevice configure/remove process to avoid race condition due to quorum lost(bsc#1181415)
- Dev: utils: remove unused utils.cluster_stack and its related codes
- Dev: cibconfig: remove related code about detecting crm_diff support --no-verion
- Fix: ui_configure: raise error when params not exist(bsc#1180126)
- Dev: doc: remove doc for crm node status
- Dev: ui_node: remove status subcommand
- Fix: hb_report: walk through hb_report process under hacluster(CVE-2020-35459, bsc#1179999; CVE-2021-3020, bsc#1180571)
- Fix: bootstrap: setup authorized ssh access for hacluster(CVE-2020-35459, bsc#1179999; CVE-2021-3020, bsc#1180571)

* Fri Feb 19 2021 Xin Liang <XLiang@suse.com>
- Release 4.3.0
- Dev: doc: add analyze and preflight_check help messages in doc
- Dev: analyze: Add analyze sublevel and put preflight_check in it
- Dev: utils: change default file mod as 644 for str2file function
- Dev: hb_report: Detect if any ocfs2 partitions exist
- Dev: lock: give more specific error message when raise ClaimLockError
- Fix: Replace mktemp() to mkstemp() for security
- Dev: unit test cases for preflight check ASR SBD feature utils.py
- Fix: Remove the duplicate --cov-report html in tox.
- Dev: unit test cases for preflight check ASR SBD feature check.py and task.py
- Fix: fix some lint issues.
- Fix: Replace utils.msg_info to task.info
- Fix: Solve a circular import error of utils.py
- Fix: hb_report: run lsof with specific ocfs2 device(bsc#1180688)
- Dev: corosync: change the permission of corosync.conf to 644
- Fix: preflight_check: task: raise error when report_path isn't a directory
- Fix: bootstrap: Use class Watchdog to simplify watchdog config(bsc#1154927, bsc#1178869)
- Dev: Polish the sbd feature.
- Dev: Replace -f with -c and run check when no parameter provide.
- Fix: Fix the yes option not working
- Fix: Remove useless import and show help when no input.
- Dev: Correct SBD device id inconsistenc during ASR
- Fix: completers: return complete start/stop resource id list correctly(bsc#1180137)
- Dev: Makefile.am: change makefile to integrate preflight_check
- Medium: integrate preflight_check into crmsh
- Fix: bootstrap: make sure sbd device UUID was the same between nodes(bsc#1178454)
- Fix: utils: skip if no netmask in the result of ip -o addr show(bsc#1180421)
- Fix: bootstrap: add /etc/modules-load.d/watchdog.conf into csync.cfg(bsc#1180424)
- Low: bootstrap: make invoke return specific error(bsc#1177023)
- Dev: test: add timeout-minutes to each test job
- Fix: bootstrap: Refactor join_lock.py for more generic using purpose
- Dev: bootstrap: use ping to test host is reachable before joining
- Dev: unittset: adjust unit test code for setup_passwordless_with_other_nodes function
- Low: bootstrap: check cluster was running on init node
- Fix: bootstrap: use class JoinLock to manage lock in parallel join(bsc#1175976)

* Tue Dec 1 2020 Xin Liang <XLiang@suse.com>
- Release 4.2.1
- Fix: utils: improve disable_service and enable_service function(bsc#1178701)
- Fix: bootstrap: disable corosync-qdevice if not configured(bsc#1178701)
- Low: bootstrap: should include /etc/sysconfig/nfs into csync2.cfg(bsc#1178373)
- Low: bootstrap: minor change for _get_sbd_device_interactive function(bsc#1178333)
- Fix: hb_report: collect corosync.log if it defined in config file(bsc#1148874)
- Fix: ui_cluster: check service status while start/stop(bsc#1177980)
- Fix: bootstrap: Stop hawk service when removing node(bsc#1175708)
- Fix: cibverify: give warning if crm_verify return warning(bsc#1122391)
- Fix: parse: convert score to kind for rsc_order configure(bsc#1122391)
- Fix: bootstrap: remove specific configured address while removing node(bsc#1165644)
- Fix: hb_report: fix sanitize functionality(bsc#1163581)
- FIx start_delay with start-delay
- fix on_fail should be on-fail
- Low: config: Try to handle configparser.MissingSectionHeaderError while reading config file
- Medium: ui_configure: Obscure sensitive data by default(bsc#1163581)
- Fix: hb_report: collect archived logs(bsc#1148873)
- Low: bootstrap: check whether sbd package installed
- Low: bootstrap: Improve qdevice configure process * More reasonable naming for variables * More function docstrings * Move function to more reasonable location * Create functions to integrate similar functions inside one * Change big function to small one, more easier for unit test, like: * Refactor functions * Create utils.cluster_run_cmd function to avoid using crm cluster run directly in code
- Low: bootstrap: swap keys with other nodes when join_ssh(bsc#1176178)
- Fix: bootstrap: revert ssh_merge function for compatibility(bsc#1175057)
- Fix: bootstrap: adjust sbd config process to fix bug on sbd stage(bsc#1175057)
- Low: corosync: handle the return code of corosync-quorumtool correctly(bsc#1174588)
- Low: ui_corosync: copy ssh key to qnetd while detect need password(bsc#1174385)
- Low: hb_report: Fix collecting of binary data (bsc#1166962)
- High: bootstrap: ssh key configuration improvement(bsc#1169581)
- High: bootstrap: bootstrap network improvement
- Revert "Fix: bootstrap: crmsh use its own specific ssh key(bsc#1169581)"
- Low: cibconfig: Avoid adding the ID attribute to select_* nodes
- High: bootstrap: using class SBDManager for sbd configuration and management(bsc#1170037, bsc#1170999)
- Fix: bootstrap: crmsh use its own specific ssh key(bsc#1169581)
- Low: bootstrap: change ha-cluster-bootstrap log path
- Low: ui_corosync: print cluster nodes while getting quorum and qnetd status
- Low: bootstrap: exit with proper error messages when ssh return failed
- Low: ui_cluster: use argparse choices to validate -i and -t option
- Low: corosync: Use with statement  to open file
- Fix: ui_resource: refresh <Tab> should complete resource first(bsc#1167220)
- Low: ui_context: give warning if using alias command
- Low: bootstrap: Simplify bootstrap context
- Low: corosync: Improve qdevice configure process
- Fix: doc: Update man page about completion example of crm resource(bsc#1166644)
- Fix: bootstrap: Change condition to add stonith-sbd resource(bsc#1166967)
- Fix: bootstrap: use csync2 '-f' option correctly(bsc#1166684)
- Low: setup.py: update crmsh's version
- Fix: crmsh.spec.in: enable completion of crm command(bsc#1166329)
- Low: crmsh.spec.in: sync contents from NHF's crmsh.spec file
- Low: utils: update detect_cloud pattern for aws
- Low: doc: update configure.set documentation
- Feature: configure: make configure.set to update operation
- Low: replace configparser.SafeConfigParser as configparser.ConfigParser
- Fix: ui_cluster: Not allowed space value for option (bsc#1141976)
- Fix: crmsh.spec: using mktemp to create tmp file(bsc#1154163)
- Fix: bootstrap: set placement-strategy value as "default"(bsc#1129462)
- Fix: hb_report: disable dump all tasks stack into dmesg(bsc#1158060)

* Mon Dec 23 2019 Xin Liang <XLiang@suse.com> and many others
- Release 4.2.0
- Merge pull request #464 from liangxin1300/2019_crmsh_qdevice_qnetd
- Low: ui_cluster: replace --qdevice as --qnetd-hostname
- Low: corosync: add log and debug messages on each certificate steps
- Low: ui_cluster: change qdevice related option's help message
- Low: bootstrap: support qdevice heuristics
- Low: bootstrap: start qdevice/qnetd service when not overwrite configuration
- Low: ui_corosync: improve corosync status sub-command
- Low: bootstrap: when removing qdevice, remove qdevice database
- Low: bootstrap: qdevice certification process when cluster join
- Low: ui_cluster: change option info for qdevice/qnetd
- Low: bootstrap: qdevice certification process when cluster init
- Low: bootstrap: interface for removing qdevice
- Low: corosync: check tie-breaker is a valid nodeid
- Low: bootstrap: improve init_qdevice function
- Low: bootstrap: write qdevice config section when configuring qdevice in stage
- Low: bootstrap: adjust corosync configuration for qdevice
- Low: bootstrap: make qdevice process as a bootstrap stage
- Low: bootstrap: manage qnetd node
- Low: bootstrap: valid qdevice parameters
- Merge pull request #483 from liangxin1300/20191105_python_behave
- Merge pull request #484 from liangxin1300/20191112_nose_verbose
- Merge pull request #482 from liangxin1300/20191101_parallax_functions
- Low: parallax: create class Parallax to simplify using parallax
- Merge pull request #480 from aleksei-burlakov/config-do_property
- Doc: ui_configure: do_property: ask to remove maintenance from resources and nodes
- Low: ui_configure: do_property: ask to remove maintenance from resources and nodes
- Merge pull request #476 from liangxin1300/20191011_ssh_key
- Merge pull request #478 from aleksei-burlakov/node-do_maintenance
- Doc: ui_node: do_maintenance: ask to remove maintenance attr from primitives
- Low: ui_node: do_maintenance: ask to remove maintenance attr from primitives
- Merge pull request #422 from liangxin1300/20190227a
- Merge pull request #479 from aleksei-burlakov/resource-do_maintenance
- Low: ui_resource: ask about ALL primitives when overriding attributes
- Fix: corosync: reject append ipaddress to config file if already have(bsc#1127095, 1127096)
- Low: bootstrap: create authorized_keys file if not exists
- Low: bootstrap: add "--no-overwrite-sshkey" option to avoid SSH key be overwritten
- Low: bootstrap: don't overwrite ssh key if already exists
- Merge pull request #465 from liangxin1300/20190814a
- Merge pull request #461 from gao-yan/sanitize-orig-cib-as-patch-base
- Merge pull request #472 from vvidic/yaml-load
- Merge pull request #471 from aleksei-burlakov/crm-resource-maintaintenance
- Doc: ui_resource: resolve maintenance vs is-managed conflict
- Low: ui_resource: resolve maintenance vs is-managed conflict
- Scripts: fix yaml loader warning
- Merge pull request #468 from aleksei-burlakov/crm-resource-maintaintenance
- Low: doc: update cluster run help documetation
- Low: ui_cluster: running command for multiple specific nodes
- Fix: ui_cluster: refactor function list_cluster_nodes and handle the None situation(bsc#1145520)
- Low: ui_resource: maintenance: stop using crm_resource
- Merge pull request #467 from liangxin1300/revert_52a44fdce
- Merge pull request #466 from liangxin1300/20190816_bsc1145823
- Fix: utils: fix logic for process non comments line(bsc#1145823)
- High: cibconfig: Correctly sanitize the original CIB as patch base (bsc#1127716, bsc#1138405)
- Revert "high: cibconfig: Use correct CIB as patch base (bsc#1127716)"
- Partially revert "medium: cibconfig: Sanitize CIB for patching (bsc#1127716)"
- Merge pull request #457 from vvidic/commmon
- Doc: manpages: Fix spelling

* Fri Jun 21 2019 Diego Akechi <dakechi@suse.com> and many others
- Release 4.1.0
- Fix: utils: issue in to_ascii (bsc#1138115)
- Fix: bootstrap: bindnetaddr should accept both network and specific IP(bsc#1135585, bsc#1135586)
- Fix: hb_report: analysis.txt should includes warning, error, critical messages(bsc#1135696)
- Included Contributing Section on README.
- medium: ui_node: Check corosync state before clearstate (bsc#1129702)
- fix: hb_report: handle UnicodeDecodeError(bsc#1130715)   * setting error='replace' to replace invalid utf-8 characters   * try to catch UnicodeDecodeError and print traceback
- medium: cibconfig: Sanitize CIB for patching (bsc#1127716)
- high: cibconfig: Use correct CIB as patch base (bsc#1127716)
- medium: parse: Detect and error on illegal ordering of op attributes (bsc#1129210)
- medium: utils: Handle sysconfig values containing = (bsc#1129317)
- low: hb_report: collect output of "sbd dump" and "sbd list"(bsc#1129383)
- low: msg: add timestamp for DEBUG messages(bsc#1129380)
- Fix: bsc#1129719: check command and related files exist
- Low: doc: add related notice for new "promot*" tags
- High: testcase: add testcases from new added "promot*"tags
- High: constants: add "promotable", "promoted-max" and "promoted-node-max" in clone meta attributes
- Low: testcase: add testcase for #425
- Fix: cibconfig: #425 The ID attribute is not required for select and select_attributes
- doc: Add guide to releasing new versions
- medium: scripts: Set kind for order constraints, not score (bsc#1123187)
- low: utils: add support for dpkg
- low: utils: add support for apt-get
- low: utils: convert string contstants to bytes
- High: Testcases: update the testcases/bugs for bsc#1120554
- Fix: bsc#1120857,1120856 bootstrap warning messages should better start with like "WARNING:" instead of "!"
- Fix: bsc#1120554, bsc#1120555 crmsh crashed when using configure>template>apply
- medium: cibverify: Increase log level for verification (bsc#1116559)
- high: cibconfig: Normalize - to _ in param names (bsc#1111579)
- medium: ra: Handle obsoletes attribute (bsc#1111579)
- ui_cluster: restart cluster is added
- auto-commit enabling/disabling maintenance mode for a whole cluster
- medium: bootstrap: Skip netmask check on GCP (bsc#1106946)
- medium: utils: Detect local IP on GCP (bsc#1106946)
- medium: bootstrap: Correctly check rrp_mode flag (bsc#1110463)
- medium: bootstrap: Pick first match for multiple routes (bsc#1106946)
- medium: utils: Use cloud metadata service to discover IP (bsc#1106946)
- Fix: bootstrap: change default ip address way for both mcast and unicat(bsc#1109975,bsc#1109974)
- Fix incorrect bindnetaddr in corosync.conf (bsc#1103833) (bsc#1103834)
- fix: bootstrap: non interactive unicast cluster init and join(bsc#1109172)
- medium: bootstrap: Disable strict host key checking on all ssh invocations
- support ocfs2 log collecting
- hbreport: process name change for pacemaker 2.0(bsc#1106052)
- Fix: bootstrap: "-i" option doesn't work(bsc#1103833, bsc#1103834)
- Low: bootstrap: No warning message when using '-q'
- high: ra: Support Pacemaker 2.0 daemon names
- high: config: Locate pacemaker daemons more intelligently (#67) (bsc#1096783)
- Low: Travis-CI: make sure exit value is not 0 while unittest failed
- Fix: TypeError in logparser.py(bsc#1093433)
- High: hbreport: fix UnicodeEncodeError while print(bsc#1093564)

* Thu Mar 28 2019 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 3.0.4
- Fix: bootstrap: "-i" option doesn't work(bsc#1103833, bsc#1103834)
- high: bootstrap: Use default IP address for ring0 (bsc#1069142)
- low: bootstrap: change multi-heartbeats as option-mode
- low: bootstrap: Clarify messages
- low: bootstrap: give a confirm message when remove node
- low: bootstrap: Improve comments / error messages
- low: bootstrap: Fall back to logging into $TMPDIR/ha-cluster-bootstrap.log
- low: bootstrap: Check for firewalld before SuSEfirewall2
- medium: bootstrap: Add support for chrony
- Detect firewall by checking installed packages
- low: ui_cluster: complete node name once     or the same node name will be completed many times with many "Tab"s
- medium: enable add the second heartbeat line for unicast   Changes inlcude:   1. IPv4 & IPv6 support   2. user should specify local IP for ringX_addr when init and join both   3. user input must be one of local IP addresses   4. peer ringX_addr and local ringX_addr must in the same network
- medium: bootstrap: check init options before running   * we can add other option checkings to here later
- low: bootstrap: simplify the code for checking adminIP
- low: bootstrap: reset dev value when input of dev not valid
- low: bootstrap: catch OSError except instead of crash
- low: bootstrap: give error hints when use sbd without watchdog
- medium: enable add the second heartbeat line for mcast   Changes include:   1. skip second heartbeat configure when number of local networks < 2   2. bindnetaddrs must be different and the gap between ports must larger than 1   3. give different default value for second configuration   4. IPv4 & IPv6 support
- medium: bootstrap: adminIP should not be exist before config
- medium: bootstrap: adminIP should not be the network self
- fix: utils.list_cluster_nodes: use "crm_node -l" first
- medium: utils: list_cluster_nodes: read nodes list from cib.xml
- medium: utils: extend "IP/Network" codes for IPv4/IPv6 both
- low: ui_cluster: strip "None" when cmd stdout is None
- medium: bootstrap: valid adminIP   The administration virtaul IP must:   1) have a valid IPv4/IPv6 formation   2) belongs one of local networks
- medium: bootstrap: use strict regrex and valid function for bindnetaddr/mcastaddr
- low: bootstrap: when node joining, it will take a while after init_cluster_local
- low: bootstrap: join_csync2 may take a long while   so, use status_long and status_done to give the hints
- medium: bootstrap: configure with IPv6(unicast)
- medium: bootstrap: configure with IPv6(mcast)   Changes include:   1) use "-I" option stand for IPv6 in ui_cluster   2) totem.ip_version should set as "ipv6"   3) choose one interface which has IPv6 address as default values   4) each node must have an uniqe nodeid when using IPv6,      the nodeid came from IPv6 address in default interface   5) for IPv6 network compute, learn from      https://github.com/tehmaze/ipcalc
- medium: bootstrap: disable completion and history when running bootstrap
- low: ui_cluster: Add two new lines before add a new node
- low: bootstrap: Don't rely on ha-cluster-* shortcuts
- fix: bootstrap: remove cib.xml before corosync.add_node
- low: bootstrap: color the input error message
- medium: bootstrap: add callback function to check valid port range
- high: cibconfig: Normalize - to _ in param names (bsc#1111579)
- medium: ra: Handle obsoletes attribute (bsc#1111579)
- Fix missing argument in RAInfo's constructor.

* Thu Jun 28 2018 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 3.0.3
- low: bootstrap: suppress the error message
- high: bootstrap: expected votes wouldn't update in unicast mode
- medium: bootstrap: run "csync2_update" for all files after new joining node call csync2_remote (bsc#1087248)
- medium: utils: Avoid crash on missing process id (bsc#1084730)

* Thu Jun 28 2018 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 3.0.2
- high: ra: Support Pacemaker 2.0 daemon names
- high: config: Locate pacemaker daemons more intelligently (#67) (bsc#1096783)
- Fix: TypeError in logparser.py(bsc#1093433)
- Parse /32 route entries
- medium: ui_cluster: Stop corosync when stopping pacemaker (bsc#1066156)
- low: ui_node: normal is deprecated in favor of member
- fix: ui_resource: Using crm_failcount instead of crm_attribute(bsc#1074127)
- Fix is_program(dmidecode) error (bsc#1070344)
- low: ra: Don't require deprecated parameters (#321)
- medium: bootstrap: Missing dmidecode on ppc64le (bsc#1069802)
- low: bootstrap: Improve message when sbd is not installed (bsc#1050427)
- Fix SBD configuration when using SBD device (Fixes #235)


* Fri May 18 2018 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 4.0.0 - Python3 only compatible.
- Parse /32 route entries
- low: terminal will lose cursor after type ctrl+c(bsc#1090626)
- high: bash_completion: Adjust for non-interactive mode(bsc#1090304)
- low: ui_configure: Adjust prompt string after help messages(bsc#1090140)
- doc: Fix unbalanced example marker
- high: hbreport: adjustment for hbreport(bsc#1088784)   * encoding utf-8 when open a file   * pacemaker.log should not exclude as HA_LOG
- high: ui_resource: Undeprecate refresh and remove reprobe (bsc#1084736)
- Update man-2.0.adoc
- Update man-1.2.adoc
- Update crm.8.adoc
- Update man-3.adoc
- low: bootstrap: Updated authkey generation (bsc#1077389)
- low: bootstrap: Strip spaces before some status descriptions
- fix: bootstrap: Create pacemaker_remote authkey(#bsc 1077389)
- low: bootstrap: Always ask whether to use sbd
- fix: hb_report: using log_debug instead of log_warning
- fix: hb_report: got the right file decompressor(bsc#1077553)
- medium: hb_report: Avoid calling deprecated network utilities (bsc#1073638)
- high: crm_script: Python2->3 string conversion crash in wizards (bsc#1074835)
- fix: hb_report: Collect irregular log file
- fix: hb_report: Don't create *.log.info file if not in timespan
- medium: hb_report: implement dlm_dump info
- fix: hb_report: sbd info patch for review
- fix: hb_report: add some new packages name in constants.PACKAGES
- fix: hb_report: collect sbd info (bsc#1076389)
- low: constants: Add bundle to more lists of things
- low: xmlutil: Add bundle to sort (bsc#1076239)
- medium: constants: Add bundle to constants (bsc#1076239)
- implement logic for lms and ffsplit
- low: ui_node: normal is deprecated in favor of member
- medium: ui_cluster: Stop corosync when stopping pacemaker (bsc#1066156)
- low: ui_configure: no complete for rename new_id
- high: bootstrap: Add QDevice/QNetd support (bsc#1070961)
- medium: bootstrap: Don't try to remove full nodes from remote nodes
- low: bootstrap: Don't ssh to localhost in remove
- clvm-vg wizard: update to use LVM-activate RA
- clvm wizard: update to use lvmlockd instead of clvmd
- fix: cibconfig: cleanup codes about default-action-timeout
- high: scripts: Enable complex expressions in when: (bsc#1074835)
- medium: hb_report: Support new pacemaker.log location (fate#324508)
- low: ui_configure: enable completer for rsc_template
- low: ui_configure: Complete rsc template correctly
- fix: ra: Convert bytes to str
- fix: ui_resource: Using crm_failcount instead of crm_attribute(bsc#1074127)
- low: ui_configure: improve do_group completer
- high: scripts: Fix Python 3 migration issues in health, check-uptime (bsc#1071519)
- high: parse: Support new alert syntax (#280) (bsc#1069129)
- low: ui_configure: use filter_keys replace any_startswith
- fix: hb_report: return "" to avoid TypeError
- high: bootstrap: Fix firewall reload command invocation (bsc#1071108)
- high: bootstrap: Encode, not decode (bsc#1070344)
- Fix writing non-ascii chars to log (bsc#1070344)
- Fix is_program(dmidecode) error (bsc#1070344)
- low: ui_configure: fix for 309d2e, remove "id=" in a save way
- low: ra: Don't require deprecated parameters (#321)
- medium: bootstrap: Missing dmidecode on ppc64le (bsc#1069802)
- high: crm_rpmcheck: Fix bytes to str encoding error (bsc#1069294)
- high: bootstrap: Use default IP address for ring0 (bsc#1069142)
- low: cibconfig: replace etree.tostring to xml_tostring for debug/error messages
- low: ui_configure: Improve group/clone/ms completer
- low: bootstrap: Change error/confirm message with specific device name
- medium: bootstrap: fix init vgfs crash if no "-o device" option
- medium: bootstrap: fix init storage crash if no value input
- low: ui_configure: Improve do_clone completer
- medium: scripts: make sure gfs2 can be configured using hawk(bsc#1067123)
- low: ui_configure: fix for db4fc62, not complete if previous' value changed
- low: utils: convert bytes to str(bsc#1067823)
- Low: ui_context: Continue completing when input is an alias
- medium: ui_configure: fix crash when no args given
- high: utils: Use python3 in util scripts (bsc#1067823)
- Low: script: Add nginx script for Hawk
- medium: filter exist args
- high: bootstrap: Use firewall-offline-cmd for firewalld (bsc#1067498)
- medium: hb_report: Verify corosync.conf exists before opening it (bsc#1067456)
- low: config: Collect /var/log/ha-cluster-bootstrap.log (bsc#1067438)
- medium: bootstrap: Avoid SSH to localhost (bsc#1067324)
- low: bootstrap: Clarify removal warning
- low: bootstrap: Avoid printing None instead of NTP service name
- high: bootstrap: Fix readline error in cluster remove (bsc#1067424)
- low: cibconfig: use refresh instead of reset after commit
- high: bootstrap: revert corosync ports for mcast configuration as well (bsc#1066196)
- high: bootstrap: Revert default corosync port to 5405/5404 (bsc#1066196)
- low: ui_context: reset term when using help command+ctrlC   If dont do this, type "ctrl+C" when using help command will cause   the term lost curses.
- medium: NewCommit: ui_configure: complete for ra actions   * append action items which in agent default actions;   * monitor_Master will be mapped to "monitor role=Master".   * monitor_Slave will be mapped to "monitor role=Slave"   * remove action items which not in default actions   * remove action items which already used   * make sure all of default items can be completed
- medium: ui_configure: Replace compl.null to compl.attr_id where an id is required
- low: utils: Stop using deprecated functionality
- medium: ui_context: Stop completing when an id is required
- low: ui_script: Sort keys when printing JSON
- Updating the exception type used for catching a missing process id.  This change is based on recommendations from @krig regarding handling the base exception class.
- medium: enable add the second heartbeat line for unicast   Changes inlcude:   1. IPv4 & IPv6 support   2. user should specify local IP for ringX_addr when init and join both   3. user input must be one of local IP addresses   4. peer ringX_addr and local ringX_addr must in the same network
- low: bootstrap: change multi-heartbeats as option-mode
- medium: bootstrap: check init options before running   * we can add other option checkings to here later
- medium: ui_corosync: adjust do_push's completer
- low: ui_corosync: adjust do_pull's output hints
- medium: ui_corosync: adjust for do_delnode   * add completer to complete node for delete   * limit to udpu transport
- low: ui_corosync: adjust for do_diff completer   * remove node name which already completed   * limit completing node number to 2
- low: ui_root: add completers for do_status
- Update Dockerfile
- fix exception of xml sort in python3
- make it compatible with python3
- This is a proposed fix for bug 283.  The fix was to change the except object type to IOError when a directory cannot be found due to a process that has terminated.
- medium: bootstrap: Only call firewall-cmd if firewalld is active
- medium: ui_node: node attribute/status-attr is about node attr, not for resources
- low: ordereddict: Use builtin if available
- medium: ui_node: node utilization is about node attr, not for resources
- medium: ui_configure: in modgroup, comlete none when remove for one ra group
- medium: ui_configure: in modgroup, complete none after remove
- medium: ui_configure: in modgroup, add free id and remove id in group
- low: bootstrap: Clarify messages
- low: bootstrap: Improve comments / error messages
- low: bootstrap: Check for firewalld before SuSEfirewall2
- medium: bootstrap: Add support for chrony
- Fix SBD configuration when using SBD device (Fixes #235)
- Detect firewall by checking installed packages
- medium: ui_resource: start stopped resources and stop started resources
- low: bootstrap: simplify the code for checking adminIP
- low: bootstrap: reset dev value when input of dev not valid
- low: bootstrap: catch OSError except instead of crash
- low: bootstrap: give error hints when use sbd without watchdog
- medium: enable add the second heartbeat line for mcast   Changes include:   1. skip second heartbeat configure when number of local networks < 2   2. bindnetaddrs must be different and the gap between ports must larger than 1   3. give different default value for second configuration   4. IPv4 & IPv6 support
- fix: bootstrap: remove cib.xml before corosync.add_node
- medium: bootstrap: adminIP should not be exist before config
- medium: bootstrap: adminIP should not be the network self
- low: main: add hostname in promptstr
- fix: utils.list_cluster_nodes: use "crm_node -l" first
- medium: utils: list_cluster_nodes: read nodes list from cib.xml
- low: ui_node: return False when cibdump2elem return None
- low: ui_cluster: strip "None" when cmd stdout is None
- medium: bootstrap: valid adminIP   The administration virtaul IP must:   1) have a valid IPv4/IPv6 formation   2) belongs one of local networks
- medium: utils: extend "IP/Network" codes for IPv4/IPv6 both
- medium: bootstrap: use strict regrex and valid function for bindnetaddr/mcastaddr
- low: bootstrap: when node joining, it will take a while after init_cluster_local
- low: bootstrap: join_csync2 may take a long while   so, use status_long and status_done to give the hints
- medium: bootstrap: configure with IPv6(unicast)
- medium: bootstrap: configure with IPv6(mcast)   Changes include:   1) use "-I" option stand for IPv6 in ui_cluster   2) totem.ip_version should set as "ipv6"   3) choose one interface which has IPv6 address as default values   4) each node must have an uniqe nodeid when using IPv6,      the nodeid came from IPv6 address in default interface   5) for IPv6 network compute, learn from      https://github.com/tehmaze/ipcalc
- high: bootstrap: expected votes wouldn't update in unicast mode
- medium: bootstrap: disable completion and history when running bootstrap
- low: ui_cluster: change cluster name need restart cluster service
- low: ui_cluster: Add two new lines before add a new node
- medium: bootstrap: run "csync2_update" for all files after new joining node call csync2_remote
- low: config: add "%s" in format
- low: ui_cluster: run command on a specific node
- low: bootstrap: color the input error message
- low: bootstrap: suppress the error message
- low: bootstrap: Improve message when sbd is not installed (bsc#1050427)
- low: bootstrap: Don't rely on ha-cluster-* shortcuts
- low: completers: filter out ms resource when doing promote/demote
- Add missing ')'
- medium: ui_cluster: use get_property instead of get_property_w_default
- low: ui_cluster: show cluster name in cluster status command
- low: help: adjust the help print width     adjust the width between cmd and cmd short description for long cmd name
- low: command: a clear and better way replace for commit 4ac8d4(Improved cd completion)       * code changes happened just in command:_cd_completer function       * on the root level, complete sublevel names after "cd "       * on the sublevel, complete other sublevel path after "cd ../"       * complete sublevel names if this sublevel also have some sublevel names       * prevent '..' complete after every tab
- low: ui_cluster: complete node name once     or the same node name will be completed many times with many "Tab"s
- low: ui_cluster: when have an error for optparse, just return and stay at shell
- low: ui_cluster: when use help option, do not exit, just print help messages and return
- low: doc: add cluster rename info
- medium: ui_cluster: Add cluster rename command   * Update /etc/corosync/corosync.conf with the new name on all nodes   * Change the cluster-name property in the CIB   * Reload the corosync configuration on all nodes(use corosync-cmapctl)
- medium: bootstrap: add callback function to check valid port range
- low: bootstrap: give a confirm message when remove node
- medium: bootstrap: replace 'nodename' to 'seed_host'     because when given a node name which is not configured in cluster, program will crash     and say - UnboundLocalError: local variable 'nodename' referenced before assignment
- low: ui_cluster: add "delete" alias for "remove" option
- low:scripts:health: save health-report when run "crm cluster health"
- medium:command:adjust the 'ls' print width for long option   like 'crm cluster geo-init-arbitrator'
- low:doc:Add help info for cluster enable/disable option
- medium: ui_cluster: Add enable/disable option to enable/disable pacemaker service
- medium: bootstrap: Revert to --clusters as argument name
- low: doc: Correct minor mistakes in documentation
- medium: bootstrap: Rename --clusters to --sites (bsc#1047074)
- low: doc: Clarify --cluster-node parameter to geo-join
- medium: ui_ra: Improve resource agents completion
- medium: ui_context: Make all the options can be completed   Currently, not all the options can be completed by 'Tab', for example:     crm->configure->verify     crm->configure->back     crm->configure->master     crm->cluster->init   Maybe because the subcommand doesn't have completer yet;   Maybe because the subcommand itself is an alias of other command;
- Remove "up/back/end" option at root level
- Improve ls command outputs:   * sorted outputs   * print results column by column, like other complete results
- Improved cd completion:   * on the root level, complete sublevel names after "cd "   * on the sublevel, complete other sublevel path after "cd ../"   * prevent '..' complete after every tab
- medium: bootstrap: Fix watchdog SBD envvars (bsc#1045118)
- medium: scripts: Relax broadcast IP validation (bsc#1044233)
- medium: scripts: Clarify help text for NFS wizard (bsc#1044244)
- high: bootstrap: Add option to enable diskless SBD mode to cluster init (bsc#1045118)
- remove _keywords/_objects/_regtest/_test options from tab completion
- low: bootstrap: Fall back to logging into $TMPDIR/ha-cluster-bootstrap.log
- medium: ui_cluster: Add --force to ha-cluster-remove (bsc#1044071)
- medium: history: Revert preference of messages over ha-log.txt (bsc#1031138)
- Doc: add rules in operations example
- Test: add tests for rules in operations
- Fix: apply new cliformat to regression tests
- Feature: add rules support to operations
- medium: Add support for pacemaker PR#1208
- doc: Document lifetime parameter format
- medium: bootstrap: Make arbitrator argument optional (bsc#1038386)
- doc: geo-join requires --clusters argument (bsc#1037442)
- medium: bootstrap: Check required arguments to geo-join (bsc#1037421)
- medium: bootstrap: Handle failure to fetch config gracefully (bsc#1037423)
- medium: bootstrap: Enable "help geo-init" etc. (bsc#1037417)
- high: cibconfig: Graph file output option was reversed (bsc#1036595)
- medium: scripts/health: Make health script available as wizard (fate#320848) (fate#320866)
- lsb, service, stonith and systemd don't have any providers; so, it shouldn't be completed when type 'tab' after these ra classes.
- remove bindnetaddr for unicast(bsc#1030437)
- medium: bootstrap: Set expected_votes based on actual node count (bsc#1033288)
- low: bootstrap: Fix formatting of confirmation prompt (bsc#1028704)
- low: utils: Use /proc for process discovery
- medium: ui_cluster: Fix init with no arguments (bsc#1028735)
- low: bootstrap: Fix warning for formatting SBD device (bsc#1028704)
- low: utils: is_process did not work
- Allow empty fencing_topology (bsc#1025393)
- doc: Bootstrap howto guide

* Fri Jul 21 2017 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 3.0.1
- low: ui_cluster: when have an error for optparse, just return and stay at shell
- low: ui_cluster: when use help option, do not exit, just print help messages and return
- medium: bootstrap: replace 'nodename' to 'seed_host'     because when given a node name which is not configured in cluster, program will crash     and say - UnboundLocalError: local variable 'nodename' referenced before assignment
- medium: bootstrap: Revert to --clusters as argument name
- Add missing ')'
- medium: bootstrap: Rename --clusters to --sites (bsc#1047074)
- medium: bootstrap: Fix watchdog SBD envvars (bsc#1045118)
- medium: scripts: Relax broadcast IP validation (bsc#1044233)
- medium: scripts: Clarify help text for NFS wizard (bsc#1044244)
- high: bootstrap: Add option to enable diskless SBD mode to cluster init (bsc#1045118)
- medium: ui_cluster: Add --force to ha-cluster-remove (bsc#1044071)
- medium: history: Revert preference of messages over ha-log.txt (bsc#1031138)
- medium: bootstrap: Make arbitrator argument optional (bsc#1038386)
- doc: geo-join requires --clusters argument (bsc#1037442)
- medium: bootstrap: Check required arguments to geo-join (bsc#1037421)
- medium: bootstrap: Handle failure to fetch config gracefully (bsc#1037423)
- medium: bootstrap: Enable "help geo-init" etc. (bsc#1037417)
- high: cibconfig: Graph file output option was reversed (bsc#1036595)
- medium: bootstrap: Set expected_votes based on actual node count (bsc#1033288)
- remove bindnetaddr for unicast(bsc#1030437)
- medium: scripts/health: Make health script available as wizard (fate#320848) (fate#320866)
- low: utils: Use /proc for process discovery
- medium: ui_cluster: Fix init with no arguments (bsc#1028735)
- low: bootstrap: Fix warning for formatting SBD device (bsc#1028704)
- Allow empty fencing_topology (bsc#1025393)

* Tue Jan 31 2017 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 3.0.0
- high: bootstrap: Add bootstrap commands (fate#321114)
- high: logparser: Update transition RE (#168)
- high: scripts: Remove script versions of add/remove/init
- high: utils: Fix typo in tmpf patch (bsc#999683)
- medium: bootstrap: Configure hawk iff package installed
- medium: ui_cluster: Fix broken cluster remove command
- medium: bootstrap: Invoke _remote commands correctly
- medium: bootstrap: adapt firewall handling to other platforms
- medium: ui_cluster: Compatibility mode for old cluster init behavior
- medium: ui_history: Avoid ugly wrapping of diff output
- medium: hb_report: Make sure this never expands to rm -rf /
- medium: hb_report: don't use backticks in local
- low: completers: give the op's hint when type tab after 'op'
- low: bootstrap: Handle None as result from remote command correctly
- low: bootstrap: Avoid warning if known_hosts doesn't exist
- low: bootstrap: Don't check for ptty for _remote stages
- low: ui_cluster: No need to check the cluster stack in requires
- low: ui: Fix vim highlightning support.
- low: ui_script: Fix script list all/names argument handling
- low: cibconfig: Clearer error for duplicate ID (bsc#1009748)
- low: ui_cluster: start/stop don't touch corosync, just pacemaker

* Tue Oct 25 2016 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 2.3.2
- high: history: Quote archive tarball name if it contains spaces (bsc#998959)
- high: history: Prefer /var/log/messages over ha-log.txt (bsc#998891)
- high: parse: Support target pattern in fencing topology
- high: cibconfig: Ensure temp CIB is readable by crm_diff (bsc#999683)
- medium: corosync: Fix missing variable in del-node
- medium: scripts: Drop logrotate check from cluster health
- medium: scripts: Better corosync defaults (bsc#1001164)
- medium: cibconfig: Remove from tags when removing object
- medium: ui_configure: option to obscure passwords
- low: cmd_status: More detail in verify output
- low: crm_pssh: Fix nodenum envvar name
- low: cmd_status: Highlight plural forms (bsc#996806)
- doc: Fix inverted boolean in resource set documentation

* Fri Sep 2 2016 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 2.3.1
- Require Python 2.6+, not 2.7 (bsc#995611) (#152)

* Fri Aug 12 2016 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 2.3.0
- medium: constants: Add missing alerts constants (#150) (bsc#992789)
- high: hb_report: Don't collect logs from journalctl if -M is set (bsc#990025)
- high: hb_report: Skip lines without timestamps in log correctly (bsc#989810)
- low: scripts: Fix use of non-relative import for ra
- medium: tmpfiles: Create temporary directory if non-existing (bsc#981583)
- medium: xmlutil: reduce unknown attribute to warning (bsc#981659)
- high: constants: Add maintenance to set of known attributes (bsc#981659)
- medium: scripts: no-quorum-policy=ignore is deprecated (bsc#981056)
- low: history: fall back to any log file in report root
- medium: history: Report better error when history user is not sudoer (bsc#980924)
- high: history: Store live report in per-user directory (bsc#980924)
- medium: logparser: Fix use-before-declaration error in logparser
- low: utils: Clearer error if permission denied when locking (bsc#980924)
- medium: logparser: Handle read-only access to metadata cache (bsc#980924)
- doc: Add @steenzout to AUTHORS
- fix issue #144 by comparing output line by line (#146)
- fixed version number (#142)
- added crm to scripts (#143)
- doc: sort subcommands in the documentation
- high: parse: Support for event-driven alerts (fate#320855) (#136)
- medium: ui_resource: Add force argument to resource cleanup (bsc#979420)
- high: ui_resource: Improved resource move/clear/locate commands
- medium: ui_resource: Show utilization in output from crm resource scores
- high: utils: Avoid deadlock if DC changes during idle wait (bsc#978480)
- low: scripts: Note SBD recommendation in libvirt script (fate#318320)
- low: scripts: Note SBD recommendation in vmware script (fate#318320)
- high: ui_root: Add crm verify command
- low: hb_report: Fix spurious error on missing events.txt
- medium: hb_report: Fix broken -S option (#137)
- medium: ui_node: Fix crash in node fence command (bsc#974902)
- low: scripts: Better description for sbd
- low: scripts: Preserve formatting in description for vmware wizard
- medium: scripts: Add vmware to data manifest (fate#318320)
- high: scripts: VMware fencing using vCenter (fate#318320)
- low: scripts: Shouldn't set -e here (fate#318320)
- low: parse: Don't validate operation name in parser (bsc#975357)
- low: constants: Add missing reload operation to parser
- medium: ui_node: Fix "crm node fence" (bsc#974902) (#134)
- low: corosync: Recycle node IDs when possible
- low: scripts: Fix watchdog test in sbd-device (fate#318320)
- low: scripts: Only print debug output locally unless there were remote actions
- low: cibconfig: Don't mix up CLI name with XML tag
- low: parser: ignore case for attr: prefix
- medium: scripts: Use os.uname() to find hostname (#128)
- low: history: Don't skip nodes without logs
- low: logparser: Don't crash on nodes without logs
- low: scripts: Need sudo if non-local call
- medium: hb_report: Add timeout to SSH connection (bsc#971690)
- low: scripts: Clean up various scripts
- medium: main: Add -o|--opt to pass extra options for crmsh
- low: command: handle stray regex characters in input
- medium: scripts: SBD wizard which configures SBD itself (fate#318320)
- medium: scripts: Add nfs-utils to list of packages for nfsserver
- medium: scripts: Set sudo and full path for exportfs -v in nfs scripts
- medium: scripts: Don't require sudo for root
- medium: scripts: inline scripts for call actions
- medium: scripts: Simplify SBD script (bsc#968076) (fate#318320)
- low: logparser: Add cib info to __meta for hawk
- low: hb_report: Suggest user checks timeframe on empty logs (bsc#970823)
- medium: ui_node: Add crm node server command
- medium: hb_report: Use server attribute for remote nodes if set (bsc#970819)
- low: ui_resource: alias show to get
- high: history: Faster log parsing (bsc#920278)
- low: log_patterns_118: Add captures to log patterns for tagging (bsc#970278)
- medium: crm_pssh: Fix live refresh of journalctl logs (bsc#970931)
- low: hb_report: Warn if generated report is empty (bsc#970823)
- low: hb_report: Print covered time span at exit (bsc#970823)
- low: logtime: Improve performance of syslog_ts (bsc#970278)
- low: scripts: Fix error in service action
- low: history: use os.listdir to list history sessions
- medium: ui_node: Use stonith_admin -F to fence remote nodes (bsc#967907)
- low: ui_node: Less cryptic query when fencing node
- low: config: Messed up previous fix (#119)
- low: config: Clean up libdir configuration (#119)
- medium: config: make multiarch dependency a dynamic include (#119)
- high: ui_configure: Fix commit force (#120)
- medium: hb_report: Don't collect logs on non-nodes (bsc#959031)
- medium: ui_configure: Only wait for DC if resources were stopped (#117)
- low: Fix title style vs. sentence style in cluster scripts (bsc#892108)
- medium: command: Disable fuzzy matcher for completion (#116)
- Merge pull request #115 from rikkotec/patch-queue/remove-fix-for-debian
- medium: corosync: added optional parameter [name] to "corosync add-node" function
- medium: constants: clone-min meta attribute (new in Pacemaker 1.1.14)
- medium: cibconfig: add and|or filter combinators to influence filtering (fate#320401)
- high: scripts: fix broken cluster init script (bsc#963135)
- high: scripts: Add LVM on DRBD cluster script (bsc#951132)
- high: scripts: Add NFS on LVM and DRBD cluster script (bsc#951132)
- medium: ui_configure: Rename show-property to get-property
- high: scripts: Improved OCFS2 cluster script (bsc#953984)
- medium: scripts: Updated SBD cluster script
- high: history: Parse log lines without timestamp (bsc#955581)

* Fri Jan 15 2016 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 2.2.0
- medium: history: Fix live report refresh (bsc#950422) (bsc#927414)
- medium: history: Ignore central log
- medium: cibconfig: Detect false container children
- low: clidisplay: Avoid crash when colorizing None
- medium: scripts: Load single file yml scripts
- medium: scripts: Reformat scripts to simplified form
- medium: ui_history: Add events command (bsc#952449)
- low: hb_report: Drop function from event patterns
- high: cibconfig: Preserve failure through edit (bsc#959965)
- high: cibconfig: fail if new object already exists (bsc#959965)
- medium: ui_cib: Call crm_shadow in batch mode to avoid spawning subshell (bsc#961392)
- high: cibconfig: Fix XML import bug for cloned groups (bsc#959895)
- high: ui_configure: Move validate-all validation to a separate command (bsc#956442)
- high: scripts: Don't require scripts to be an array of one element
- medium: scripts: Enable setting category in legacy wizards (bnc#957926)
- high: scripts: Don't delete steps from upgraded wizards (bnc#957925)
- high: ra: Only run validate-all if current user is root
- high: cibconfig: Call validate-all action on agent in verify (bsc#956442)
- high: script: Fix issues found in cluster scripts
- high: ui_ra: Add ra validate command (bsc#956442)
- low: resource: Fix unban alias for unmigrate
- high: ui_resource: Add constraints and operations commands
- high: ui_resource: Enable start/stop/status for multiple resources at once (bsc#952775)
- high: scripts: Conservatively verify scripts that modify the CIB (bsc#951954)
- high: xmlutil: Order is significant in resource_set (bsc#955434)
- medium: scripts: Lower copy target to string
- doc: configure load can read from stdin
- medium: script: (filesystem) create stopped (bsc#952670)
- medium: scripts: Check required parameters for optional sub-steps
- high: scripts: Eval CIB text in correct scope (bsc#952600)
- medium: utils: Fix python 2.6 compatibility
- medium: ui_script: Tag legacy wizards as legacy in show (bsc#952226)
- medium: scripts: No optional steps in legacy wizards (bsc#952226)
- high: utils: Revised time zone handling (bsc#951759)
- high: report: Fix syslog parser regexps (bsc#951759)
- low: constants: Tweaked graph colours
- high: scripts: Fix DRBD script resource reference (bsc#951028)
- low: constants: Tweaked graph colors
- medium: report: Make transitions without end stretch to 2525
- high: utils: Handle time zones in parse_time (bsc#949511)
- medium: hb_report: Remove reference to function name in event patterns (bsc#942906)
- medium: ui_script: Optionally print common params
- medium: cibconfig: Fix sanity check for attribute-based fencing topology (#110)
- high: cibconfig: Fix bug with node/resource collision
- high: scripts: Determine output format of script correctly (bsc#949980)
- doc: add explanatory comments to fencing_topology
- doc: add missing backslash in fencing_topology example
- doc: add missing <> to fencing_topology syntax
- low: don't use deprecated crm_attribute -U option
- doc: resource-discovery for location constraints
- high: utils: Fix cluster_copy_file error when nodes provided
- low: xmlutil: More informative message when updating resource references after rename
- doc: fix some command syntax grammar in the man page
- high: cibconfig: Delete constraints before resources
- high: cibconfig: Fix bug in is_edit_valid (bsc#948547)
- medium: hb_report: Don't cat binary logs
- high: cibconfig: Allow node/rsc id collision in _set_update (bsc#948547)
- low: report: Silence tar warning on early stream close
- high: cibconfig: Allow nodes and resources with the same ID (bsc#948547)
- high: log_patterns_118: Update the correct set of log patterns (bsc#942906)
- low: ui_resource: Silence spurious migration non-warning from pacemaker
- medium: config: Always fall back to /usr/bin:/usr/sbin:/bin:/sbin for programs (bsc#947818)
- medium: report: Enable opening .xz-compressed report tarballs
- medium: cibconfig: Only warn for grouped children in colocations (bsc#927423)
- medium: cibconfig: Allow order constraints on group children (bsc#927423)
- medium: cibconfig: Warn if configuring constraint on child resource (bsc#927423) (#101)
- high: ui_node: Show remote nodes in crm node list (bsc#877962)
- high: config: Remove config.core.supported_schemas (bsc#946893)
- medium: report: Mark transitions with errors with a star in info output (bsc#943470)
- low: report: Remove first transition tag regex
- medium: report: Add transition tags command (bsc#943470)
- low: ui_history: Better error handling and documentation for the detail command
- low: ui_history: Swap from and to times if to < from
- medium: cibconfig: XML parser support for node-attr fencing topology
- medium: parse: Updated syntax for fencing-topology target attribute
- medium: parse: Add support for node attribute as fencing topology target
- high: scripts: Add enum type to script values
- low: scripts: [MailTo] install mailx package
- low: scripts: Fix typo in email type verifier
- high: script: Fix subscript agent reference bug
- low: constants: Add meta attributes for remote nodes
- medium: scripts: Fix typo in lvm script
- high: scripts: Generate actions for includes if none are defined
- low: scripts: [virtual-ip] make lvs_support an advanced parameter
- medium: crm_pssh: Timeout is an int (bsc#943820)
- medium: scripts: Add MailTo script
- low: scripts: Improved script parameter validation
- high: parse: Fix crash when referencing score types by name (bsc#940194)
- doc: Clarify documentation for colocations using node-attribute
- high: ui_script: Print cached errors in json run
- medium: scripts: Use --no option over --force unless force: true is set in the script
- medium: options: Add --no option
- high: scripts: Default to passing --force to crm after all
- high: scripts: Add force parameter to cib and crm actions, and don't pass --force by default
- low: scripts: Make virtual IP optional [nfsserver]
- medium: scripts: Ensure that the Filesystem resource exists [nfsserver] (bsc#898658)
- medium: report: Reintroduce empty transition pruning (bsc#943291)
- low: hb_report: Collect libqb version (bsc#943327)
- medium: log_patterns: Remove reference to function name in log patterns (bsc#942906)
- low: hb_report: Increase time to wait for the logmark
- high: hb_report: Always prefer syslog if available (bsc#942906)
- high: report: Update transition edge regexes (bsc#942906)
- medium: scripts: Switch install default to false
- low: scripts: Catch attempt to pass dict as parameter value
- high: report: Output format from pacemaker has changed (bsc#941681)
- high: hb_report: Prefer pacemaker.log if it exists (bsc#941681)
- medium: report: Add pacemaker.log to find_node_log list (bsc#941734)
- high: hb_report: Correct path to hb_report after move to subdirectory (bsc#936026)
- low: main: Bash completion didn't handle sudo correctly
- medium: config: Add report_tool_options (bsc#917638)
- high: parse: Add attributes to terminator set (bsc#940920)
- Medium: cibconfig: skip sanity check for properties other than cib-bootstrap-options
- medium: ui_script: Fix bug in verify json encoding
- low: ui_script: Check JSON command syntax
- medium: ui_script: Add name to action output (fate#318211)
- low: scripts: Preserve formatting of longdescs
- low: scripts: Clearer shortdesc for filesystem
- low: scripts: Fix formatting for SAP scripts
- low: scripts: add missing type annotations to libvirt script
- low: scripts: make overridden parameters non-advanced by default
- low: scripts: Tweak description for libvirt
- low: scripts: Strip shortdesc for scripts and params
- low: scripts: Title and category for exportfs
- high: ui_script: drop end sentinel from API output (fate#318211)
- low: scripts: Fix possible reference error in agent include
- low: scripts: Clearer error message
- low: Remove build revision from version
- low: Add HAProxy script to data manifest
- medium: constants: Add 'provides' meta attribute (bsc#936587)
- medium: scripts: Add HAProxy script
- high: hb_report: find utility scripts after move (bsc#936026)
- high: ui_report: Move hb_report to subdirectory (bsc#936026)
- high: Makefile: Don't unstall hb_report using data-manifest (bsc#936026)
- medium: report: Fall back to cluster-glue hb_report if necessary (bsc#936026)
- medium: scripts: stop inserting comments as values
- high: scripts: subscript values not required if subscript has no parameters / all defaults (fate#318211)
- medium: scripts: Fix name override for subscripts (fate#318211)
- low: scripts: Clean up generated CIB (fate#318211)

* Sat Jun 13 2015 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Pre-release 2.2.0-rc3
- high: Merge rewizards development branch (fate#318211)
  (fate#318384) (fate#318483) (fate#318482) (fate#318550)

- Summary of some of the changes included in the merge of
  the rewizards branch:

  + Colorized status output
  + New and more capable cluster script implementation
  + Deprecated the crmsh templates (not the CIB templates,
    the configuration templates)
  + Implemented a JSON API interface to the cluster scripts
    for hawk to use instead of having its own wizards
  + Handlebars-like templating language for cluster scripts
    that modify the CIB
  + Collect metadata from resource agents to avoid duplication
    in configuration scripts
  + Extended validation support for parameter values
  + New cluster scripts:

   - Stonith: SBD and libvirt
   - Apache web server
   - NFS server
   - cLVM
   - Databases: MySQL / MariaDB / Oracle / DB2
   - SAP
   - OCFS2
   - etc.

  + Radically simplified automake and autoconf setup
  + Improved completion performance
  + Added pygment lexers used by the history guide as stand-alone
    python module in contrib/
  + Removed dependency on corosync for regression test suite
  + Sort topics and commands in help output
  + Hide internal commands in help and ls
  + Clearer debug output when simulating
  + Cleaned up and fixed documentation bugs

- high: cmd_status: Colorize status output
- low: cmd_status: Add full argument to status
- low: scripts: Handle local runs even if nodelist doesn't contain local node
- low: scripts: Stricter regexp for identifiers
- doc: Fix unterminated block
- low: command: Hide internal commands from ls
- low: script: Rename describe to show
- doc: Document the script JSON API
- low: handles: Clean up special values
- medium: help: Sort topics and commands in help output
- doc: scripts: Basic documentation for the cluster scripts
- doc: Describe website compilation process in development.md
- contrib: Add pygment lexers used by the history guide
- build: Add update-data-manifest.sh to generate datadir file list
- medium: ui_script: Add JSON API
- medium: config: add config.path.hawk_wizards
- medium: handles: Fix error in strict parameter handling
- scripts: Add placeholders for some basic scripts
- WIP: in-progress notes etc.
- doc: Update reference to parallax in scripts documentation
- low: handles: Also allow # and $ in identifiers
- medium: handles: Replace magic value with callables
- medium: handles: {{^feature}}invert blocks{{/feature}}
- medium: resource: Add ban command
- medium: ui_root: Make the cibstatus command available directly from the root
- medium: hb_report: Collect logs from pacemaker.log
- low: crm: Detect and report use of python 3
- doc: Link to japanese translation of Getting Started
- medium: crm_pkg: Fix cluster init bug on RH-based systems
- medium: crm_gv: Improved quoting of non-identifier node names (bsc#931837)
- medium: crm_gv: Wrap non-identifier names in quotes (bsc#931837)
- low: Fix references to pssh to refer to parallax
- medium: report: Try to load source as session if possible (bsc#927407)
- low: xmlutil: Update comment to match the code
- Merge pull request #91 from krig/missing-transitions
- high: report: New detection to fix missing transitions (bnc#917131)
- medium: ui_configure: Add resource as an alias for primitive
- medium: parse: Allow implicit initial for groups as well
- medium: parse: More robust implicit initial parser
- doc: website: Embedded hawk video in announcement
- doc: news: News update for 2.1.4
- Merge pull request #95 from dmuhamedagic/history-guide
- Medium: doc: add history guide
- Low: doc: simplify to make it work with python 2.6
- Medium: hb_report: use faster zypper interface if available
- medium: ui_configure: Wait for DC when removing running resource
- Merge pull request #94 from rikkotec/patch-queue/debian-multiarch-compat
- Fix CFLAGS for supporting triplet paths with pacemaker
- low: schema: Don't leak PacemakerError exceptions (#93)
- high: ui_cluster: Add copy command
- doc: Update the documentation for the upgrade command
- parse: Don't require trailing colon in tag definitions
- high: crm_pssh: Explicitly set parallax inline option (krig/parallax#1)
- doc: Add quick links to website
- high: ui_configure: Add show-property command
- medium: utils: Allow 1/0 as boolean values for parameters
- doc: Correct the URL to point to the new upstream repository
- doc: Add announcement for release 2.1.3
- low: hb_report: Use crmsh config to find pengine/cib dirs (bsc#926377)
- low: ui_options: add alias list for show
- medium: cliformat: Escape double-quotes in nvpair values
- high: parse: Don't allow constraints without applicants
- medium: parse: Disallow location rules without resources
- medium: ui_template: Make new command more robust (bnc#924641)
- high: fix typo in previous commit
- high: ui_node: Don't fence node in clearstate (boo#912919)
- low: Replaced README with README.md
- medium: ui_template: Always generate id unless explicitly defined (boo#921028)
- high: cibconfig: Derive id for ops from referenced resource name (boo#921028)
- medium: templates: Clearer descriptions for editing templates (boo#921028)
- high: ui_context: Wait for DC after commit, not before (#85)
- high: cibconfig: Don't delete valid tickets when removing referenced objects (bnc#922039)
- high: ui_configure: Remove acl_group command (bnc#921056)
- doc: Document changes to template list|new
- medium: help: Teach help to fuzzy match topics
- doc: Describe the shorthand syntax for commands
- low: command: Use fuzzy match for sublevel check
- medium: command: Fuzzy match command names
- low: ui_context: Use true command name when reporting errors
- doc: Move the main crmsh repository to the ClusterLabs organization on github
- Merge pull request #82 from dmuhamedagic/sync_hb_report
- Low: hb_report: add -X option for extra ssh options
- Merge pull request #81 from lge/for-krig
- fix: catch exception if schema file does not exist
- low: allow pacemaker 1.0 version detection
- low: allow (0,1) as option booleans
- medium: cibconfig: Allow removal of non-existing elements if --force is set
- medium: cibconfig: Allow delete of objects that don't exist without returning error code
- medium: cibconfig: If a change results in no diff, exit silently
- low: pacemaker: Remove debug output
- medium: schema: Remove extra debug output
- medium: schema: Test if node type is optional via schema
- medium: parse: Treat pacemaker-next schema as 2.0+
- low: cibconfig: Improved debug output when schema change fails
- medium: cibconfig: Fix inverted logic causing spurious warning
- Merge pull request #80 from dmuhamedagic/schema-update
- Medium: cibconf: preserve cib user attributes
- medium: ra: Handle non-OCF agent meta-data better
- medium: config: Fix case-sensitivity for booleans
- medium: report: Include transitions with configuration changes (bnc#917131)
- medium: xmlutil: Improved check for related elements
- doc: Documentation for show related:<obj>
- medium: report: Convert RE exception to simpler UI output
- medium: cibconfig: add show related:<obj>
- doc: Add link to clusterlabs.org
- medium: parse: Encode unicode using xmlcharrefreplace in parser
- medium: parse: nvpair attributes with no value = <nvpair name=".."/> (#71)
- medium: ui_cluster: Add diff command (bnc#914525)
- doc: website: Fix changelog in news entry
- doc: website: Add news release for 2.1.2
- medium: report: Fall back to end_ts = start_ts
- medium: util: Don't fall back to current time
- high: xmlutil: Treat node type=member as normal (boo#904698)
- low: xmlutil: logic bug in sanity_check_nvpairs
- medium: xmlutil: Modify sort order of object types
- medium: cibconfig: Use orderedset to avoid reordering bugs (#79)
- medium: orderedset: Add OrderedSet type
- medium: cibconfig: Detect v1 format and don't patch container changes (bnc#914098)
- medium: constants: Update transition regex (#77)
- Revert "high: xmlutil: Reorder elements only if sort_elements is set (#78)"
- low: ui_options: Add underscore aliases for legacy options
- high: xmlutil: Reorder elements only if sort_elements is set (#78)
- medium: cibconfig: Strip digest from v1 diffs (bnc#914098)
- Merge pull request #77 from krig/mail-patchset
- medium: crm_pssh: Make tar follow symlinks
- medium: constants: Fix transition start detection
- medium: crm_pssh: Handle incomplete Option argument
- high: crm_pssh: Use correct Task API in do_pssh (bnc#913261)
- medium: cibconfig: Break infinite edit loop if --force is set
- Merge pull request #76 from dmuhamedagic/log-patterns
- high: utils: Locate binaries across sudo boundary (bnc#912483)
- low: config: Convert NoOptionError to ValueError
- low: msg: Add note on modifying supported schemas
- medium: config: Add 2.3 to list of supported schemas
- medium: utils: crm_daemon_dir is added to PATH in envsetup (#67)

* Fri Jan  9 2015 Kristoffer Grönlund <kgronlund@suse.com> and many others
- medium: ui_resource: Set probe interval 0 if not set (bnc#905050)
- doc: Document probe op in resource trace (bnc#905050)
- low: ui_resource: --reprobe and --refresh are deprecated (bnc#905092)
- doc: Document deprecation of refresh and reprobe (bnc#905092)
- medium: parse: Support resource-discovery in location constraints
- medium: pacemaker: Support pacemaker-next as schema
- medium: cibconfig: Allow unsupported schemas with warning
- medium: ra: Use correct path for crmd (#67)
- medium: cmd_status: Show pending if available, enable extra options
- high: config: Fix path to system-wide crm.conf (#67)
- medium: config: Fall back to /etc/crm/crmsh.conf (#67)
- low: cliformat: Colorize id: as identifier (boo#905338)
- medium: cibconfig: Revised CIB schema handling
- medium: ui_configure: Add replace option to commit
- medium: cibconfig: Don't bump epoch if stripping version
- medium: ui_context: Lazily import readline
- medium: ui_configure: selectors in save command
- medium: config: Add core.ignore_missing_metadata (#68) (boo#905910)
- Medium: config: add alwayscolor to display output option
- doc: Clarify documentation for property (boo#905637)
- doc: Add documentation section describing rule expressions (boo#905637)
- doc: Link to documentation on rule expressions
- medium: Allow removing groups even if is_running (boo#905271)
- medium: cibconfig: Delete containers first in edits (boo#905268)
- doc: Improved documentation for show and save
- doc: Add note about modeline for vim syntax
- medium: ui_history: Fix crash using empty object set
- utils: append_file: open destination in append-mode (boo#907528)
- medium: parse: Allow nvpair with no value using name= syntax (#71)
- medium: parse: Enable name[=value] for nvpair (#71)
- Low: term: get rid of annying ^O in piped-to-less-R output
- high: parse: Implicit initial parameter list
- high: crm_pssh: Switch to python-parallax over pssh (bnc#905116)
- low: report: Fix references to PSSH
- low: report: Delay Report creation until use
- medium: utils: Check if path basename is less (#74)
- medium: ui_options: Accept prefix or suffix of option as argument
- medium: Remove CIB version in case no --no-version.
- low: cibconfig: Use LXML to remove version data more robustly (#75)
- low: crm_gv: Avoid crashing if passed None in my_edge
- low: cibconfig: Protect against dereferencing None when building graph

* Tue Oct 28 2014 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Pre-release 2.2.0-rc1
- cibconfig: Clean up output from crm_verify (bnc#893138)
- high: constants: Add acl_target and acl_group to cib_cli_map (bnc#894041)
- medium: cibconfig: Add set command
- doc: Rename asciidoc files to %.adoc
- high: parse: split shortcuts into valid rules
- medium: Handle broken CIB in find_objects
- high: scripts: Handle corosync.conf without nodelist in add-node (bnc#862577)
- low: template: Add 'new <template>' shortcut
- low: ui_configure: add rm as alias for delete
- low: ui_template: List both templates and configs by default
- medium: config: Assign default path in all cases
- low: main: Catch any ValueErrors that may leak through
- doc: Update TODO
- low: corosync: Check tools before use
- low: ui_ra: Don't crash when no OCF agents installed
- low: ra: Add systemd-support to RaOS
- doc: Updated documentation
- doc: Handle command names with underscore
- doc: Add tool to sort command list in documentation
- doc: Sort command list in documentation alphabetically
- high: cibconfig: Generate valid CLI syntax for attribute lists (bnc#897462)
- high: cibconfig: Add tag:<tag> to get all resources in tag
- low: report: Sort list of nodes
- low: ui_cluster: More informative error message
- low: main: Replace getopt with optparse
- high: parse: Allow empty attribute values in nvpairs (bnc#898625)
- high: ui_maintenance: Add maintenance sublevel (bnc#899234)
- medium: rsctest: Add basic support for systemd services
- medium: ui_maintenance: Combine action and actionssh into a single command
- low: rsctest: Better error message for unsupported action
- low: cibconfig: Improve wording of commit prompt
- high: cibconfig: Delay reinitialization after commit
- doc: Add website template for the nongnu page
- medium: main: Disable interspersed args
- low: cibconfig: Fix vim modeline
- high: report: Find nodes for any log type (boo#900654)
- high: hb_report: Collect logs from journald (boo#900654)
- doc: Clarified note for default-timeouts
- doc: Remove reference to crmsh documentation at clusterlabs.org
- doc: start-guide: Fix version check
- medium: xmlutil: Use idmgmt when creating new elements (bnc#901543)
- doc: cibconfig: Add note on inner ids after rename
- high: cibconfig: Don't crash if given an invalid pattern (bnc#901714)
- high: xmlutil: Filter list of referenced resources (bnc#901714)
- medium: ui_resource: Only act on resources (#64)
- medium: ui_resource: Flatten, then filter (#64)
- high: ui_resource: Use correct name for error function (bnc#901453)
- high: ui_resource: resource trace failed if operation existed (bnc#901453)

* Mon Jun 30 2014 Kristoffer Grönlund <kgronlund@suse.com> and many others
- Release 2.1
- Add atom feed to development page
- Medium: hb_report: dot is not illegal in file names (bnc#884079, debian#715391)
- Low: history: remove existing report directory on refresh
- medium: ui_history: Print source if given no argument (bnc#883437)
- Medium: hb_report: update interface to zypper (bnc#883186)
- Medium: hb_report: support logs with varied timestamps (bnc#883186)
- Low: hb_report: getstampproc is global (bnc#883186)
- Low: hb_report: gdb debug symbols output change (bnc#883186)
- Low: hb_report: don't restrict debuginfo to cluster stack binaries (zypper) (bnc#883186)
- high: ui_history: Lazily fetch report data on command (bnc#882959)
- medium: report: Make setting report period more robust (bnc#882959)
- medium: ui_resource: Remove empty attrlists when overriding children (bnc#882655)
- high: cibconfig: Retain empty attribute sets (bnc#882655)
- Low: report: unpack tarball if it's newer than the existing directory
- Low: report: get node list based on collected logs, not from cib
- Low: report: test for ha-log.txt instead of cib.txt when listing nodes
- Low: report: don't warn on extra nodes in the report
- medium: ui_configure: Nicer error when pacemaker is not running (bnc#882475)
- medium: scripts: configure SSH in cluster init (bnc#882476)
- medium: ui_assist: add template command (bnc#882477)
- medium: cliformat: Fix CLI formatting for rules and id-refs
- doc: Update documentation for location constraints (bnc#873781)
- doc: Document interval suffixes (bnc#873677)
- medium: ui_node: Fix display of node attributes
- medium: parse: Allow remote as node type
- low: cliformat: Don't show extraneous id for acl rules
- high: cibconfig: Fix bug when copying nvpairs (bnc#881369)
- high: parse: Try to retain ordering if possible (bnc#880371)
- high: cibconfig: Enable use of v2 patches in Pacemaker (bnc#880371)
- medium: pacemaker: Don't hardcode list of supported schemas
- Medium: resource: modify some command wait options (bnc#880982)
- high: parse: Support for ACL schema 2.0 (bnc#880371)
- medium: schema: Fix typo in test_schema()
- medium: parse: Allow empty property sets (bnc#880632)
- medium: ui_resource: Also trace promote/demote for multistate resources
- medium: ui_resource: allow trace of resource without specific operation
- medium: ui_resource: Make op an optional argument to trace/untrace
- low: ui_resource: Allow untrace without explicit interval
- high: cibconfig: adjust attributes when adding operations (bnc#880052)
- high: parse: Support id-ref in nvpairs (fate#316118)
- low: ui_configure: Add --force flag to configure delete
- medium: xmlutil: Limit xpath search to children (bnc#879419)
- medium: ui: Fix argument check in resource commands (gh#crmsh/crmsh#29)
- high: xmlutil: Include remote nodes in nodelist (bnc#878112)
- medium: cibconfig: Detect broken child relationship (bnc#878112)
- high: cibconfig: Ban containers stealing children (bnc#878112)
- low: command: Add -h and --help as aliases to help
- high: parse: Allow role in rule-based location constraints (bnc#878128)
- medium: report: Return to handling timestamps internally (bnc#877495)
- medium: ui_resource: Fix race in start/stop/manage/unmanage (bnc#877640)
- medium: parse: Allow empty attribute lists
- medium: cibconfig: Fix uses of add_operation
- medium: report: Make regexp groups non-capturing to avoid limit (bnc#877484)
- medium: doc: Document rules in attribute lists (bnc#865292)
- medium: constants: Rename cluster attribute to cluster-name (fate#316118)
- medium: idmgmt: Fix id assignment and update regression tests (bnc#865292)
- medium: cibconfig: Enable score for instance_attributes (bnc#865292)
- high: cibconfig: Support rules in attribute lists (bnc#865292)
- low: cibconfig: Better error when referring to non-existant template
- medium: scripts: Handle percent characters in script output (bnc#876882)
- pacemaker: Support 2.0 schema
- vars: Rename property: s/site/cluster (fate#316118)
- Medium: hb_report: fix ssh passwords again (bnc#867365)
- vars: Add site to list of extra cluster properties (fate#316118)
- parse: Fix check for action/role in resource set parser (#14)
- report: More problems with datetime (bnc#874162)
- report: Resolve datetime/timestamp mixup (bnc#874162)
- utils: Handle datetime objects in shorttime/shortdate (bnc#874162)
- main: Fix reference before assignment (#7)
- crm: Check and complain about python version < 2.6 (#11)
- parse: Unify API for err(), fix error
- Fix garbage characters in prompt (issue#7)
- Medium: cibconf: add comments in the right order (bnc#866434)
- site: pass --force flag through to crm_ticket (bnc#873200)
- Low: report: Use subsecond precision if possible (bnc#872932)
- Low: hb_report: pcmk lib changed permissions (bnc#872958)
- Low: history: set colours for all nodes found (bnc#872936)
- ui_resource: Allow setting meta attributes on tags (fate#315101)
- ui_configure: tag command  (fate#315101)
- parse: Support cib object tags (fate#315101)
- cibconfig: Support filename-style globs in show/edit (bnc#864346)
- ui_resource: Only search in top-level (bnc#865024)
- ui_resource: Don't create extra nvpairs (bnc#865024)
- utils: Don't crash on missing reply to y/n question
- Allow building crmsh without PyYAML
- Support for pacemaker-1.3 RNG schema

* Thu Apr 4 2014 Kristoffer Grönlund <kgronlund@suse.com> and many others
- release 2.0
- Improve output from history explorer when using a crm_report-generated
  report (bnc#870886)
- Add journal.log to interesting log files (bnc#870886)
- make sanity check of node name not case sensitive
- hb_report: Don't use deprecated ifconfig (bnc#871089)
- parse: Clean up the CLI syntax display
- ra: display without class:provider: prefix if possible
- Better args error handling in configure load/save (bnc#870654)
- ui_context: Correctly check end_game() return value (bnc#868533)
- command: Propagate error from auto-commit (bnc#868533)
- crm_pkg: Add --no-refresh to zypper commands
- scripts: configure firewall to open cluster ports (bnc#868008)
- scripts: Improved debug output from cluster scripts (bnc#866636)
- main: Better descriptions for -d and -R flags.
- utils: Nicer warning when crm_simulate fails
- ui: Don't call nonexistent function on unsupported cluster stack
- xmlutil: fencing-topology used broken comparison (bnc#866639)
- parse: More liberal parsing of role assignment in constraint rules
- scripts: corosync uses mcastport - 1 (bnc#868008)
- utils: ask() did not respect force flag in all cases (bnc#868007)
- xmlutil: Compare attribute dictionaries properly
- xmlutil: Fix attribute handling in XML comparison function
- xmlutil: Fix sorting of attribute keys in xml_cmp
- xmlutil: Sanitize the CIB a bit less aggressively (bnc#866434)
- xmlutil: in xml_cmp, s/print/common_debug/
- xmlutil: Handle XML comments properly in xml_cmp
- xmlutil: order-independent XML comparison (bnc#866434)
- scripts: don't modify system unless necessary (bnc#866569)
- xmlutil: don't crash on degenerate colocations
- scripts: enable trace logging for cluster scripts (bnc#866636)
- ui_cluster: use crm_mon -bD1 in wait_for_cluster (bnc#866635)
- scripts: Disable corosync.log by default (bnc#866569)
- scripts: Open appropriate ports in firewall (bnc#866569)
- scripts: Configure quorum based on node count (bnc#866569)
- utils: Record all calls in regression test output (bnc#862383)
- ui_resource: Add maintenance command (bnc#863071)
- parse: Fix resource sets, once and for all (savannah#41617)
- scripts: Disable strict host key checking (bnc#864238)
- hb_report: Fix incorrect quotes (bnc#863816)
- cibconfig: do not format xml tags when requested (bnc#863746)
- cibconfig: Handle non-string arguments (bnc#863736)
- ui_root: Rename root level to 'root' (bnc#863583)
- corosync: Allow tabs in corosync.conf (bnc#862577)
- parse: Fix sequential=true for resource sets (bnc#862334)
- cibconfig: fencing_topology warning with stonith templates
  (savannah#41414)
- xmlutil: rsc_template has no provider attribute (savannah#41410)
- ra: Infer provider from RA name (bnc#860754)
- ui_options: add missing documentation for options set (bnc#860585)
- ui_cib: correct name of cib import (bnc#860584)
- ui_ra: Fix problems with ra info command (bnc#860583)
- ui_resource: Fix crash in resource cleanup (bnc#859570)
- ui_assist: Add assist sublevel (fate#314917)
- hb_report: Show progress when processing many transitions
- report: Open reports output by crm_report (fate#316330)
- hb_report: Display as 'report'
- report: Move report creation to root
- ui_report: Fix invocation of hb_report
- hb_report: call corosync-blackbox, not corosync-fplay
- help: Bug in delayed loading of help text
- corosync: Better parser and more commands
- scripts: Set PasswordAuthentication=no
- ui_resource: Fix bug in resource restart
- ui_cluster: Revised cluster status
- msg: Don't print ok/info to stderr
- ui_script: Allow --nodes='..', not only --nodes '..'
- scripts: Cluster scripts (fate#316464, fate#309206, fate#316332)
- config: Validate boolean values correctly
- main: Seed random generator on startup
- main: More informative error on start failure
- cluster: Use crm_node -l for node list
- crm_pssh: Limit scope of glob in pssh/get_output
- ui_context: Less repetitive error message on unknown command
- ui_cib: Fix typo in sublevel name: cib.cibconfig -> cib.cibstatus
- help: Return error if help topic is not found (bug#40821)
- main: Return more useful error codes
- crm_gv: Support rsc_template in graphs (bnc#850159)
- cibconfig: Updated fix for configure load method (bnc#841764)
- parse: Correct recognition of kind in order constraints
- history: Fix incorrect argument to level check
- report: Fix broken call to hb_report
- parse: Stricter parsing of resource names
- parse: Resource sets in location constraints (fate#315158).
- utils: Enable cibadmin -P for 1.1.11
- parse: rsc_template is not recognized by parser (bnc#854562)
- vars: Add remote-node as resource attribute (bnc#854552)
- cibconfig: Add missing config import
- hb_report: Prefer generating .bz2 archives (bnc#854060)
- hb_report: Add support for xz compression (bnc#854060)
- cluster: Implement run using pssh
- ui_cluster: Cluster sublevel implementation
- configure: Improved completion for group, clone, ms (bnc#845339)
- config: Set OCF_ROOT in environ structure (used by ra.py)
- main: Tab completion for multi-line statements BUG: bnc#845339
- bash_completion: Add completion installation to spec file
- ui_resource: Added new resource scores command
- command: Improved default help for commands
- crm_gv: Limit graph size to fit on A4
- config: New configuration file format
- parse: Support role= in rsc_location
- msg: Add colors to message output
- templates: Update OCFS2 template.
- ui_context: Fix readline completion for empty input
- ui_configure: Clearer error messages
- ui_context: Wait if in transit
- ui_configure: Clearer error messages
- Enable colorized prompt
- ui_context: Allow ui stack modifications
- ui_configure: Completion + help for primitive
- ui_context: Fix completion with no args to command
- command: Fix case with no args to completer
- ui_context: Improve completion
- ui_ra: Updated completion for info
- main.compgen: Adapt output to bash completion
- bash_completion: Improve colon-handling
- main: Fix issues with ctrl+C and profiling
- ui_options: add option to print single user preference values
- bash_completion: fix path to crm
- Clean up contextual_help
- Fix help with no argument
- ui_context: Allow commands that manipulate the stack
- ui_context: Fix stack handling
- ui_configure: Add missing return statement
- Check if command failed
- Initial bash completion / completion framework
- Add report level to wrap crmsh_hb_report
- UI makeover
- help: Rewritten help subsystem
- hb_report: exit early if which(1) is missing
- ui: anonymous temporary shadow CIBs
- cibconf: fix two fencing top issues (savannah#40173)
- node: clear state new way since pcmk 1.1.8 (bnc#843699)
- Integrate hb_report as part of crmsh

* Tue Sep 24 2013 Kristoffer Grönlund <kgronlund@suse.com>, Dejan Muhamedagic <dejan@suse.de>, and many others
- release 1.2.6
- cibconf: fix removing cluster properties in edit (bnc#841764)
- history: improve setting history source
- cibconf: fix rsc_template referencing (savannah#40011)
- rsctest: add support for STONITH resources
- help: fix help for alias commands
- history: show and allow completion of all primitives and not only
  top level resources such as groups
- site: add missing completions
- rsctest: fix multistate resource testing
- site: add missing command aliases

* Wed Aug 28 2013 Dejan Muhamedagic <dejan@suse.de> and many others
- release candidate 1.2.6-rc3
- cibconf: disable atomic updates until cibadmin gets fixed
- cibconf: match special ids on configuration edit (fixes
  disappearing elements on edit)
- doc: website sources

* Mon Aug  5 2013 Dejan Muhamedagic <dejan@suse.de> and many others
- release candidate 1.2.6-rc1
- main: allow starting with a specified CIB shadow
- main: make sure that tmp files get removed
- cibconf: replace minidom with lxml
- cibconf: groups can have the container meta attribute
- cibconf: do not load CIB automatically in a non-interactive
  mode (bnc#813045)
- cibconf: allow single level fencing_topology (savannah#38737)
- cibconf: improve exit code if a referenced element does not
  exist (e.g. in the show command)
- cibconf: add simulate alias for the ptest command
- cibconf: add -S when running crm_simulate (formerly ptest)
- cibconf: use cibadmin patch to update live CIB (with pcmk >= 1.1.10)
- cibconf: node ids are not id but text
- cibconf: improve elements edit operation
- resource: trace and untrace (RA) commands
- resource: prevent whitespace in meta_attributes when setting
  attributes in nested elements such as groups (bnc#815447)
- resource: add option for better control of group management
  (bnc#806901)
- node/resource: improve lifetime processing
- node: update interface to crm_node, its usage changed
  (bnc#805278)
- node: maintenance/ready commands
- node: ignore case when looking up nodes
- node: update interface to crm_node (node delete)
- node: allow forced node removal
- shadow: fix regression in cib import (from PE file)
- shadow: set shadow directory according to the user preference
- history: fix search for resource messages (bnc#803790)
- history: refresh live report for commands other than info
  (bnc#807402)
- history: use anonymous re groups to prevent out of groups assertion
- history: fix xpath expression for graphs of resource sets
- history: skip empty lines (!) when searching logs
- history: add support for rfc5242 date format in syslog
- userprefs: add reset command
- ui: fix exit code of crm status if crm_mon fails (savannah#38702)
- ui: fix exit code of the help command
- parse: drop obsolete test for operations
- performance: do not make unnecessary parameter uniqueness test
  (bnc#806372)
- performance: check programs existence with python os module
  (bnc#806372)
- performance: improve tests for running resources

* Wed Feb  6 2013 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.5
- cibconfig: modgroup command
- cibconfig: directed graph support
- cibconfig: fix syntax error in ptest
- history: diff command (between PE inputs)
- history: show pe commands
- history: graph command
- history: reduce number of live updates
- history: inherit year from the report

* Mon Dec 17 2012 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.4
- shadow: return proper exit code on I/O errors
- history: implement transition save (to shadow) subcommand
- history: fix regression when creating log objects
- history: detailed transition output
- history: force refresh on session load

* Tue Dec 11 2012 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.3
- ra: don't print duplicate RAs in the list command (bnc#793585)
- history: optimize source refreshing

* Thu Dec  6 2012 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.2
- cibconfig: don't bail out if filter fails
- cibconfig: improve id management on element update
- ra: add support for nagios plugins
- utils: make sure that there's at least one column (savannah#37658)
- ui: improve quotes insertion (possible regression)
- history: adjust log patterns for pacemaker v1.1.8
- history: fix setting up the timeframe alias for limit
- history: fix unpacking reports specified without directory
- history: add log subcommand to transition
- build: pcmk.pc renamed to pacemaker.pc in pacemaker v1.1.8

* Mon Oct 15 2012 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.1
- cibconfig: show error message on id in use
- cibconfig: repair edit for non-vi users
- cibconfig: update schema separately (don't remove the status section)
- cibconfig: node type is optional now
- ui: readd quotes for single-shot commands
- ra: manage without glue installed (savannah#37560)
- ra: improve support for RH fencing-agents
- ra: add support for crm_resource
- history: remove keyword 'as' which is not compatible with python
  2.4 (savannah#37534)
- history: add the exclude (log messages) command
- history: pacemaker 1.1.8 compatibility code
- utils: exit code of cibadmin -Q on no section changed in 1.1.8
- some more pacemaker 1.1.8 compatibility code

* Tue Sep 18 2012 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.2.0
- cibconfig: support the kind attribute in orders
- cibconfig: implement node-attribute in collocations
- cibconfig: support require-all in resource sets
- cibconfig: support for fencing-topology
- cibconfig: new schema command
- rsctest: resource testing
- history: implement session saving
- history: add alias (timeframe) for the limit command
- xml: support for RNG schema
- site: ticket standby and activate commands
- site: update interface to crm_ticket
- cibstatus: ticket management
- ui: add vim syntax highlighting support
- xml: retrieve data from schema (lf#2092)
- stonith: support rhcs fence-agents (bnc#769724)
- ticket: fix redirecting rsc references in tickets (bnc#763465)
- ui: import readline only when needed (don't print ".[?1034h")
- ui: don't accept non-ascii input (lf#2597)
- ui: enable wait (option -w) for single-shot configure commands
- shadow: calculate shadow directory just like crm_shadow (bnc#759056)
- utils: improve terminal output height calculation (pager)
- utils: use crm_simulate if ptest is not available
- utils: repair ptest usage (bnc#736212)
- utils: prevent spurious error messages if an element doesn't
  exist in CIB (bnc#723677)
- cibconfig: drop attributes set to default on cib import
- cibconfig: support setting attributes in resource sets
- cibconfig: display referenced attr set ids (lf#2304)
- cibconfig: don't verify parameters starting with '$'
- cibconfig: fix meta attributes verify for container elements (lf#2555)
- cibconfig: test for duplicate monitor intervals (lf#2586)
- cibconfig: don't skip monitor operations on verify
- cibconfig: use uname instead of id when listing nodes (cl#5043)
- cibconfig: repair resource parameter uniqueness test
- cibconfig: repair ability to manage multiple rsc/op_defaults (bnc#737812)
- cibconfig: remove also elements which depend on the resource
  template which is to be deleted (bnc#730404)
- cibconfig: report error if a referenced template in primitive
  doesn't exist (bnc#730404)
- cibconfig: exchange rsc and with-rsc after converting collocation
  sets to standard constraints (bnc#729628)
- cibconfig: convert resource sets to standard constraints on
  resource removal (bnc#729628)
- ra: don't require certain parameters for rhcs stonith resources
- ra: use only effective UID when choosing RA interface
- ra: always use lrmadmin with glue 1.0.10 (cl#5036)
- ra: fix start/stop interval test
- completion: add command aliases to completion tables (cl#5013)
- completion: add templates as possible resource references in
  constraints
- history: improve limiting the report time period
- history: tune resource match patterns
- history: reset time period when setting source
- history: add clone/ms resources to events (fixes the transition command)
- history: expand clones and ms in the resource command (bnc#729631)
- history: don't assume that a hb_report tarball name matches the
  top directory name
- history: handle non-existing source better (bnc#728346)
- history: fix regression when fetching new PE inputs (bnc#723417)
- history: use debug severity for repeating messages (bnc#726611)
- help: page overview help screens
- help: append slash to levels in overview help screen
- help: add '?' as alias for help
- help: add topics to the help system
- doc: describe deficiency in the configure edit command (bnc#715698)
- move user files to standard locations (XDG)
- build: add optional regression testing on rpm build
- build: fetch the daemon location from glue-config.h

* Wed Oct 19 2011 Dejan Muhamedagic <dejan@suse.de> and many others
- stable release 1.1.0
- history/troubleshooting support
- template support
- geo-cluster support commands
- support for configure rsc_ticket
- support for LRM secrets at the resource level
- enable removal of unmanaged resources (bnc#696506)
- split-off from Pacemaker after release 1.1.6