Features since 4.6.1
- Corosync 3 support (#1172, #1393)
- Dev: ui_resource: Set role as Promoted/Unpromoted when promote/demote (jsc#PED-8550) by @liangxin1300 in #1445
- Dev: Drop rkt container type in bundle (jsc#PED-5577) by @liangxin1300 in #1427
- Dev: corosync: add subcommands 'crm corosync link ...' for managing multi-links in knet (jsc#PED-8083) by @nicholasyang2022 in #1471
- Add 'crm sbd' sub-level (jsc#PED-8256) by @liangxin1300 in #1491
- Dev: Replace "stonith:external/" to fence_agents in multiple places (jsc#PED-8733) by @liangxin1300 in #1667
- Make minor changes based on Pacemaker-3.0's changelog (jsc#PED-8231) by @liangxin1300 in #1660
- Drop OCF_1_1_SUPPORT option in crm.conf (jsc#PED-8550) by @liangxin1300 in #1703
- Dev: migration: implement corosync.conf migration for corosync 3 (jsc#PED-8252) by @nicholasyang2022 in #1422
- Dev: ui_configure: Remove 'ms' sub-command (jsc#PED-8231) by @liangxin1300 in #1663
- Dev: pre-migration: use a unsupported list instead of supported list (jsc#PED-11808) by @nicholasyang2022 in #1720
- Dev: Drop cluster-glue in multiple places (jsc#PED-8733) by @liangxin1300 in #1712
- Dev: migration: add a message about how to upgrade cib schema version (jsc#PED-8252) by @nicholasyang2022 in #1770
- Dev: Drop scripts and templates which include unsupported RAs (jsc#PED-8924) by @liangxin1300 in #1800
- Dev: migration: use atomic write to modify corosync.conf on remote nodes (jsc#PED-8252) by @nicholasyang2022 in #1805
- Dev: migration: allow to run migration locally (jsc#PED-8252) by @nicholasyang2022 in #1836
Major changes since 4.6.1
- crm status improvement by @liangxin1300 in #1188
- Dev: bootstrap: Configure ssh key when fetch geo config by @liangxin1300 in #1192
- Dev: ui_corosync: Remove add-node and del-node subcommands by @liangxin1300 in #1191
- Dev: ui_cluster: Use 'CustomAppendAction' instead of 'append' argparse action by @liangxin1300 in #1198
- medium: ui_node: fix cib rollback race on node standby by @lge in #1201
- Fix: bootstrap: fix the validation of option -N and -c (bsc#1212436) by @nicholasyang2022 in #1205
- Fix: ui_context: wait4dc should assume a subcommand completes successfully if no exceptions are raised (bsc#1212992) by @nicholasyang2022 in #1209
- [master] Fix: upgradeutil: support the change of path of upgrade_seq in crmsh-4.5 (bsc#1213050) by @nicholasyang2022 in #1215
- Sync recent changes for spec file on obs by @liangxin1300 in #1217
- Dev: requirements: remove parallax by @nicholasyang2022 in #1219
- Fix: userdir: Get the effictive user name instead of using getpass.getuser by @liangxin1300 in #1221
- Fix: upgradeutil: reduce the timeout for getting sequence from remote node (bsc#1213797) by @nicholasyang2022 in #1222
- Dev: corosync: Enable logging.to_logfile by @liangxin1300 in #1226
- Dev: utils: strip new line when get_stdout_or_raise_error returns by @liangxin1300 in #1233
- Fix: constants: Add several resource meta attributes (bsc#1215319) by @liangxin1300 in #1248
- Dev: cmd_status: Show error correctly for crm status by @liangxin1300 in #1269
- Dev: ui_utils: Supports '=' when setting node/resource attributes by @liangxin1300 in #1265
- Fix: utils: Add 'sudo' only when there is a sudoer(bsc#1215549) by @liangxin1300 in #1253
- Dev: completers: Add online_nodes and standby_nodes by @liangxin1300 in #1267
- Add profile for AWS and GCP with recommended corosync token timeout by @thimslugga in #1285
- Fix a typo in update_err() in log.py by @pangle-zhang in #1308
- Import missing sys library in config.py by @dhoffend in #1315
- Python 3.12 compatibility by @liangxin1300 in #1327
- Merge crmsh-4.6 into master by @liangxin1300 in #1340
- Fix: ui_node: prevent traceback on node standby by @freishutz in #1299
- Fix: report: Show different perspectives of cluster status with multiple 'crm_mon' options (bsc#1204273) by @liangxin1300 in #1346
- Fix: bootstrap: Remove unused -i option when calling csync2_remote and ssh_remote stage (bsc#1212080) by @liangxin1300 in #1347
- Fix: sh: pass env to child process explicitly (bsc#1205925) by @nicholasyang2022 in #1360
- Fix: sh: Return the value of AuthorizationError.diagnose if it is not None by @liangxin1300 in #1364
- Dev: qdevice: Add all nodes' keys to qnetd authorized_keys by @liangxin1300 in #1361
- Dev: bootstrap: Give a warning when detecting $SSH_AUTH_SOCK but not use --use-ssh-agent option by @liangxin1300 in #1366
- Dev: report: Collect qdevice/qnetd status by @liangxin1300 in #1354
- Fix: ui_node: When
utils.list_cluster_nodesreturn None, try to get… by @liangxin1300 in #1377 - Use crm_attribute --list-options by @liangxin1300 in #1379
- Fix: bootstrap: Detect cluster service on init node before saving the canonical hostname (bsc#1222714) by @liangxin1300 in #1386
- Dev: log: Set the log format for crmsh.log as rfc5424 by @liangxin1300 in #1362
- Dev: doc: implement help2adoc (#1374) by @nicholasyang2022 in #1385
- Fix: healthcheck: Missing 'id_' prefix while checking the ssh key existence by @liangxin1300 in #1396
- Setup bootstrap stages dependency by @liangxin1300 in #1384
- Dev: Remove unused code by @liangxin1300 in #1367
- Dev: ui_context: Skip querying CIB when in a sublevel or help command by @liangxin1300 in #1403
- Dev: ui_context: ignore requirements when option --help is specified by @nicholasyang2022 in #1407
- Fix: corosync: ConfigParser.get_all(nonexsistent) should return an empty list by @nicholasyang2022 in #1406
- Dev: ui_context: make help subcommands to exit with 0 by @nicholasyang2022 in #1408
- Dev: corosync: Add corosync.is_valid_corosync_conf function by @liangxin1300 in #1411
- Enhance completion at non-interactive mode by @liangxin1300 in #1391
- Fix: doc/toolchain: fix missing anchor in generated AIO doc (#1409) by @nicholasyang2022 in #1413
- Dev: corosync: Show corosync cpg status in
crm corosync status cpgby @liangxin1300 in #1381 - Fix: bootstrap: open corosync ports in firewalld by @liangxin1300 in #1405
- Dev: Drop nagios related code, the help text, and the man page by @liangxin1300 in #1389
- Dev: Change the RA name string format by @liangxin1300 in #1418
- Dev: utils: Add info when property is newly added by @liangxin1300 in #1414
- Fix: healthcheck: KeyError when local nodename not found in cib (bsc#1223438) by @nicholasyang2022 in #1419
- Dev: log an error when fencing node without stonith device configured and running by @liangxin1300 in #1425
- interface network option improvement by @liangxin1300 in #1421
- Fix: cmd_status: call crm_mon without shell (#1429) by @nicholasyang2022 in #1430
- Dev: cibconfig: Remove unused code about v1 format of diff, which is deprecated by @liangxin1300 in #1428
- Dev: Parsing resource meta attributes dynamically by @liangxin1300 in #1424
- Dev: ui_resource: Improve completers for 'crm resource' command by @liangxin1300 in #1443
- Dev: Hide lsb and service resource agent class type from UI and doc by @liangxin1300 in #1423
- Dev: bootstrap: warn about cleartext traffic in corosync by @nicholasyang2022 in #1448
- testcases update by @liangxin1300 in #1449
- Dev: spec: bump python requirement to >= 3.10 by @nicholasyang2022 in #1451
- Dev: ui_corosync: Improve corosync.show and corosync.edit subcommands by @liangxin1300 in #1264
- Doc improvement by @liangxin1300 in #1452
- Fix: upgradeutil: refine error handling (bsc#1226147, bsc#1223371) by @nicholasyang2022 in #1456
- Dev: coverage: inject coverage with sitecustomize.py in feature tests by @nicholasyang2022 in #1458
- Dev: ra: Guess stonith class type when using fence agents by @liangxin1300 in #1463
- Dev: sbd: Replace external/sbd as fence_sbd by @liangxin1300 in #1462
- Fix: ui_context: crm configure delete autocompletion #1403 #1460 by @aleksei-burlakov in #1469
- Fix: ui_context: crm configure up prompt #1466 by @aleksei-burlakov in #1481
- Dev: ui_configure: Complete required parameters first by @liangxin1300 in #1461
- Dev: refine change detection for
crm configure(#1466) by @nicholasyang2022 in #1486 - Dev: bootstrap: Use the existing function to query cluster property by @liangxin1300 in #1479
- Dev: Remove crmsh/ordereddict.py by @liangxin1300 in #1485
- Fix: hahealth.py script by @aleksei-burlakov in #1488
- Fix: cibconfig: Disable auto complete advised operation values when adding a rsc_template by @liangxin1300 in #1454
- Fix: qnetd fails to start when TLS is disabled (bsc#1227649) by @nicholasyang2022 in #1489
- Fix: DC lost during wait by @nicholasyang2022 in #1483
- Dev: crm_rpmcheck: use ansible to get package versions by @aleksei-burlakov in #1497
- Fix: ui_context: enter_level() should not check requirements for non-functional subcommands by @nicholasyang2022 in #1498
- Dev: scripts/health/collect: use ansible to get sysinfo by @aleksei-burlakov in #1500
- Add an option 'add_advised_op_values' to disable adding advised op values by @liangxin1300 in #1494
- Revert "Dev: ui_configure: Deprecate configure erase sub-command" (bsc#1228713) by @liangxin1300 in #1501
- Fix: report: crm report will hang if CIB contains invalid configuraions (bsc#1229686) by @liangxin1300 in #1519
- Fix: utils: group check failure when os.getgroups() returns empty (bsc#1229030) by @liangxin1300 in #1529
- Fix: Don't add time units to values for existing CIB (bsc#1228817) by @liangxin1300 in #1530
- Fix: hawk2 cannot call crm script as user hacluster (bsc#1228271) by @nicholasyang2022 in #1533
- Fix: bootstrap: ssh public key should be copied to qnetd node when ssh-agent feature is not enabled (bsc#1228950) by @nicholasyang2022 in #1516
- Fix: Raise an exception as a rapid return of ssh-related operations to prevent hang (bsc#1228899) by @liangxin1300 in #1520
- Dev: utils: Load CIB_file env before some readonly commands by @liangxin1300 in #1540
- Fix: utils: Stop providing the detailed and precise sudoer rules to "hack" the privilege (bsc#1229093) by @liangxin1300 in #1536
- Fix: Add a new option 'has_fa_advised_op' (bsc#1228858) by @liangxin1300 in #1539
- Dev: ui_node: Improve command 'clearstate ' by @liangxin1300 in #1534
- Dev: help: support multi level subcommands by @nicholasyang2022 in #1542
- Fix: doc: fix broken links in crm.8.adoc (#1546) by @nicholasyang2022 in #1548
- Fix: corosync: fix linknumber validation (#1546) by @nicholasyang2022 in #1549
- Dev: utils: Catch PermissionError when reading files by @liangxin1300 in #1543
- Improve cluster remove by @liangxin1300 in #1545
- Fix: bootstrap: check is_nologin more robustly (bsc#1228251) by @nicholasyang2022 in #1553
- Fix: command:
do_helpdoes not work as a 3rd level subcommand by @nicholasyang2022 in #1560 - Dev: remove
upgradeutiland addcrm cluster health hawk2 [--fix](bsc#1228899) by @nicholasyang2022 in #1558 - Fix: report: find_shell should accept hacluster user (bsc#1228899) by @nicholasyang2022 in #1564
- Fix: help: crm help does not work (#1567) by @nicholasyang2022 in #1568
- Dev: utils: Check node is reachable by using both ping and ssh by @liangxin1300 in #1563
- Fix: ui_cluster: Stop renaming cluster name when using qdevice by @liangxin1300 in #1573
- Fix: cibconfig: Disable auto add advise values for operations (bsc#1231386) by @liangxin1300 in #1579
- Fix: hahealth: return fail when report failed (bsc#1231840) by @aleksei-burlakov in #1589
- README.md: use crmsh-cd as build status badge by @nicholasyang2022 in #1594
- Dev: bootstrap: Refine remote_auth stage by @liangxin1300 in #1598
- Fix: Python 3.12: SyntaxWarning: invalid escape sequence by @vvidic in #1601
- Dev: add pylint to check ill-formated string literals by @nicholasyang2022 in #1603
- Fix: report.utils: Fix the performance issue (bsc#1232821) by @liangxin1300 in #1606
- Fix: log: The report DEBUG log message is not displayed in the log file by @liangxin1300 in #1608
- Dev: bootstrap: more robust implementation for ssh_merge (bsc#1230530) by @nicholasyang2022 in #1610
- Dev: utils: Avoid hardcoding the ssh key type as RSA by @liangxin1300 in #1600
- Fix: report: Fix a regression for irregular file collection by @liangxin1300 in #1620
- Collect ~/.config/crm/crm.conf in crm report result by @liangxin1300 in #1622
- Dev: ui_resource: Refine 'do_failcount' function by @liangxin1300 in #1624
- Dev: utils: Change
get_dcfunction as the behavior ofcrmadmin -Dchanged by @liangxin1300 in #1632 - Dev: bootstrap: add gfs2 stage functionality (Technical Preview) by @liangxin1300 in #1628
- Dev: help: Support '--help' option for cluster properties by @liangxin1300 in #1643
- Dev: ra: Drop legacy code to get metadata of the pacemaker daemons by @liangxin1300 in #1647
- Fix: bootstrap: Improve sync_files_to_disk function (bsc#1219537) by @liangxin1300 in #1653
- Fix: report: Check corosync.service status before querying quorum status (bsc#1235930) by @liangxin1300 in #1665
- Dev: bootstrap: Option -N should require option -y by @liangxin1300 in #1656
- Fix: ui_context: crmsh still complete even for unknown command by @liangxin1300 in #1618
- Dev: sbd: Remove the 'devices' parameter for fence_sbd agent by @liangxin1300 in #1655
- Fix: sbd: Check if fence_sbd command exists before initializing device (bsc#1236184) by @liangxin1300 in #1671
- Fix: report: Check if mounted.ocfs2 command exists before using it (bsc#1236220) by @liangxin1300 in #1669
- Dev: bootstrap: Check if core packages like corosync/pacemaker are installed by @liangxin1300 in #1675
- Fix: bootstrap: Local joining node should be included when merging known_hosts (bsc#1229419) by @liangxin1300 in #1639
- Revert "Fix: ui_context: Don't complete for unknown argument" by @liangxin1300 in #1682
- Dev: ui_configure: Add completer for 'configure schema' command by @liangxin1300 in #1677
- Fix: sbd: Detect if sbd package is missing on peer nodes by @liangxin1300 in #1636
- Dev: Add cancel option when confirming to commit for the pending changes by @liangxin1300 in #1686
- Fix: ci: test container image build failure in tumbleweed by @nicholasyang2022 in #1689
- Dev: testcases: Adjust original test cases to match pacemaker-3 by @liangxin1300 in #1688
- Improve
configure schemacommand by @liangxin1300 in #1690 - Dev: Add error log when cluster services fail to start by @liangxin1300 in #1692
- Change default DLM RA name by @liangxin1300 in #1696
- Dev: utils: Add parentheses to if else statements by @liangxin1300 in #1698
- Makefile.am: to improve "uninstall" and "clean" targets by @zzhou1 in #1645
- Dev: ui_configure: Improve 'configure upgrade' command by @liangxin1300 in #1701
- Dev: ssh_key: more robust error handling in KeyFileManager (bsc#1239084) by @nicholasyang2022 in #1706
- Dev: ui_configure: Enable -F option for 'configure upgrade' by @liangxin1300 in #1710
- Dev: cibverify: Print output of crm_verify directly by @liangxin1300 in #1673
- Fix: idmgmt: Replace hashtag('#') with point('.') in id (bsc#1239782) by @liangxin1300 in #1718
- Dev: ui_resource: Refactor do_trace function by @liangxin1300 in #1709
- Dev: ui_corosync: fix completer for link remove by @liangxin1300 in #1721
- Dev: ui_configure: Show the changes with diff like format by @liangxin1300 in #1730
- Drop deprecated codes by @liangxin1300 in #1723
- Dev: ui_sbd: Configure crashdump watchdog timeout by @liangxin1300 in #1732
- Dev: sbd: Leverage maintenance mode when need to restart cluster by @liangxin1300 in #1744
- Dev: Makefile: Use modern tools python build and pip instead of setup.py by @liangxin1300 in #1751
- Fix: ui_cluster: Return when cluster service on all nodes are already startd (bsc#1241358) by @liangxin1300 in #1746
- Dev: configure.ac: Update crmsh version to 5.0.0 by @liangxin1300 in #1757
- Dev: ui_sbd: Raise TerminateSubCommand if /etc/sysconfig/sbd is not found by @liangxin1300 in #1755
- Dev: utils: Enhance maintenance mode management with detection and type hints by @liangxin1300 in #1760
- Dev: ra: Show parameters more clearly by @liangxin1300 in #1733
- Dev: doc: Adjust help of
corosync statuscommand by @liangxin1300 in #1763 - Dev: bash_completion.sh: Add nosort option to disable sorting by @liangxin1300 in #1761
- Dev: Refactored node reachability handling in multiple modules by @liangxin1300 in #1765
- Fix: ra: Prevent to add unknown operation (bsc#1236442) by @liangxin1300 in #1679
- Dev: bootstrap: use ssh agent by default by @nicholasyang2022 in #1728
- Dev: cibconfig: Use VerifyResult to define the return value of sanity check related functions by @liangxin1300 in #1773
- Dev: ui_cluster: Skip stopping cluster if dlm_controld is running in maintenance mode by @liangxin1300 in #1771
- Dev: main: Ignore crm flag option to get completion by @liangxin1300 in #1753
- Dev: ui_configure: Add ':' suffix to order kind completer by @liangxin1300 in #1775
- Dev: Refactor code to manage high-availability service in firewalld by @liangxin1300 in #1781
- Dev: ui_cluster: Add firewalld stage to crm cluster init help info by @liangxin1300 in #1796
- Fix: corosync: Don't set quorum.two_node to 1 if qdevice configured by @liangxin1300 in #1797
- Dev: sbd: Remove pcmk_delay_max while cacaulating stonith timeout value by @liangxin1300 in #1740
- Fix: Makefile.am: add python wheel target and .spec Recommends bash-completion by @zzhou1 in #1792
- Dev: Dockerfile: Install pacemaker-remote package by @liangxin1300 in #1804
- Dev: bootstrap: Improve configuration for admin IP by @liangxin1300 in #1812
- Fix: bootstrap: add sleeps to avoid triggering sshd PerSourcePenalties (bsc#1243141) by @nicholasyang2022 in #1811
- Dev: bootstrap: Improve node removal handling and messaging by @liangxin1300 in #1815
corosync setcommand improvement by @liangxin1300 in #1807- Fix: report.collect: Detect log existence before using it (bsc#1244515) by @liangxin1300 in #1821
- Fix: bootstrap: setup_passwordless_with_other_nodes does not update the authorized_keys on localhost (bsc#1244314) by @nicholasyang2022 in #1823
- Dev: cibconfig: Prevent adding Pacemaker remote resources to groups, orders, or colocations by @liangxin1300 in #1777
- Fix: bootstrap: Reload corosync after sync corosync.conf (bsc#1244437) by @liangxin1300 in #1828
- Dev: provide a friendly message when passwordless ssh does not work (bsc#1244525) by @nicholasyang2022 in #1827
- Dev: run-functional-tests: Fetch container's IP address correctly by @liangxin1300 in #1831
- Fix: crash_test: Correctly retrieve fence event information (bsc#1243786) by @liangxin1300 in #1809
- Dev: bootstrap: Remove user@host item from /root/.config/crm/crm.conf when removing node by @liangxin1300 in #1838
- Dev: Prevent actions when offline nodes are unreachable by @liangxin1300 in #1814
- Fix: log: Improve function confirm's logic (bsc#1245386) by @liangxin1300 in #1842
- Fix: bootstrap: Refine qnetd passwordless configuration logic (bsc#1245387) by @liangxin1300 in #1845
- Fix: bootstrap: should fallback to default user when
core.hostsis not availabe from the seed node (bsc#1245343) by @nicholasyang2022 in #1847 - Dev: corosync: Get value from runtime.config prefix and update default token value by @liangxin1300 in #1853
- Dev: ui_cluster: Enhance membership validation by @liangxin1300 in #1832
- Dev: Remove unused code by @liangxin1300 in #1863
- Fix: ui_context: should not require root privilege when using subcommand 'help' by @nicholasyang2022 in #1866
- Fix: sbd: Avoid negative value for the property 'stonith-watchdog-timeout' (bsc#1246622) by @liangxin1300 in #1865
- Dev: doc: release crmsh-5.0 document by @nicholasyang2022 in #1870
- Dev: sbd: Add pcmk_delay_max back to calculate SBD_DELAY_START by @liangxin1300 in #1873
- Fix: bootstrap: continue qnetd setup when ssh keypair is not found for some cluster nodes (#1850) by @nicholasyang2022 in #1874
- Dev: qdevice: Reload corosync configuration on one node by @liangxin1300 in #1876
- Fix: sbd: should show warning instead of error when unable to restart cluster automatically after changing configs (bsc#1246956) by @nicholasyang2022 in #1877
- Dev: command: Show help topic completion only at root level by @liangxin1300 in #1879
- Fix: doc: Add TimeoutFormulas help topic (bsc#1242981) by @liangxin1300 in #1880
- Dev: xmlutil: Add is_non_stonith_resource_running() and use for cluster restart checks by @liangxin1300 in #1884
- Fix: sbd: Ensure stonith-watchdog-timeout is >= 2 * SBD_WATCHDOG_TIMEOUT (bsc#1247415) by @liangxin1300 in #1883
- Fix: log: missing LF after a progress bar (#1886) by @nicholasyang2022 in #1891
- Dev: sbd: Use SBDUtils.get_sbd_device_from_config for reliable diskless SBD detection by @liangxin1300 in #1887
- Dev: ChangeLog: update ChangeLog for release 5.0.0 by @liangxin1300 in #1893
New Contributors
- @thimslugga made their first contribution in #1285
- @pangle-zhang made their first contribution in #1308
- @mpagot made their first contribution in #1343
- @zzhou1 made their first contribution in #1645
Full Changelog: 4.6.1...5.0.0-rc1