Bug 2096909 - Systemd and service resources do not comply with the OCF1.1 standard
Summary: Systemd and service resources do not comply with the OCF1.1 standard
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: pacemaker
Version: 9.0
Hardware: x86_64
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Ken Gaillot
QA Contact: cluster-qe
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-06-14 14:23 UTC by Markéta Smazová
Modified: 2023-08-10 15:41 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
This is mostly invisible to end users
Clone Of:
Environment:
Last Closed:
Type: Enhancement
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-125234 0 None Waiting on Red Hat rsync command stuck 2022-06-24 07:07:03 UTC

Description Markéta Smazová 2022-06-14 14:23:52 UTC
Description of problem:
	Unable to validate metadata for systemd and service resources with the ocf 1.1 standard schema.

Version-Release number of selected component (if applicable):
	pacemaker-2.1.2-4.el9.x86_64

How reproducible:
	always

Steps to Reproduce:
	1. curl -s https://raw.githubusercontent.com/ClusterLabs/OCF-spec/main/ra/1.1/ra-api.rng -o ocf1.1.rng
	2. crm_resource --show-metadata=service:sssd | xmllint --noout --relaxng ocf1.1.rng -

Actual results:
	-:9: element parameters: Relax-NG validity error : Expecting an element , got nothing
	- fails to validate

Expected results:
	Systemd and service resources metadata validate with the schema

Additional info:

It seems that the schema requires at least one element in "parameters":

	cat ocf1.1.rng | grep parameters
		<element name="parameters"> <oneOrMore>


But there are no elements in "parameters" for this service resource:

	crm_resource --show-metadata=service:sssd | grep parameters -C1
	  <shortdesc lang="en">systemd unit file for sssd</shortdesc>
	  <parameters/>
	  <actions>

Comment 1 Ken Gaillot 2022-06-14 15:04:11 UTC
Right, only OCF agents can validate against the OCF schema.

Pacemaker simulates OCF-like meta-data for non-OCF resources, but it can't be perfect since they don't actually support the OCF standard. At best we could supply an alternate schema for non-OCF meta-data.

Comment 2 Tomas Jelinek 2022-06-15 15:39:09 UTC
(In reply to Ken Gaillot from comment #1)
> Right, only OCF agents can validate against the OCF schema.

Interesting. I always thought, that pacemaker generates OCF valid meta-data for all non-OCF agents, so that the agents can be worked with as if they were truly OCF. What you said would suggest that this is not the case, and non-OCF agents and their meta-data potentially need to be handled differently.

Comment 3 Ken Gaillot 2022-06-15 17:28:59 UTC
(In reply to Tomas Jelinek from comment #2)
> (In reply to Ken Gaillot from comment #1)
> > Right, only OCF agents can validate against the OCF schema.
> 
> Interesting. I always thought, that pacemaker generates OCF valid meta-data
> for all non-OCF agents, so that the agents can be worked with as if they
> were truly OCF. What you said would suggest that this is not the case, and
> non-OCF agents and their meta-data potentially need to be handled
> differently.

Correct -- non-OCF agents don't support parameters for example, but the OCF standard requires at least one parameter to be specified. Technically they may not support all the required actions either, but Pacemaker probably already simulates those.

If we relax the requirement for parameters in the next OCF standard, I suppose we could make them compliant, which would be convenient.


Note You need to log in before you can comment on or make changes to this bug.