Bug 2112268

Summary: Support ISO 8601 duration specifications for pacemaker "time" properties
Product: Red Hat Enterprise Linux 9 Reporter: Tomas Jelinek <tojeline>
Component: pcsAssignee: Miroslav Lisik <mlisik>
Status: POST --- QA Contact: cluster-qe <cluster-qe>
Severity: low Docs Contact:
Priority: low    
Version: 9.0CC: cfeist, cluster-maint, idevat, kgaillot, mlisik, mmazoure, mpospisi, omular, tojeline
Target Milestone: rcKeywords: Triaged
Target Release: 9.4   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Feature: Support ISO 8601 duration specifications for pacemaker "time" properties. Reason: Pacemaker supports ISO 8601 duration specification since Pacemaker 2.0.4 / RHEL 8.3. Result: Pcs allows to specify values for pacemaker "time" properties according to ISO 8601 duration specification.
Story Points: ---
Clone Of: 1807636 Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Tomas Jelinek 2022-07-29 08:15:32 UTC
+++ This bug was initially created as a clone of Bug #1807636 +++

Description of problem: Expected starting in Pacemaker 2.0.4 / RHEL 8.3, Pacemaker cluster properties marked as having the "time" type (cluster-recheck-interval, etc.) will accept ISO 8601 duration specifications in addition to the current possibilities (bare number of seconds or number plus units).


Steps to Reproduce:
1. pcs property set cluster-recheck-interval=P600S

Actual results:
Error: invalid value of property: 'cluster-recheck-interval=P600S', (use --force to override)

Expected results: pcs accepts a valid ISO 8601 interval

Additional notes: This was just an easy enhancement and not something driven by user demand, so it is very low priority.

--- Additional comment from Ken Gaillot on 2020-02-26 20:45:23 CET ---

FYI, pacemaker currently accepts a number, optionally with whitespace before or after, plus optional units:
  ms or msec
  us or usec
  s or sec (or no unit specified)
  m or min
  h or hr

Anything else (including no number, unrecognized units, or anything after the units) is rejected.

Comment 3 Tomas Jelinek 2023-07-21 11:12:12 UTC
Upstream patch from community: https://github.com/ClusterLabs/pcs/commit/d22b63fd3ef9f7f4ce9a80044fa811f8b3bacf99

Comment 5 Miroslav Lisik 2023-07-24 07:40:05 UTC
Upstream commit: https://github.com/ClusterLabs/pcs/commit/d22b63fd3ef9f7f4ce9a80044fa811f8b3bacf99

Updated command:
pcs property set

All pacemaker time properties except stonith-watchdog-timeout supports values
defined in ISO 8601 duration format:
https://en.wikipedia.org/wiki/ISO_8601#Durations

Environment: A runnig cluster

Test:
# pcs property set cluster-delay=P60S
# pcs property config cluster-delay
Cluster Properties: cib-bootstrap-options
  cluster-delay=P60S