Skip to content

Commit d2243cf

Browse files
committed
Merge remote-tracking branch 'upstream/crmsh-4.6' into 20240229_merge_crmsh46_into_master
2 parents 5b80fde + 21cbb9e commit d2243cf

File tree

111 files changed

+7539
-4882
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+7539
-4882
lines changed

.github/workflows/crmsh-cd.yml

+12-12
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@ name: crmsh CD
77
on: push
88

99
env:
10-
FOLDER: /package
1110
PACKAGE_NAME: crmsh
11+
CONTAINER_IMAGE: nyang23/obs-continuous-delivery:latest
1212
OBS_USER: ${{ secrets.OBS_USER }}
1313
OBS_PASS: ${{ secrets.OBS_PASS }}
1414
OBS_PROJECT: ${{ secrets.OBS_PROJECT }}
1515
TARGET_PROJECT: ${{ secrets.TARGET_PROJECT }}
1616

1717
jobs:
1818
integration:
19-
if: github.repository == 'ClusterLabs/crmsh' && github.ref == 'refs/heads/master'
19+
if: github.repository == 'ClusterLabs/crmsh' && github.ref_name == 'master'
2020
uses: ./.github/workflows/crmsh-ci.yml
2121

2222
delivery:
23-
if: github.repository == 'ClusterLabs/crmsh' && github.ref == 'refs/heads/master'
23+
if: github.repository == 'ClusterLabs/crmsh' && github.ref_name == 'master'
2424
needs: integration
2525
runs-on: ubuntu-20.04
2626
timeout-minutes: 10
2727
steps:
2828
- uses: actions/checkout@v3
2929
- name: delivery process
3030
run: |
31-
docker pull shap/continuous_deliver:latest
32-
docker run -t -v "$(pwd):/package" \
31+
docker pull "${CONTAINER_IMAGE}"
32+
docker run -t -v "$(pwd)":/package:ro \
3333
-e OBS_USER=$OBS_USER \
3434
-e OBS_PASS=$OBS_PASS \
35-
-e FOLDER=$FOLDER \
3635
-e OBS_PROJECT=$OBS_PROJECT \
3736
-e PACKAGE_NAME=$PACKAGE_NAME \
38-
shap/continuous_deliver \
39-
/bin/bash -c "cd /package;/scripts/upload.sh"
37+
"${CONTAINER_IMAGE}" \
38+
/bin/bash -c "cp -r /package ~/package && cd ~/package && /scripts/upload.sh"
4039
4140
submit:
41+
if: github.repository == 'ClusterLabs/crmsh' && github.ref_name == 'master'
4242
needs: delivery
4343
runs-on: ubuntu-20.04
4444
timeout-minutes: 10
@@ -47,12 +47,12 @@ jobs:
4747
- uses: actions/checkout@v3
4848
- name: submit process
4949
run: |
50-
docker pull shap/continuous_deliver:latest
51-
docker run -t -v "$(pwd):/package" \
50+
docker pull "${CONTAINER_IMAGE}"
51+
docker run -t \
5252
-e OBS_USER=$OBS_USER \
5353
-e OBS_PASS=$OBS_PASS \
5454
-e OBS_PROJECT=$OBS_PROJECT \
5555
-e PACKAGE_NAME=$PACKAGE_NAME \
5656
-e TARGET_PROJECT=$TARGET_PROJECT \
57-
shap/continuous_deliver \
58-
/bin/bash -c "cd /package;/scripts/submit.sh"
57+
"${CONTAINER_IMAGE}" \
58+
/bin/bash -c "cd ~ && /scripts/submit.sh"

.github/workflows/crmsh-ci.yml

+26-1
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,27 @@ jobs:
5454
timeout-minutes: 40
5555
steps:
5656
- uses: actions/checkout@v3
57-
- name: functional test for crm_report
57+
- name: functional test for crm_report bugs
5858
run: |
5959
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json
6060
sudo systemctl restart docker.service
6161
index=`$GET_INDEX_OF crm_report_bugs`
6262
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
6363
- uses: codecov/codecov-action@v3
6464

65+
functional_test_crm_report_normal:
66+
runs-on: ubuntu-20.04
67+
timeout-minutes: 40
68+
steps:
69+
- uses: actions/checkout@v3
70+
- name: functional test for crm_report normal
71+
run: |
72+
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json
73+
sudo systemctl restart docker.service
74+
index=`$GET_INDEX_OF crm_report_normal`
75+
$DOCKER_SCRIPT $index && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT $index -u
76+
- uses: codecov/codecov-action@v3
77+
6578
functional_test_bootstrap_bugs:
6679
runs-on: ubuntu-20.04
6780
timeout-minutes: 40
@@ -333,6 +346,18 @@ jobs:
333346
$DOCKER_SCRIPT `$GET_INDEX_OF user_access`
334347
- uses: codecov/codecov-action@v3
335348

