Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
5ae6f85
pin types-pycurl
tomjelinek Apr 24, 2024
14dde17
fix running pcsd from git
mirecheck Apr 25, 2024
2f4ebe9
fix stdout wrapping to terminal width
tomjelinek May 16, 2024
e89ff46
validate resource-discovery
tomjelinek May 23, 2024
ca0be56
Do not bundle platfrom specific ruby gems.
mirecheck Jun 3, 2024
af9510a
fix booth destroy for arbitrators
tomjelinek May 31, 2024
be17a9b
validate sbd options
tomjelinek Jun 3, 2024
86bfca8
fix distro detection in Fedora CI
CtrlZmaster Jun 27, 2024
69541b0
remove ondrejmular from default reviewers
tomjelinek Jul 3, 2024
694c165
Bumped to 0.11.8
CtrlZmaster Jul 9, 2024
700cfec
add support for output formats for tags
Pederrr Jul 12, 2024
460e2f2
tests: overhaul fence agents mocking
tomjelinek Jul 24, 2024
724f544
test: remove unused mock list of stonith agents
tomjelinek Jul 23, 2024
8f200a6
typehints for pcs.lib.pacemaker
tomjelinek Jun 6, 2024
ccffba7
move resource restart to pcs.lib
tomjelinek Jul 31, 2024
6de3c20
stop using resource restart callback in booth restart
tomjelinek Jul 2, 2024
8951901
add resource restart to APIv2
tomjelinek Jul 2, 2024
f281c77
Merge branch 'pcs-0.11_resource-restart' into pcs-0.11
tomjelinek Aug 6, 2024
2870cb1
fix xpath expression in tests
tomjelinek May 21, 2024
bf9652e
tests: overhaul resource agents mocking
tomjelinek Aug 5, 2024
fb430f0
test: fix tier1.legacy.test_cluster.ClusterUpgradeTest
tomjelinek Aug 20, 2024
20613b8
do not return error when using instances quantifier on clone with one…
Pederrr Aug 22, 2024
1184ca0
add cluster.get_corosync_conf_struct to APIv2
tomjelinek Sep 9, 2024
ace4460
add resource.get_configured_resources to APIv2
tomjelinek Sep 9, 2024
7d19a05
replace deprecated function find_unique_id
tomjelinek Sep 17, 2024
c5c7b0f
fix warning in `pcs status`
mirecheck Oct 2, 2024
b1c93e8
do not display expired constraints in constraint listing
mirecheck Oct 7, 2024
8bd2b96
deduplicate code in ExpiredConstraints test
tomjelinek Oct 16, 2024
a8ea35b
fix `pcs dr status`
mirecheck Oct 17, 2024
ec70951
fix `pcs cluster node add-outside`
mirecheck Oct 18, 2024
3e3861b
update changelog
mirecheck Oct 22, 2024
3b43471
Merge branch 'fix-dr-status' into pcs-0.11
tomjelinek Oct 22, 2024
f84c0dd
overhaul resource delete
Pederrr Aug 22, 2024
fc8e22b
Improve fencing level deletion
Pederrr Sep 23, 2024
67554b5
fix code after review
Pederrr Sep 24, 2024
b34bd6e
update documentation
Pederrr Oct 1, 2024
a4fa08c
fixup tests
Pederrr Oct 16, 2024
1f6f95f
change error to deprecation warning
Pederrr Oct 16, 2024
27dcb76
remove location constrains referencing remote node name
Pederrr Oct 16, 2024
91490b5
allow deletion of remote/guest via resource delete
Pederrr Oct 21, 2024
71a3510
remove resource_remove callback from node_remove_remote lib command
Pederrr Oct 1, 2024
98e238d
remove resource_remove callback from booth.remove_from_cluster lib co…
Pederrr Oct 1, 2024
95e882b
remove old code
Pederrr Oct 1, 2024
64c7e75
remove workaround for removing multiple resources from pcsd
Pederrr Oct 2, 2024
dca8a61
properly mock resource stopping
Pederrr Oct 14, 2024
07acfb4
show warning about not stopping resources with --force
Pederrr Oct 15, 2024
1ea7196
improve readability of properties
Pederrr Oct 22, 2024
3a90b47
drop old function
Pederrr Oct 23, 2024
552cf26
Merge branch 'pcs-0.11_resource-remove-rewrite' into pcs-0.11
tomjelinek Oct 24, 2024
dffb59f
deprecate multiple rules in a location constraint
tomjelinek Oct 25, 2024
11127bf
export fencing levels
tomjelinek Sep 9, 2024
bc29b4d
concentrate webui location knowledge
idevat Nov 7, 2024
c0ea111
add pkg-config with info for webui install
idevat May 31, 2024
7096a20
Merge branch 'backport-pkg-config' into pcs-0.11
CtrlZmaster Nov 12, 2024
0d90d77
Specify the meaning of zero timeout
Pederrr Jul 2, 2024
a751075
add booth ticket commands
Pederrr Nov 19, 2024
3e072e2
stop testing on fedora
tomjelinek Nov 28, 2024
31ca989
remove dead code
tomjelinek Nov 27, 2024
912e58e
update mypy to 1.13.0
mirecheck Nov 6, 2024
ea05a77
move pylint configuration from pylintrc to pyproject.toml
mirecheck Nov 22, 2024
9a58d20
update pylint to 3.3.2
mirecheck Nov 20, 2024
3113625
update black to 24.10.0
mirecheck Nov 21, 2024
73c3ba7
Merge branch 'update-linters_pcs-0.11' into pcs-0.11
tomjelinek Dec 5, 2024
aacb944
Bumped to 0.11.9
CtrlZmaster Jan 10, 2025
e4f7888
fix mypy info note
mirecheck Jan 9, 2025
8aceff6
add ruff python linter and formatter
mirecheck Nov 25, 2024
0878eee
ruff: enable ruff linter `I` (isort) and re-format with ruff isort
mirecheck Jan 8, 2025
38d64f2
ruff: re-format with ruff
mirecheck Jan 8, 2025
fb94d92
ruff: enable ruff default linters (`E4`, E7`, `E9`, and `F`)
mirecheck Nov 29, 2024
50deec4
ruff: enable ruff linter `SIM`
mirecheck Jan 9, 2025
4769762
ruff: enable ruff linter `ASYNC` (flake8-async)
mirecheck Dec 11, 2024
1b3e99a
ruff: enable ruff linter `B` (flake8-bugbear)
mirecheck Dec 11, 2024
7933c71
ruff: enable ruff linter `A` (flake8-builtins)
mirecheck Dec 11, 2024
24e7080
ruff: enable ruff linter `LOG` (flake8-logging)
mirecheck Dec 11, 2024
d8878ae
ruff: enable ruff linter `G` (flake8-logging-format)
mirecheck Dec 11, 2024
a726a48
ruff: enable ruff linter `C4` (flake8-comprehensions)
mirecheck Jan 9, 2025
1538ef5
ruff: enable ruff linter `PIE` (flake8-pie)
mirecheck Dec 11, 2024
980fd67
ruff: enable ruff linter `RET` (flake8-return)
mirecheck Dec 11, 2024
fe37077
ruff: enable ruff linter `SLF` (flake8-self)
mirecheck Dec 11, 2024
c5b4a6e
ruff: enable ruff linter `SLOT` (flake8-slots)
mirecheck Dec 11, 2024
f3043a6
ruff: enable ruff linter `TC` (flake8-type-checking)
mirecheck Dec 11, 2024
2b6a812
ruff: enable ruff linter `PERF` (perflint)
mirecheck Dec 12, 2024
8108d64
ruff: disable rule PERF203 try-except-in-loop
mirecheck Jan 9, 2025
6dac6db
ruff: enable ruff linter `ARG` (flake8-unused-arguments)
mirecheck Dec 12, 2024
0ef5aef
ruff: enable previously disabled `PL` (pylint) rules
mirecheck Dec 13, 2024
555355a
gitlab-ci: add ruff, remove black and isort
mirecheck Nov 28, 2024
b27e65b
remove black code formatter
mirecheck Dec 13, 2024
cc0e7f0
remove isort
mirecheck Dec 13, 2024
af7946c
remove pylint
mirecheck Dec 13, 2024
3ab34cc
remove report processor side effects from conditions
tomjelinek Dec 18, 2024
a24b36a
ruff: update to 0.9.1
mirecheck Jan 14, 2025
fb95114
Merge branch 'add-ruff_pcs-0.11' into pcs-0.11
tomjelinek Jan 15, 2025
ace1665
Allow to use custom Gemfile
mirecheck Jan 7, 2025
25586b4
fix validating integer values
tomjelinek Jan 16, 2025
5c34ba7
replace deprecated function find_unique_id
tomjelinek Dec 5, 2024
e38be0d
acls: move dom code out of pcs.lib
tomjelinek Dec 5, 2024
806c858
remove unused build and test dependencies
tomjelinek Jan 3, 2025
091687f
fix tests for rubygem-json 2.8+
tomjelinek Jan 14, 2025
7767af5
fix for ruby 3.4+
tomjelinek Jan 14, 2025
e59896c
Merge branch 'rubygem-json-fix_pcs-0.11' into pcs-0.11
tomjelinek Jan 17, 2025
cf752c8
be more verbose when a user pushes an invalid cib
tomjelinek Jan 21, 2025
8dae6c6
fix local public dir path
idevat Jul 1, 2024
9447dfa
include watchdog identity in watchdog listing
tomjelinek Jan 29, 2025
1418454
add script usable as githook with various checks
idevat Feb 3, 2025
edabcd6
fix headings in README.md
idevat Feb 10, 2025
89fc8ed
add command for renaming cluster
Pederrr Dec 4, 2024
60451d7
remove cluster-name property from CIB on nodes
Pederrr Jan 23, 2025
34514db
print report context in report asserts
Pederrr Jan 28, 2025
5acd608
fixup issues
Pederrr Jan 29, 2025
c790627
handle errors from api v1 better
Pederrr Feb 10, 2025
d92b50b
fix changelog
Pederrr Feb 11, 2025
f40a6ba
Merge branch 'pcs-0.11_cluster-rename' into pcs-0.11
tomjelinek Feb 11, 2025
437a441
fix restarting bundle instances
tomjelinek Feb 12, 2025
9034688
fix deletion of misconfigured bundles
Pederrr Feb 13, 2025
f57e54c
spec: fix license string
CtrlZmaster Mar 7, 2025
3eb8e5e
spec: disallow install with Pacemaker 3
CtrlZmaster Mar 7, 2025
5bb7fa6
spec: sync dependencies with downstream
CtrlZmaster Mar 7, 2025
4b782ed
Merge branch 'spec-review' into pcs-0.11
tomjelinek Mar 11, 2025
e736347
fix a traceback when resource remove fails in web ui
tomjelinek Mar 19, 2025
1d89173
pcsd: pass force to lower layer in update_cluster_settings
tomjelinek Mar 19, 2025
ed947cc
fix tests for rubygem-json 2.10+
mirecheck Mar 11, 2025
49b512c
fix displaying node-attribute in colocation
tomjelinek Apr 1, 2025
c20c0b8
add type hints
tomjelinek Feb 26, 2025
eff39d3
error when removing last stonith
tomjelinek Mar 5, 2025
b0508cc
fix reporting messages
tomjelinek Mar 11, 2025
c427d3d
check if stonith resources are enabled when removing last stonith
tomjelinek Mar 12, 2025
e6ca826
error out when disabling last stonith
tomjelinek Mar 14, 2025
033da86
add tests
tomjelinek Mar 14, 2025
d64de67
update changelog
tomjelinek Mar 19, 2025
6a8f9a6
fix sbd check when considering available stonith
tomjelinek Mar 21, 2025
8f3cb36
add missing capability
tomjelinek Mar 27, 2025
09be0b3
fix stonith enabled check if stonith is cloned or grouped
tomjelinek Mar 27, 2025
0731cf5
Merge branch 'pcs-0.11_no-stonith-warning' into pcs-0.11
tomjelinek Apr 2, 2025
1645d64
add type hints
tomjelinek Mar 6, 2025
e668e37
export alerts as json and commands
tomjelinek Mar 28, 2025
9ae3f7f
remove old code for printing alerts config
tomjelinek Mar 28, 2025
8705b9f
Merge branch 'pcs-0.11_export-alerts' into pcs-0.11
tomjelinek Apr 4, 2025
0dbad5d
fix lib command alert.get_config_dto
mirecheck Apr 9, 2025
b2479c8
fix force_flags type hints
tomjelinek Apr 10, 2025
fb6c961
fix changelog after special release
CtrlZmaster Apr 15, 2025
b60e888
readme: document web ui
tomjelinek Apr 23, 2025
d16bd2a
code formatting
tomjelinek Apr 11, 2025
6459205
fix test framework
tomjelinek Apr 11, 2025
86d32ac
remove tests for unsupported pacemaker version
tomjelinek Apr 15, 2025
cf5d340
add crm_verify messages in pcs status
tomjelinek Apr 15, 2025
21dbc18
run crm_verify on successfull manual cib push/edit
tomjelinek Apr 15, 2025
e314d56
resource meta command overhaul
CtrlZmaster May 2, 2025
32a0ded
export node attribute/utilization as json and commands
mirecheck Apr 8, 2025
9879360
fix tier1 tests
mirecheck Apr 17, 2025
9628564
add test coverage
mirecheck Apr 23, 2025
d201221
remove old code for printing node config
mirecheck Apr 25, 2025
dcc7712
update changelog, capabilities, usage, man page
mirecheck Apr 29, 2025
a777b91
fixes based on review
mirecheck May 6, 2025
dbb53b8
Merge branch 'pcs-0.11_export-node' into pcs-0.11
tomjelinek May 7, 2025
63dfc83
fix tests for tornado-6.5
mirecheck May 16, 2025
945ecd9
ignore case of target-role in cluster status
Pederrr May 19, 2025
31e7d0a
support for query limits in rack
mirecheck May 20, 2025
9f7e758
add AI policy
tomjelinek Jun 17, 2025
82f96ee
create state and logs directories by systemd instead of rpm
mirecheck Jun 17, 2025
cb91021
allow transfer an acl permission info as a list
idevat Jun 26, 2025
c9988d7
add missing runtime dependency
CtrlZmaster Jul 2, 2025
ee0e81f
better explain configure options
CtrlZmaster Jul 2, 2025
c9f781e
Bumped to 0.11.10
CtrlZmaster Jul 9, 2025
18197d0
fix ruby NameError exception in pcsd/pcsd.rb occuring with older rack
mirecheck Jul 10, 2025
c01edbd
fix rpm version on tagged commits
tomjelinek Jul 11, 2025
ebd4f5b
update ruff
tomjelinek Jul 18, 2025
35eead6
update mypy
tomjelinek Jul 18, 2025
bbaf46e
fix typos
tomjelinek Aug 1, 2025
dc84754
install typos via pip
tomjelinek Aug 4, 2025
b9556e5
add --enable-individual-bundling to rpm/pcs.spec.in
mirecheck Aug 7, 2025
4173880
add tests.fmf and plans.fmf for TMT
mirecheck Mar 18, 2025
d038a68
fixes based on review
mirecheck Aug 5, 2025
e81f793
Merge branch 'pcs-0.11_ci-tmt' into pcs-0.11
tomjelinek Aug 8, 2025
b2c3f77
autotools: fix PCS_CHECK_GEM to be more consistent with PCS_CHECK_PYMOD
mirecheck Aug 13, 2025
13017ec
tmt: fix env variable COMPOSE_NAME in tests.fmf
mirecheck Aug 11, 2025
1e7a3fa
tmt: build pcs rpm without --enable-individual-bundling
mirecheck Aug 13, 2025
ee4b4fd
tmt: cancel test request if job or pipeline is canceled
mirecheck Aug 12, 2025
3061127
Merge branch 'pcs-0.11_tmt-fix-env' into pcs-0.11
mirecheck Aug 13, 2025
94e8005
AI policy: broaden the rationale
CtrlZmaster Aug 14, 2025
388d76f
tmt: fix disabling testing farm tag repositories
mirecheck Aug 25, 2025
cfa4430
autotools: fix bundling rubygems in upstream rpm
mirecheck Aug 26, 2025
fcbc6c9
fix --no-expire-check in documentation
tomjelinek Sep 5, 2025
559b837
do not wrap resource agent longdesc
tomjelinek Sep 9, 2025
4eb4cc1
fix url /add_meta_attr_remote for stonith
idevat Sep 19, 2025
6f21c7f
stop using fluent interface for self.config in add_link tests
Pederrr Nov 10, 2025
30d5ca7
deprecate knet sctp transport
Pederrr Nov 6, 2025
929d0a5
define job tag by a gitlab variable
mirecheck Nov 18, 2025
d6459a7
do not end with 500 when invalid corosync.conf is stored on a node
Pederrr Nov 24, 2025
081978b
refine cluster setup signature
idevat Nov 26, 2025
3f0ce3f
ci: update test composes
mirecheck Dec 9, 2025
088e334
add missing changelog entry
Pederrr Jan 6, 2026
9294394
Bumped to 0.11.11
CtrlZmaster Jan 6, 2026
2f5783c
fix test parallelization to work with python-3.14
mirecheck Jul 2, 2025
1219b53
fix annotations for python-3.14
mirecheck Jul 2, 2025
d040ba4
build: add support for rust coreutils
tomjelinek Nov 26, 2025
774fbb3
Merge branch 'pcs-0.11_fix-python-3.14' into pcs-0.11
tomjelinek Jan 8, 2026
a022dfe
update ruff
mirecheck Jan 5, 2026
25e87a1
update mypy
mirecheck Jan 5, 2026
d7734ac
update typos
mirecheck Jan 5, 2026
27f0b4a
update typos_known to the new typos output format
mirecheck Jan 6, 2026
fc38f3d
Merge branch 'pcs-0.11_update-linters' into pcs-0.11
mirecheck Jan 9, 2026
ef249a2
ci: fix smoke test logs
mirecheck Feb 26, 2026
d2fe4e8
improve resource rule help and manpage
tomjelinek Feb 23, 2026
b80a0d1
migrate AI policy to GitHub wiki
CtrlZmaster Mar 4, 2026
9389a68
ci: update test composes
mirecheck Mar 17, 2026
76f6cb5
Add control for non existing sbd config files
ApetorSkol Mar 19, 2026
5aee28a
disable multipart requests in Tornado
CtrlZmaster Mar 25, 2026
95454f7
add lib command for rename node in CIB
idevat Mar 4, 2026
00fe126
add CLI command for rename node in CIB
idevat Mar 4, 2026
8439567
add capability for cluster node rename in CIB
idevat Mar 4, 2026
85dab6a
add CLI doc for rename cluster node in CIB
idevat Mar 4, 2026
f660cd8
extract _rename_in_cib function
idevat Mar 6, 2026
1080048
improve code location; without implement. change
idevat Mar 6, 2026
6e019aa
improve corosync.conf checks
idevat Mar 6, 2026
6413b27
improve cli command doc string
idevat Mar 6, 2026
0d5b3c6
improve and fix cib updates and its reportings
idevat Mar 6, 2026
4043b2b
fix capabilities
idevat Mar 6, 2026
519b0ab
use reference to ACLS section
idevat Mar 6, 2026
d64badb
fix report message + tests
idevat Mar 6, 2026
41d4f63
improve working with reports
idevat Mar 6, 2026
4e3154c
fix permission for node rename
idevat Mar 6, 2026
9193332
use alternative condition format
idevat Mar 6, 2026
03898f3
fix typos etc.
idevat Mar 6, 2026
4f1429b
move corosync check to pcs.lib.cib
idevat Mar 6, 2026
6d360ac
split module pcs/lib/commands/cluster.py to package
idevat Mar 10, 2026
4d9da81
code formatting and cleanup
tomjelinek Mar 12, 2026
40f3aa5
configure mypy for new modules
tomjelinek Mar 12, 2026
d400a44
improve code layout inside modules
idevat Mar 16, 2026
36c8dae
refactor tests: push denent to push_corosync_conf
idevat Mar 11, 2026
9cf0447
add lib command for rename node in corosync
idevat Mar 17, 2026
be98641
add CLI command for rename node in corosync
idevat Mar 12, 2026
78ccc00
add capability for cluster node rename in corosync
idevat Mar 13, 2026
4cfcf01
add CLI doc for rename cluster node in corosync
idevat Mar 13, 2026
81d3c6c
inline corosync consistency checks
idevat Mar 17, 2026
668b83e
separate reports from LibraryError raising
idevat Mar 19, 2026
500556a
improve doc
idevat Mar 19, 2026
b323056
Fix doc for consistency
idevat Mar 19, 2026
2d23c6b
fix too new features in backport
idevat Mar 25, 2026
4c95b13
fix ticket link in changelog
idevat Mar 25, 2026
8da21ae
Merge branch 'backport-cluster-node-rename' into pcs-0.11
idevat Mar 26, 2026
90d1176
disable multipart requests in Tornado pt.2
CtrlZmaster Mar 31, 2026
de4bbe4
review: use global import
CtrlZmaster Apr 2, 2026
7686631
fix tmt plan for centos-stream distro
mirecheck Apr 20, 2026
1087835
Update constraint order printout
ApetorSkol May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .fmf/version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# https://help.github.com/en/articles/about-code-owners
# Default reviewers for everything
* @ondrejmular @tomjelinek
* @tomjelinek
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,12 @@ pcs/snmp/pcs_snmp_agent.service
/pcsd/public/ui
/Gemfile*
/scripts/pcsd.sh
pcs.pc
pcs-*
.mypy_cache/
requirements.txt
setup.py
setup.cfg
/setup.py
/setup.cfg
pcs/api_v2_client
pcs_test/api_v2_client
pcs/pcs
Expand All @@ -32,6 +33,7 @@ pcs_test/smoke.sh
pcs_test/tools/bin_mock/pcmk/crm_resource
pcs_test/tools/bin_mock/pcmk/pacemaker_metadata
pcs_test/tools/bin_mock/pcmk/pacemaker-fenced
pcs_test/tools/bin_mock/pcmk/stonith_admin
pcs_test/resources/*.tmp
pcs_test/resources/temp*.xml
pcs_test/resources/temp*
Expand Down
271 changes: 136 additions & 135 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,148 +1,149 @@
default:
before_script:
- git remote add upstream https://github.com/ClusterLabs/pcs.git
- git fetch upstream
---
# Keep the previos behavior when jobs are not run in merge request pipelines.
# https://docs.gitlab.com/ci/jobs/job_rules/#avoid-duplicate-pipelines
# https://docs.gitlab.com/ci/yaml/workflow/
# https://docs.gitlab.com/ci/pipelines/merge_request_pipelines/
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
when: never
- when: always

variables:
# override these by CI variables if needed
ENABLE_FIPS:
description: Enable FIPS mode in testing farm. Set to empty to disable FIPS
value: --insert --order 0 --how feature --fips enabled
options:
- --insert --order 0 --how feature --fips enabled
- ""
PLAN_FILTER:
description: Predefined plan filters for testing farm. Default is empty
which means run all plans.
value: ""
options:
- ""
- "name:.*linters"
- "name:.*tier0"
- "name:.*tier1"
- 'name:.*linters\|.*tier0'
TEST_FILTER:
description: Predefined test filters for testing farm. Default is empty
which means run all test.
value: ""
options:
- ""
- 'name:(?!.*python_tier1_tests).*' # skip python_tier1_tests
- "tag:distcheck"
- "tag:lint"
- "tag:python"
- "tag:rpm_build"
- "tag:ruby"
- "tag:smoke"
- "tag:tier0"
- "tag:tier1"
TFCLI_PLAN_FILTER:
description: Set to $PLAN_FILTER to use a predefined plan filter or specify
a custom one.
value: $PLAN_FILTER
TFCLI_TEST_FILTER:
description: Set to $TEST_FILTER to use a predefined test filter or specify
a custom one.
value: $TEST_FILTER
TFCLI_TMT_PREPARE: $ENABLE_FIPS
TF_REQUEST_ID_FILE: /tmp/tf_request_id-$CI_JOB_ID
TF_EXIT_CODE_FILE: /tmp/tf_exit_code-$CI_JOB_ID


# https://docs.gitlab.com/ci/yaml/#parallelmatrix
# COPMOSE_NAME
# * values must use only letters and numbers because they are used as part
# of rpm name
# * must be kept short because they are used in job names
# * other pipelines use a job name to download the job's artifacts
# TF_COMPOSE
# * name of a testing farm compose
# * list of composes:
# https://api.testing-farm.io/v0.1/composes/public
# https://api.testing-farm.io/v0.1/composes/redhat
# TMT_DISTRO
# * value for the tmt context variable distro:
# https://tmt.readthedocs.io/en/stable/spec/context.html
# https://fmf.readthedocs.io/en/latest/context.html
#
.parallel:
parallel:
matrix:
- BASE_IMAGE_NAME: ["PcsRhel9CurrentRelease", "PcsRhel9Next", "PcsFedoraCurrentRelease"]
- COMPOSE_NAME:
- Rhel9Next
- Rhel9CurrentRelease
rules:
- if: $COMPOSE_NAME == "Rhel9Next"
variables:
TF_COMPOSE: RHEL-9.9.0-Nightly
TMT_DISTRO: rhel-9.9
- if: $COMPOSE_NAME == "Rhel9CurrentRelease"
variables:
TF_COMPOSE: RHEL-9.8.0-Nightly
TMT_DISTRO: rhel-9.8

stages:
- stage1
- stage2
.download_artifacts_from_tf: &download_artifacts_from_tf
- UUID_REGEX="[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}"
- REQUEST_ID=$(sed -n -E "s/.*($UUID_REGEX).*/\1/p" output.txt | head -n 1)
- echo "$REQUEST_ID" > "$TF_REQUEST_ID_FILE"
- echo "Testing Farm request id is $REQUEST_ID"
- EXIT_CODE=0
- testing-farm watch --id "$REQUEST_ID" || EXIT_CODE=$?
- echo $EXIT_CODE > "$TF_EXIT_CODE_FILE"
- >
curl --insecure --location --remote-name \
"https://artifacts.osci.redhat.com/testing-farm/$REQUEST_ID/results.xml"
- >
for ARTIFACT_DIR in rpms dist var/log/pcsd; do
for ARTIFACT_URL in $(
xmllint \
--xpath "//log[starts-with(@name, 'data/$ARTIFACT_DIR')]/@href" \
results.xml \
| sed "s/.*=\"\(.*\)\"/\1/"
); do
echo $ARTIFACT_URL >&2;
curl --insecure --remote-name --create-dirs \
--output-dir "$ARTIFACT_DIR" "$ARTIFACT_URL";
done
done
- exit $EXIT_CODE

rpm_build:
tf_tests:
extends: .parallel
stage: stage1
image: $SHARED_RUNNER_CONTAINER_IMAGE
script:
- ./autogen.sh
- ./configure --enable-local-build
- make CI_BRANCH=${BASE_IMAGE_NAME} rpm/pcs.spec
- dnf builddep -y rpm/pcs.spec
- make CI_BRANCH=${BASE_IMAGE_NAME} rpm
- mkdir -p rpms && cp -v $(find rpm -type f -name '*.rpm' -not -name '*.src.rpm') rpms
- testing-farm request
--git-url
https://gitlab-ci-token:$CI_JOB_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH
--git-ref $CI_COMMIT_REF_NAME
--compose $TF_COMPOSE
--context distro=$TMT_DISTRO
--environment COMPOSE_NAME=$COMPOSE_NAME
--plan-filter "$TFCLI_PLAN_FILTER"
--test-filter "$TFCLI_TEST_FILTER"
--tmt-prepare "$TFCLI_TMT_PREPARE"
--no-wait
| tee output.txt
- *download_artifacts_from_tf
after_script:
- REQUEST_ID=$(<"$TF_REQUEST_ID_FILE")
- EXIT_CODE=$(<"$TF_EXIT_CODE_FILE")
- echo "CI_JOB_STATUS=$CI_JOB_STATUS EXIT_CODE=$EXIT_CODE"
- >
if [[ "$CI_JOB_STATUS" != "success" && "$EXIT_CODE" != "1" ]]; then \
echo "Canceling testing farm request $REQUEST_ID"; \
testing-farm cancel "$REQUEST_ID"; \
fi
tags:
- $SHARED_RUNNER_TAG
artifacts:
expire_in: 1 week
paths:
- rpms

distcheck:
extends: .parallel
stage: stage1
script:
- "pip3 install
dacite
tornado
pyagentx
"
- ./autogen.sh
- ./configure --enable-local-build
- make distcheck DISTCHECK_CONFIGURE_FLAGS='--enable-local-build'
- rename --verbose .tar. ".${BASE_IMAGE_NAME}.tar." pcs*.tar.*
- mkdir -p dist && cp -v pcs*.tar.* dist/
artifacts:
expire_in: 1 week
paths:
- dist

typos:
extends: .parallel
stage: stage1
script:
- ./autogen.sh
- ./configure --enable-local-build --enable-typos-check
- make
- make typos_check

black:
extends: .parallel
stage: stage1
script:
- python3 -m pip install --upgrade -r dev_requirements.txt
- ./autogen.sh
- ./configure --enable-local-build --enable-dev-tests --enable-tests-only
- make black_check

isort:
extends: .parallel
stage: stage1
script:
- python3 -m pip install --upgrade -r dev_requirements.txt
- ./autogen.sh
- ./configure --enable-local-build --enable-dev-tests --enable-tests-only
- make isort_check

pylint:
extends: .parallel
stage: stage1
script:
- python3 -m pip install --upgrade -r dev_requirements.txt
- ./autogen.sh
- ./configure --enable-local-build --enable-dev-tests --enable-parallel-pylint
- make
- make pylint

mypy:
extends: .parallel
stage: stage1
script:
- python3 -m pip install --upgrade -r dev_requirements.txt
- ./autogen.sh
- ./configure --enable-local-build --enable-dev-tests
- make
- make mypy

ruby_tests:
extends: .parallel
stage: stage1
script:
- ./autogen.sh
- ./configure --enable-local-build
- make
- make pcsd-tests

python_tier0_tests:
extends: .parallel
stage: stage1
script:
# make sure that tier0 tests run without cluster packages installed
- dnf remove -y corosync* pacemaker* fence-agents* resource-agents* booth* sbd
- python3 -m pip install concurrencytest
- ./autogen.sh
- ./configure --enable-local-build
- make
- make tests_tier0

python_tier1_tests:
extends: .parallel
stage: stage2
needs:
- rpm_build
script:
- "dnf install -y rpms/pcs-*${BASE_IMAGE_NAME}*$(rpm -E %{dist}).*.rpm"
- python3 -m pip install concurrencytest
- ./autogen.sh
- ./configure --enable-local-build --enable-destructive-tests --enable-tests-only
- rm -rf pcs pcsd pcs_bundled # make sure we are testing installed package
- pcs_test/suite -v --installed --tier1

python_smoke_tests:
extends: .parallel
stage: stage2
needs:
- rpm_build
script:
- "dnf install -y rpms/pcs-*${BASE_IMAGE_NAME}*$(rpm -E %{dist}).*.rpm"
- systemctl start pcsd
- sleep 2
- ./autogen.sh
- ./configure --enable-local-build
- make
- rm -rf pcs
- pcs_test/smoke.sh
artifacts:
paths:
- /var/log/pcsd/
when: on_failure
expire_in: 1 week
- var/log/pcsd
Loading
Loading