[ClusterLabs] pcs 0.12.0a1 released

Michal Pospíšil (he / him) mpospisi at redhat.com
Tue Jun 25 13:19:05 UTC 2024


I am happy to announce the first ALPHA release of the new major pcs
version - 0.12.0a1.

Source code is available at:
https://github.com/ClusterLabs/pcs/archive/refs/tags/v0.12.0a1.tar.gz
or
https://github.com/ClusterLabs/pcs/archive/refs/tags/v0.12.0a1.zip

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 built-in support for 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 [1]:
  - 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.

Cheers,
Michal


[1]: https://projects.clusterlabs.org/w/projects/pacemaker/pacemaker_3.0_changes/pacemaker_3.0_configuration_changes/
[ghissue#772]: https://github.com/ClusterLabs/pcs/issues/772
[ghissue#780]: https://github.com/ClusterLabs/pcs/issues/780
[RHEL-27492]: https://issues.redhat.com/browse/RHEL-27492
[RHEL-29739]: https://issues.redhat.com/browse/RHEL-29739
[RHEL-34792]: https://issues.redhat.com/browse/RHEL-34792
[RHEL-35428]: https://issues.redhat.com/browse/RHEL-35428
[RHEL-35670]: https://issues.redhat.com/browse/RHEL-35670
[RHEL-36612]: https://issues.redhat.com/browse/RHEL-36612
[RHEL-38478]: https://issues.redhat.com/browse/RHEL-38478
[RHEL-38479]: https://issues.redhat.com/browse/RHEL-38479
[RHEL-38480]: https://issues.redhat.com/browse/RHEL-38480
[RHEL-38481]: https://issues.redhat.com/browse/RHEL-38481
[RHEL-38484]: https://issues.redhat.com/browse/RHEL-38484
[RHEL-38486]: https://issues.redhat.com/browse/RHEL-38486
[RHEL-38487]: https://issues.redhat.com/browse/RHEL-38487
[RHEL-38489]: https://issues.redhat.com/browse/RHEL-38489
[RHEL-38491]: https://issues.redhat.com/browse/RHEL-38491
[rhbz#2163953]: https://bugzilla.redhat.com/show_bug.cgi?id=2163953



More information about the Users mailing list