Skip to content

Releases: ClusterLabs/pcs

pcs-0.12.0 beta1

21 Nov 08:40
Compare
Choose a tag to compare
pcs-0.12.0 beta1 Pre-release
Pre-release

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 and cmd to pcs tag config command (RHEL-21047)
  • Add lib commands cluster.get_corosync_conf_struct and resource.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 and cmd formats in commands pcs stonith config and pcs 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 and pcs 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. The pcs cluster node delete-remote | remove-remote or pcs 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 its method option set to cycle (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

12 Jul 13:30
Compare
Choose a tag to compare

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 and cmd to resources/stonith defaults and resource/stonith op defaults config commands (RHEL-16231)
  • Add lib commands cib_options.resource_defaults_config and cib_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

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

12 Jul 13:17
Compare
Choose a tag to compare
pcs-0.12.0 alpha1 Pre-release
Pre-release

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 in pcs stonith commands, as well as --brief, --no-strict, --safe and --simulate flags of pcs 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 with pcs status pcsd or pcs pcsd status (deprecated since 0.10.9)
  • Command pcs cluster certkey, replaced with pcs pcsd certkey (deprecated since 0.10.9)
  • Command pcs resource | stonith [op] defaults <name>=<value>..., replaced with pcs resource | stonith [op] defaults update (deprecated since 0.10.7)
  • Command pcs acl show, replaced with pcs acl config (deprecated since 0.10.9)
  • Command pcs alert show, replaced with pcs alert config (deprecated since 0.10.9)
  • Commands pcs constraint [location | colocation | order | ticket] show | list, replaced with pcs constraint [location | colocation | order | ticket] config (deprecated since 0.10.9)
  • Commands pcs property show, pcs property list, replaced with pcs property config (deprecated since 0.10.9)
  • Command pcs tag list, replaced with pcs tag config (deprecated since 0.10.9)
  • --autodelete flag of pcs resource move command (deprecated since 0.11)

Added

  • Support for output formats json and cmd to resources/stonith defaults and resource/stonith op defaults config commands (RHEL-38487)
  • Add lib commands cib_options.resource_defaults_config and cib_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 and constraint.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 and pcs constraint colocation add, use score=value instead (RHEL-34792)
  • --wait option in resource commands except pcs resource restart | move, and in the commands pcs cluster node add-guest | add-remote. Instead use:
    • pcs status wait to wait for the cluster to settle into stable state
    • pcs 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 in pcs 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.