-
Notifications
You must be signed in to change notification settings - Fork 94
/
ChangeLog
1918 lines (1872 loc) · 114 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* Fri Nov 15 2024 Xin Liang <XLiang@suse.com>
- Release 4.6.1
- Dev: bootstrap: more robust implementation for ssh_merge (bsc#1230530)
- Fix: log: The report DEBUG log message is not displayed in the log file
- Dev: report.utils: For a sequence of archived log files, check the modify time
- Fix: report.utils: Fix the performance issue (bsc#1232821)
- Dev: report.utils: Add debug info for the log file types
- Fix: report.collect: Make sure the log is not None before using it (bsc#1232821)
- Dev: bootstrap: Add log info when starting pacemaker.service
- Dev: utils: Introduced `detect_duplicate_device_path` function in utils
- Fix: cibconfig: Disable auto add advise values for operations (bsc#1231386)
- Fix: ui_cluster: Stop renaming cluster name when using qdevice
- Dev: utils: Check node is reachable by using both ping and ssh
- Dev: report: do not capture stderr when unarchiving tarballs
- Dev: report: make error messages easier to parse for hawk2 (bsc#1228899)
- Fix: report: find_shell should accept hacluster user (bsc#1228899)
- Dev: healthcheck: Enhace log clarity
- Dev: ui_cluster: Change the completer for crm cluster health
- Dev: report: add a reminder to use `crm cluster health` (bsc#1228899)
- Dev: ui_cluster: add a reminder to use "crm cluster init/join ssh" to
initialize ssh (bsc#1228899)
- Dev: scripts: add a reminder to use `crm cluster health` to fix hacluster
passwordless ssh authentication (bsc#1228899)
- Dev: scripts: generate readable messages when ssh authentication fails (bsc#1228899)
- Fix: report: should not try interactive authentication when stdin is not a
tty (bsc#1228899)
- Dev: main: remove upgradeutil (bsc#1228899)
- Fix: bootstrap: check is_nologin more robustly (bsc#1228251)
- Dev: completers: Reuse node completer for cluster remove and health
- Dev: bootstrap: Enhance log clarity during crm cluster remove process
- Dev: utils: Catch PermissionError when reading files
- Dev: utils: Load CIB_file env before some readonly commands
- Dev: Rename variables to make them look like boolean type
- Fix: utils: Stop providing the detailed and precise sudoer rules to "hack"
the privilege (bsc#1229093)
- Dev: ui_node: Improve command 'clearstate <node>'
- Dev: Rename the option 'add_advised_op_values' to 'ra_advised_op_values'
- Dev: Add a new internal flag to control auto add time units on operation
- Fix: Add a new option 'fa_advised_op_values' (bsc#1228858)
- Fix: utils: group check failure when os.getgroups() returns empty (bsc#1229030)
- Fix: report: When 'core.no_ssh' set to 'yes', crm report works in local mode (bsc#1228899)
- Fix: completers: deferring calls to crm_mon until envsetup() is called (bsc#1228271)
- Fix: utils: allow haclient group to use cluster level commands (bsc#1228271)
- Fix: scripts: call commands as current user when running as hacluster (bsc#1228271)
- Fix: prun: allow pcopy_to_remote to use intercept (bsc#1228271)
- Fix: upgradeutil: Immdiately return if config.core.no_ssh is set (bsc#1228899)
- Fix: ui_cluster: Handle 'crm cluster start --all' command (bsc#1228899)
- Fix: ui_cluster: Handle 'crm cluster stop --all' command (bsc#1228899)
- Fix: utils: Define utils.NoSSHError exception and ssh wrapper function (bsc#1228899)
- Fix: config: Add 'core.no_ssh' option (bsc#1228899)
- Dev: sh: Ensure CommandFailure Exception is Picklable Across Processes (bsc#1229686)
- Fix: report: Error output of crm_verify should be recorded in report result (bsc#1229686)
- Fix: Don't add time units to values for existing CIB (bsc#1228817)
- Fix: bootstrap: drop environ SSH_AUTH_SOCK before checking passwordless ssh
when it is not enabled (bsc#1228950)
- Fix: bootstrap: should check if sudo is available when running `cluster join
-c` with a non-root destination user (bsc#1228950)
- Fix: bootstrap: should check if sudo is available when running `cluster init
-N` with a non-root destination user (bsc#1228950)
- Dev: Add option core.add_advised_op_values, default value is 'yes'
- Dev: Rename variable 'add_default_op_values' to 'add_advised_op_values'
- Revert "Dev: ui_configure: Deprecate configure erase sub-command" (bsc#1228713)
- Fix: hahealth.py script (bsc#1228271)
- Dev: qdevice: numbers automatically the steps to generate client certs
- Dev: prun: add more possible libexec PATH for sftp-server
- Fix: qdevice: config "tls" should accept value "required" (bsc#1227649)
- Fix: bootstrap: refine the wording in the question asking TLS config for
qdevice (bsc#1227649)
- Fix: qdevice: TLS certs should always be generated for qnetd (bsc#1227649)
- Dev: Rename variables to distinguish the concept of adding default
- Fix: cli: loading cib should be a soft depenedency
- Dev: ui_context: refactor NON_FUNCTIONAL_COMMAND and NON_FUNCTIONAL_OPTIONS
- Revert changes to `quit` and `up` in ui_context from #1300 (#1466)
- Fix: cibconfig: do not load cib to check if cib is changed (#1466)
- Dev: ra: Refine RAInfo.params interface to exclude some completion results
- Dev: ui_context: Don't append space when completion ends with equal sign
- Dev: ui_configure: Complete required parameters first
- Dev: ra: Guess stonith class type when using fence agents
- Fix: upgradeutil: refine error handling (bsc#1226147, bsc#1223371)
- Fix: cibconfig: Disable complete advised operation values when adding a rsc_template
- Dev: ui_resource: Improve completers for 'crm resource' command
- Fix: cmd_status: call crm_mon without shell (#1429)
- Dev: log an error when fencing node without stonith device configured and running
- Fix: healthcheck: KeyError when local nodename not found in cib (bsc#1223438)
- Dev: utils: Add info when property is newly added
- Dev: corosync: Show corosync cpg status in `crm corosync status cpg`
- Dev: ui_context: ignore requirements when option --help is specified
- Dev: ui_context: Skip querying CIB when in a sublevel or help command
- Dev: bootstrap: Setup the stage dependency on init and join side (bsc#1175865, bsc#1219940)
- Dev: bootstrap: Enhance stage validation
- Fix: healthcheck: Add crmsh.constants.SSH_OPTION when doing ssh in check_local
- Fix: healthcheck: Missing 'id_' prefix while checking the ssh key existence
- Fix: main: Set PATH environment first
- Dev: bash_completion: Enable complete 'id=' on non-interactive mode
- Fix: bootstrap: Detect cluster service on init node before saving the
canonical hostname (bsc#1222714)
- Fix: ui_node: When `utils.list_cluster_nodes` return None, try to get ip
list from corosync.conf
- Dev: report: Collect quorum/qdevice/qnetd status
- Dev: ui_context: make help subcommands to exit with 0 (#1374)
- Dev: bootstrap: Add all nodes' keys to qnetd authroized_keys even init
- Fix: bootstrap: fix NameError
- Dev: qdevice: Refactor init_qdevice function
- Dev: qdevice: Add all nodes' keys to qnetd authorized_keys
- Dev: bootstrap: Give a warning when detecting $SSH_AUTH_SOCK but not use
--use-ssh-agent option
- Fix: sh: Return the value of AuthorizationError.diagnose if it is not None
- Dev: ssh_key: Extract duplicate code about list keys from ssh-agent to a function
- Dev: bootstrap: Refactor qdevice user parsing and finding
- Fix: utils: set env `CIB_shadow` using `os.environ` (bsc#1205925)
- Fix: pass env to child process explicitly (bsc#1205925)
- Fix: term: unset env `COLUMNS` and `ROWS` (bsc#1205925)
- Fix: sh: pass env to child process explicitly (bsc#1205925)
- Fix: report: Show different perspectives of cluster
- Fix: ui_node: prevent traceback on node online
- Fix: ui_node: prevent traceback on node standby
- Fix: add diagnostic messages when crm report cannot find ssh-agent (bsc#1219538)
- Dev: use ClusterShell for the changes in the previous commit
- Fix: crm report hangs in the root passwordless with ssh-agent
- Fix: report: use ClusterShell for ssh (bsc#1220170)
- Fix: ui_node: clearstate command needs adjustment (bsc#1219831)
- Fix: bootstrap: fail to join a cluster with hostname alias
- Fix: bootstrap: clear stall data about ssh users left possiblely from
previous setups (bsc#1219476)
- Fix: report: Escape special characters in pattern (bsc#1220022)
- Dev: ui_configure: verify all cib objects even if there is no primitive
resource configured
- Dev: ui_configure: bundle: support podman container
- Dev: constants: Update the bundle help text
- Dev: parse: Assign meaningful id to the bundle's port-mapping and storage-mapping
- Dev: cibconfig: Hide the id of bundle port-mapping and storage-mapping
- Dev: cibconfig: Change the multiline format for bundle
- Dev: utils: Return empty list if corosync.conf does not exist
- Dev: report: Enable crm report even cib.xml does not exist
- Dev: utils: Query pacemaker_remote node correctly
- Fix: ui_cluster: Can't start cluster with --all option if no cib (bsc#1219052)
- Fix: bootstrap: ssh key of the init node is duplicated in the
authorized_keys files of other node (bsc#1218940)
- Fix: sh: guide users to setup key-based ssh authentication when
non-interactive authentcation fails (bsc#1219045)
- Fix: parse: Automatically append 's' as default time unit for timeout and interval (#1304)
- Dev: ui_configure: Update the operation id after the monitor interval changed
* 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)