349+
functional_test_ssh_agent:
350+
runs-on: ubuntu-20.04
351+
timeout-minutes: 40
352+
steps:
353+
- uses: actions/checkout@v3
354+
- name: functional test for user access
355+
run: |
356+
echo '{ "exec-opts": ["native.cgroupdriver=systemd"] }' | sudo tee /etc/docker/daemon.json
357+
sudo systemctl restart docker.service
358+
$DOCKER_SCRIPT `$GET_INDEX_OF ssh_agent` && $DOCKER_SCRIPT -d && $DOCKER_SCRIPT -u `$GET_INDEX_OF ssh_agent`
359+
- uses: codecov/codecov-action@v3
360+
336361
original_regression_test:
337362
runs-on: ubuntu-20.04
338363
timeout-minutes: 40

ChangeLog

+86-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,89 @@
1-
* Thu Mar 30 2023 Xin Liang <[email protected]>
1+
* Tue Jan 9 2024 Xin Liang <[email protected]>
2+
- Release 4.6.0
3+
- Fix: report: Unable to gather log files that are in the syslog format (bsc#1218491)
4+
- Dev: ui_corosync: Add a completer for corosync.set to enumerate all current paths
5+
- Dev: bootstrap: Assign hosts with _context.node_list_in_cluster in join_ssh_merge (bsc#1218331)
6+
7+
* Fri Dec 22 2023 Xin Liang <[email protected]>
8+
- Release 4.6.0 rc2
9+
- Dev: ui_cluster: Move --use-ssh-agent to optional arguments
10+
- Fix: autoconf: --with-version does not override the variable used in `version.in`
11+
- Dev: unify version string used in setup.py and autotools
12+
- Fix: ui_cluster: Improve the process of 'crm cluster stop' (bsc#1213889)
13+
- Fix: scripts.health: call `setup_logging()` before importing crmsh.reprot.utils
14+
- Dev: log: save backtrace of ValueError in logfile and suppress it in console
15+
16+
* Thu Dec 7 2023 Xin Liang <[email protected]>
17+
- Release 4.6.0 rc1
18+
- Dev: doc: Unify contents of manpage and help info
19+
- Dev: report: Rewrite crm report module
20+
- Dev: utils: To prevent shell injection, manipulate the argument array instead of the command line string
21+
- Fix: bootstrap: fix the owner and permission of file authorized_keys (bsc#1217279)
22+
- Fix: prun: should not call user_pair_for_ssh() when target host is localhost (bsc#1217094)
23+
- Dev: report: Redirect warning and error from remote node into stderr
24+
- Fix: utils: Add 'sudo' only when there is a sudoer(bsc#1215549)
25+
- Dev: xmlutil: refactor class CrmMonXmlParser
26+
- Dev: completers: Add online_nodes and standby_nodes
27+
- Fix: bootstrap: add informative logging for generating new ssh keypairs
28+
- Fix: forward ssh-agent for `crm report __slave`
29+
- Fix: sh: raise AuthorizationError and generate diagnose messages when ClusterShell fails with 255
30+
- Dev: bootstrap: allow to authenticate interactively in `crm cluster join --use-ssh-agent`
31+
- Dev: ssh-agent: add informative logging for adding keys to authorized_keys
32+
- Dev: ssh-agent: add diagnose messages
33+
- Dev: bootstrap: implement ssh-agent support for geo cluster (jsc#PED-5774)
34+
- Dev: bootstrap: refine key swap for user `hacluster`
35+
- Dev: bootstrap: implement ssh-agent support for qdevice (jsc#PED-5774)
36+
- Dev: bootstrap: implement ssh-agent support (jsc#PED-5774)
37+
- Dev: ui_utils: Supports '=' when setting node/resource attributes
38+
- Fix: report: Pick up tarball suffix dynamically (bsc#1215438)
39+
- Fix: report: Pick 'gzip' as the first compress prog for cross-platform compatibility(bsc#1215438)
40+
- Fix: constants: Add several resource meta attributes (bsc#1215319)
41+
- refactor: move get_stdout and get_stdout_stderr to crmsh.sh.ShellUtils
42+
- Dev: refactor shell calling routines
43+
- Dev: utils: strip new line when get_stdout_or_raise_error returns
44+
- Fix: prun: setsid to prevent ssh from asking a password from terminal
45+
- Fix: upgradeutil: reduce the timeout for getting sequence from remote node (bsc#1213797)
46+
- Fix: userdir: Get the effictive user name instead of using getpass.getuser (bsc#1213821)
47+
- Dev: requirements: remove parallax
48+
- Fix: upgradeutil: support the change of path of upgrade_seq in crmsh-4.5 (bsc#1213050)
49+
- Fix: ui_context: wait4dc should assume a subcommand completes successfully if no exceptions are raised (bsc#1212992)
50+
- Fix: upgradeutil: do not tried to upgrade when the cluster is partially set up
51+
- Fix: bootstrap: fix the validation of option -N and -c (bsc#1212436)
52+
- Fix: geo_cluster: the behavior of choosing a default user in geo_join/geo_init_arbitrator is different with `cluster join` (bsc#1211817)
53+
- Fix: utils: do not use sudoer user to create ssh session unless it is specified explicitly (bsc#1211817)
54+
- medium: ui_node: fix cib rollback race on node standby
55+
- Dev: ui_cluster: Use 'CustomAppendAction' instead of 'append' argparse action
56+
- Dev: bootstrap: Configure ssh key when fetch geo config
57+
- Dev: cmd_status: Use --output-as option instead of deprecated --as-html and --as-xml options
58+
- Dev: cmd_status: Append 'with quorum' and 'WITHOUT quorum' to display keyword list
59+
- Dev: spec: Remove python3-parallax from spec file
60+
- Fix: bootstrap: failed to save username for localhost when initializing a cluster with a qnet server
61+
- Fix: utils: fix `cluster diff --checksum`
62+
- Dev: ui_cluster: refine messages for `cluster run` and `cluster coy`
63+
- Dev: geo: implement non-root support for geo_fetch_config()
64+
- Fix: bootstrap: failed to join when the cluster is initialized with skip_csync2
65+
- Dev: prun: minor refactor and add comments
66+
- Dev: prun: implement timeout
67+
- Dev: prun: add an concurrency limiter
68+
- Dev: remove python dependency parallax
69+
- Dev: scripts: implement non-root support with crmsh.prun
70+
- Dev: implement non-root support for crm_pssh with crmsh.prun
71+
- Dev: remove some direct calls to parallax module
72+
- Dev: prun: add special handling for localhost
73+
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_slurp
74+
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_copy
75+
- Dev: upgradeutil: adapt to new parallax interface
76+
- Dev: refine non-root sudoer support for crmsh.parallax.parallax_call (bsc#1210709)
77+
- Fix: bootstrap: `init --qnetd-hostname` fails when username is not specified (bsc#1211200)
78+
- Fix: bootstrap: crm cluster join default behavior change in ssh key handling (bsc#1210693)
79+
- Fix: help: Long time to load and parse crm.8.adoc (bsc#1210198)
80+
- Fix: cibconfig: use any existing rsc_defaults set rather than create another one (bsc#1210614)
81+
- Fix: lock: Join node failed to wait init node finished (bsc#1210332)
82+
- Dev: log_patterns: update patterns for pacemaker version 2.0+
83+
- Dev: bootstrap: Support replacing sbd device via sbd stage
84+
- Dev: utils: add auto_convert_role flag for handle_role_for_ocf_1_1 function
85+
86+
*Thu Mar 30 2023 Xin Liang <[email protected]>
287
- Release 4.5.0
388
- Dev: bootstrap: Remove /var/lib/crm and ~/.config/crm/crm.conf when removing node
489
- Dev: bootstrap: Generate the public key on the remote if it does not exist

codecov.yml

+7-4
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@ coverage:
22
status:
33
project:
44
default:
5-
threshold: 0.1%
5+
threshold: 0.35%
66
patch:
77
default:
8-
threshold: 0.1%
8+
threshold: 0.35%
99
codecov:
1010
token: 16b01c29-3b23-4923-b33a-4d26a49d80c4
1111
notify:
12-
after_n_builds: 22
12+
after_n_builds: 23
1313
comment:
14-
after_n_builds: 22
14+
after_n_builds: 23
15+
16+
ignore:
17+
- "crmsh/report"

crmsh.spec.in

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
# spec file for package crmsh
33
#
4-
# Copyright (c) 2023 SUSE LLC
4+
# Copyright (c) 2024 SUSE LLC
55
#
66
# All modifications and additions to the file contributed by third parties
77
# remain the property of their copyright owners, unless otherwise agreed
@@ -55,6 +55,7 @@ Requires: python3-PyYAML
5555
Requires: python3-lxml
5656
Requires: python3-packaging
5757
BuildRequires: python3-lxml
58+
BuildRequires: python3-setuptools
5859
BuildRequires: python3-pip
5960
BuildRequires: python3-wheel
6061

0 commit comments

Comments
 (0)