Releases: ClusterLabs/pcs
pcs-0.10.19
This is a special release of the no longer maintained pcs-0.10 branch. It includes security hardening for recently reported vulnerabilities related to processing HTTP headers in multiple rubygems. In addition, the last published release was not able to produce RPMs with make rpm
. Special thank you goes to S Sathish S for alerting us about this issue.
Complete change log for this release:
Security
- HTTP headers are no longer resent from Python daemon to the Ruby daemon. This is security hardening against vulnerabilities in rubygems Puma, Rack and Sinatra that have been recently reported.
Fixed
- Failure to build pcs from upstream specfile from a tagged commit. The only affected release is 0.10.18.
pcs-0.12.0 beta1
Please be advised that this is a beta release which is not feature and bug fix complete. The pcs 0.12 series is designed to be compatible with Pacemaker 3.x on top of Corosync 3.x. This release therefore brings a lot of deprecations and also removals of previously deprecated features. This milestone also marks slowing down of feature development for the pcs 0.11 series and stopping maintenance of the pcs 0.10 series.
The most notable changes are:
Minimal supported version of Pacemaker is 3.0. Minimal required version of Python is 3.12. Minimal required version of python3-pyparsing is 3.0.0. Minimal required version of Ruby is 3.1.
With deprecation of installation using setup.py, the project was migrated to standard PEP517, PEP518 and PEP621 packaging mechanism. Setuptools is used as a build backend and pip as a build frontend. If you build pcs from source (not using a package), look at the changes in Makefile.am and rpm/spec.in. Update of your building processes might be needed.
Following Pacemaker 3, support for following features has been removed:
- nagios and upstart resource classes
- rkt containers in bundle resources
- multiple rules in a single location constraint
Also, date-spec and duration options in rules have been changed to match Pacemaker 3.
Pacemaker tags and stonith levels (AKA fencing topology) can now be exported as JSON or pcs commands.
Command 'pcs resource delete' has been overhauled. It now allows removing multiple resources in one go. It is also newly capable of removing resources or stonith resources referenced in Pacemaker tags. It can no longer remove remote and guest nodes, there are special commands for that.
Check out changes described in pcs-0.12.0a1 Alhpa release, as they are valid for this release as well.
Complete change log for this release:
Removed
- Following pacemaker 3, support for nagios and upstart resource classes has been removed (RHEL-49520)
- Following pacemaker 3, support for rkt containers in bundle resources has been removed (RHEL-49521)
- Following pacemaker 3, support for multiple rules in a single location constraint has been removed (RHEL-62719)
- Removed pcsd configuration option
PCSD_DISABLE_GUI
. It is possible not to install webui support by running./configure
without flag--enable-webui
.
Added
- Support for output formats
json
andcmd
topcs tag config
command (RHEL-21047) - Add lib commands
cluster.get_corosync_conf_struct
andresource.get_configured_resources
to API v2 - Lib command
cib.remove_elements
can now remove resources - Add lib command
status.full_cluster_status_plaintext
to API v1 (RHEL-61747) - Support for exporting stonith levels in
json
andcmd
formats in commandspcs stonith config
andpcs stonith level config
commands (RHEL-38483)
Changed
- Minimal supported version of pacemaker is 3.0
- Minimal required version of python has been changed to 3.12
- Minimal required version of ruby has been changed to 3.1
- Commands
pcs resource delete | remove
andpcs stonith delete | remove
now allow (RHEL-61889):- deletion of multiple resources or stonith resources with one command
- deletion of resources or stonith resources included in tags
- Commands
pcs resource delete | remove
can no longer remove remote and guest node resources. Thepcs cluster node delete-remote | remove-remote
orpcs cluster node delete-guest | remove-guest
should be used to properly delete remote or guest nodes. (RHEL-61889) - Commands
pcs cluster node delete-remote | remove-remote
no longer remove location constraints referencing the node name of the removed node. This new behavior is consistent with the other node removal commands. - Minimal required version of python3-pyparsing has been changed to 3.0.0
- With deprecation of installation using setup.py, the project was migrated to standard PEP517, PEP518 and PEP621 packaging mechanism. Setuptools is used as a build backend and pip as a build frontend. If you build pcs from source (not using a package), look at the changes in Makefile.am and rpm/spec.in. Update of your building processes might be needed.
- Following pacemaker 3, date-spec and duration options in rules have been changed (RHEL-49524, RHEL-49527)
Fixed
- Do not end with error when using the instances quantifier in
pcs status query resource is-state
command (RHEL-55723) - Do not display a warning in
pcs status
when a fence_sbd stonith device has itsmethod
option set tocycle
(RHEL-44432) - Do not display expired constraints in
pcs constraint location config resources
unless--all
is specified (RHEL-33386) - Displaying status of local and remote cluster sites in
pcs dr status
command. (RHEL-61747)
Thanks / congratulations to everyone who contributed to this release, including Ivan Devat, Michal Pospisil, Michal Pospíšil, Miroslav Lisik, Peter Romancik and Tomas Jelinek.
pcs-0.11.8
Same as the new pcs-0.12 release, this pcs-0.11 release is deprecating features that are planned to be removed in Pacemaker 3 to ease the transition to the new major version.
This release brings the new pcs status wait/query commands which allow for better scripting usage. Amongst many other scripting uses, they can be used to check for any resource state in comparison with the '--wait' option in resource commands which have hardcoded expected states.
There is also now a possibility to export resource and stonith defaults and operation defaults and many more new checks and bug fixes.
Complete change log for this release:
Added
- Support for output formats
json
andcmd
to resources/stonith defaults and resource/stonith op defaults config commands (RHEL-16231) - Add lib commands
cib_options.resource_defaults_config
andcib_options.operation_defaults_config
to API v2 - Add lib command
cluster.wait_for_pcmk_idle
to API v2 - Add lib command
status.resources_status
to API v2 - Add
pcs status wait
CLI command (RHEL-25854) - Add
pcs status query resource
CLI commands (RHEL-21051)
Fixed
- Do not put empty uid/gid corosync configuration options to an uidgid file when not specified in
pcs cluster uidgid add
command. Empty options cause corosync start failure. (ghissue#772) - Do not allow fencing levels other than 1..9 (RHEL-2977)
- Adjust OCF metadata processing to support the latest pacemaker changes (RHEL-27492)
- Use different process creation method for multiprocessing module in order to avoid deadlock on process termination. (ghissue#780, RHEL-28749)
- Do not wrap pcs output to terminal width if pcs's stdout is redirected (RHEL-36514)
- Report an error when an invalid resource-discovery is specified (RHEL-7701)
- 'pcs booth destroy' now works for nodes without a cluster (such as arbitrators) (RHEL-7737)
- Validate SBD_DELAY_START and SBD_STARTMODE options (RHEL-17962)
Deprecated
- Pcs produces warnings about features planned to be removed in pacemaker 3:
- score in order constraints
- using rkt in bundles
- upstart and nagios resources
- some date-spec and duration options in rules
Thanks / congratulations to everyone who contributed to this release, including Ivan Devat, Michal Pospisil, Miroslav Lisik, Peter Romancik and Tomas Jelinek.
pcs-0.12.0 alpha1
Please be advised that this is an alpha release which is not feature complete. The pcs 0.12 series is designed to be compatible with Pacemaker 3.x on top of Corosync 3.x. This release therefore brings a lot of deprecations and also removals of previously deprecated features. This milestone also marks slowing down of feature development for the pcs 0.11 series and stopping maintenance of the pcs 0.10 series.
The most notable changes are:
All of the deprecated show
commands were removed. Use config
and status
commands instead which better indicate the desired output.
Resource commands no longer accept stonith resources and vice-versa. This was done to prevent mixups and unintended consequences since there is a difference in behavior of some resource and stonith commands.
When working with resource agent configuration, validation of options by the agents is now enabled by default, but only produces warnings instead of errors. Since this was not widely used until now, there might be bogus warnings. Pcs is running the validate-all
action of the agent, so please report any incorrect warnings to the maintainers of the specific agent.
New option, --yes
, was introduced for approving dangerous actions like sbd device setup. This deprecates --force
in this context which might have also disabled critical checks in addition to approving the action. The --force
option will be used exclusively to disable critical checks in the future, the current behavior remains unchanged.
The --wait
option was deprecated in resource commands (see changelog for exceptions). You can now follow up the resource commands with the new pcs status wait
and pcs status query
commands. This allows for checking that the resource is in a specified state instead of hardcoded values specific to each command.
Previously, there was a built-in support of pcs-web-ui that displayed instructions to install pcs-web-ui if it was absent. Now, the pcs-web-ui backend is disabled by default at build time. Even if pcs-web-ui is installed manually, it will not work without the backend in pcs. To enable the backend, --enable-webui
option must be specified when running ./configure
.
Other changes include deprecating features not supported in Pacemaker 3, which will be removed in the final pcs 0.12 version after Pacemaker 3 becomes available. Please, pay special attention to the removed, changed and deprecated sections of the changelog.
Complete change log for this release:
Removed
- Using spaces in dates in location constraint rules (rhbz#2163953)
- Delimiting stonith devices with a comma in
pcs stonith level add | clear | delete | remove
commands - Ambiguous syntax of
pcs stonith level clear | delete | remove
- Legacy role names are no longer accepted by pcs, use
Promoted
,Unpromoted
,--promoted
,promotable
,promoted-max
- Using stonith resources in
pcs resource
commands and resources inpcs stonith
commands, as well as--brief
,--no-strict
,--safe
and--simulate
flags ofpcs stonith disable
command (RHEL-35428) - Ability to create stonith resource in a group from
pcs stonith create
command (RHEL-35428) - command
stonith.create_in_group
from API v1 and v2 (RHEL-35428) - Command
pcs cluster pcsd-status
, replaced withpcs status pcsd
orpcs pcsd status
(deprecated since 0.10.9) - Command
pcs cluster certkey
, replaced withpcs pcsd certkey
(deprecated since 0.10.9) - Command
pcs resource | stonith [op] defaults <name>=<value>...
, replaced withpcs resource | stonith [op] defaults update
(deprecated since 0.10.7) - Command
pcs acl show
, replaced withpcs acl config
(deprecated since 0.10.9) - Command
pcs alert show
, replaced withpcs alert config
(deprecated since 0.10.9) - Commands
pcs constraint [location | colocation | order | ticket] show | list
, replaced withpcs constraint [location | colocation | order | ticket] config
(deprecated since 0.10.9) - Commands
pcs property show
,pcs property list
, replaced withpcs property config
(deprecated since 0.10.9) - Command
pcs tag list
, replaced withpcs tag config
(deprecated since 0.10.9) --autodelete
flag ofpcs resource move
command (deprecated since 0.11)
Added
- Support for output formats
json
andcmd
to resources/stonith defaults and resource/stonith op defaults config commands (RHEL-38487) - Add lib commands
cib_options.resource_defaults_config
andcib_options.operation_defaults_config
to API v2 - Add lib command
cluster.wait_for_pcmk_idle
to API v2 - Add lib command
status.resources_status
to API v2 - Add
pcs status wait
CLI command (RHEL-38491) - Add
pcs status query resource
CLI commands (RHEL-38489) - Add commands
constraint.location.add_rule_to_constraint
andconstraint.location.create_with_rule
to API v2 - Using
--yes
to confirm 'pcs cluster destroy', 'pcs quorum unblock', 'pcs stonith confirm', 'pcs stonith sbd device setup' and 'pcs stonith sbd watchdog test' commands (RHEL-36612) - Using
--overwrite
to confirm 'pcs cluster report' overwriting files (RHEL-36612) - Pkg-config with info for webui is now provided.
Fixed
- Do not put empty uid/gid corosync configuration options to an uidgid file when not specified in
pcs cluster uidgid add
command. Empty options cause corosync start failure. (ghissue#772) - Do not allow fencing levels other than 1..9 (RHEL-38479)
- Adjust OCF metadata processing to support the latest pacemaker changes (RHEL-27492)
- Use different process creation method for multiprocessing module in order to avoid deadlock on process termination. (ghissue#780, RHEL-38478)
- Unified the way score is defined in constraints commands (RHEL-34792)
- Do not wrap pcs output to terminal width if pcs's stdout is redirected (RHEL-38481)
- Report an error when an invalid resource-discovery is specified (RHEL-38480)
- 'pcs booth destroy' now works for nodes without a cluster (such as arbitrators) (RHEL-38486)
- Validate SBD_DELAY_START and SBD_STARTMODE options (RHEL-38484)
Changed
- When creating or updating a resource or stonith, its options are now validated by the resource or stonith agent. Unless --agent-validation is specified, this does not prevent misconfiguring the resource or stonith. (RHEL-35670)
- Standalone webui backend support in pcsd is now optional. It can be enabled by adding
--enable-webui
option to./configure
command. (RHEL-29739)
Deprecated
- Pcs produces warnings about features planned to be removed in pacemaker 3:
- score in order constraints
- using rkt in bundles
- upstart and nagios resources
- some date-spec and duration options in rules
- Specifying rules as multiple arguments, use a single string argument instead
- Specifying score as a standalone value in
pcs constraint location add
andpcs constraint colocation add
, use score=value instead (RHEL-34792) --wait
option in resource commands exceptpcs resource restart | move
, and in the commandspcs cluster node add-guest | add-remote
. Instead use:pcs status wait
to wait for the cluster to settle into stable statepcs status query resource
commands to verify that the resource is in the expected state after the wait
- Using
--force
to confirm 'pcs cluster destroy', 'pcs quorum unblock', 'pcs stonith confirm', 'pcs stonith sbd device setup' and 'pcs stonith sbd watchdog test' commands, use--yes
instead (RHEL-36612) - Using
--force
to confirm overwriting files inpcs cluster report
, use--overwrite
instead (RHEL-36612) - Assigning and unassigning ACL roles without specifying 'user' or 'group' keyword
Thanks / congratulations to everyone who contributed to this release, including Ivan Devat, Michal Pospisil, Miroslav Lisik, Ondrej Mular, Peter Romancik and Tomas Jelinek.