Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:FrontRunner
pacemaker.34782
rh#1931332-0000-Feature-xml-Move-resource-relat...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File rh#1931332-0000-Feature-xml-Move-resource-related-XML-schema-into-it.patch of Package pacemaker.34782
From 7a77441ae8d3ab943dfafebfc06b63402be323e1 Mon Sep 17 00:00:00 2001 From: Chris Lumens <clumens@redhat.com> Date: Tue, 27 Oct 2020 12:49:45 -0400 Subject: [PATCH] Feature: xml: Move resource-related XML schema into its own file. This allows it to be shared between the crm_mon and crm_resource schemas. Also, this adds support for resource XML to crm_mon given that this is now technically possible as part of the library output. --- xml/Makefile.am | 2 +- xml/api/crm_mon-2.4.rng | 311 ++++++++++++++++++++++++++++++++++++++ xml/api/resources-2.4.rng | 109 +++++++++++++ 3 files changed, 421 insertions(+), 1 deletion(-) create mode 100644 xml/api/crm_mon-2.4.rng create mode 100644 xml/api/resources-2.4.rng diff --git a/xml/Makefile.am b/xml/Makefile.am index 892c811a1..79ce90061 100644 --- a/xml/Makefile.am +++ b/xml/Makefile.am @@ -51,7 +51,7 @@ API_request_base = command-output crm_mon crmadmin stonith_admin version CIB_cfg_base = options nodes resources constraints fencing acls tags alerts # Names of all schemas (including top level and those included by others) -API_base = $(API_request_base) fence-event item status +API_base = $(API_request_base) fence-event item resources status CIB_base = cib $(CIB_cfg_base) status score rule nvset # Static schema files and transforms (only CIB has transforms) diff --git a/xml/api/crm_mon-2.4.rng b/xml/api/crm_mon-2.4.rng new file mode 100644 index 000000000..88973a4ea --- /dev/null +++ b/xml/api/crm_mon-2.4.rng @@ -0,0 +1,311 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <start> + <ref name="element-crm-mon"/> + </start> + + <define name="element-crm-mon"> + <optional> + <ref name="element-summary" /> + </optional> + <optional> + <ref name="nodes-list" /> + </optional> + <optional> + <ref name="resources-list" /> + </optional> + <optional> + <ref name="node-attributes-list" /> + </optional> + <optional> + <ref name="node-history-list" /> + </optional> + <optional> + <ref name="failures-list" /> + </optional> + <optional> + <ref name="fence-event-list" /> + </optional> + <optional> + <ref name="tickets-list" /> + </optional> + <optional> + <ref name="bans-list" /> + </optional> + </define> + + <define name="element-summary"> + <element name="summary"> + <optional> + <element name="stack"> + <attribute name="type"> <text /> </attribute> + </element> + </optional> + <optional> + <element name="current_dc"> + <attribute name="present"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="version"> <text /> </attribute> + <attribute name="name"> <text /> </attribute> + <attribute name="id"> <text /> </attribute> + <attribute name="with_quorum"> <data type="boolean" /> </attribute> + </group> + </optional> + </element> + </optional> + <optional> + <element name="last_update"> + <attribute name="time"> <text /> </attribute> + </element> + <element name="last_change"> + <attribute name="time"> <text /> </attribute> + <attribute name="user"> <text /> </attribute> + <attribute name="client"> <text /> </attribute> + <attribute name="origin"> <text /> </attribute> + </element> + </optional> + <optional> + <element name="nodes_configured"> + <attribute name="number"> <data type="nonNegativeInteger" /> </attribute> + </element> + <element name="resources_configured"> + <attribute name="number"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="disabled"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="blocked"> <data type="nonNegativeInteger" /> </attribute> + </element> + </optional> + <optional> + <element name="cluster_options"> + <attribute name="stonith-enabled"> <data type="boolean" /> </attribute> + <attribute name="symmetric-cluster"> <data type="boolean" /> </attribute> + <attribute name="no-quorum-policy"> <text /> </attribute> + <attribute name="maintenance-mode"> <data type="boolean" /> </attribute> + <attribute name="stop-all-resources"> <data type="boolean" /> </attribute> + </element> + </optional> + </element> + </define> + + <define name="resources-list"> + <element name="resources"> + <zeroOrMore> + <externalRef href="resources-2.4.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="nodes-list"> + <element name="nodes"> + <zeroOrMore> + <ref name="element-full-node" /> + </zeroOrMore> + </element> + </define> + + <define name="node-attributes-list"> + <element name="node_attributes"> + <zeroOrMore> + <ref name="element-node-with-attributes" /> + </zeroOrMore> + </element> + </define> + + <define name="node-history-list"> + <element name="node_history"> + <zeroOrMore> + <ref name="element-node-history" /> + </zeroOrMore> + </element> + </define> + + <define name="failures-list"> + <element name="failures"> + <zeroOrMore> + <ref name="element-failure" /> + </zeroOrMore> + </element> + </define> + + <define name="fence-event-list"> + <element name="fence_history"> + <optional> + <attribute name="status"> <data type="integer" /> </attribute> + </optional> + <zeroOrMore> + <externalRef href="fence-event-2.0.rng" /> + </zeroOrMore> + </element> + </define> + + <define name="tickets-list"> + <element name="tickets"> + <zeroOrMore> + <ref name="element-ticket" /> + </zeroOrMore> + </element> + </define> + + <define name="bans-list"> + <element name="bans"> + <zeroOrMore> + <ref name="element-ban" /> + </zeroOrMore> + </element> + </define> + + <define name="element-full-node"> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="online"> <data type="boolean" /> </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <attribute name="standby_onfail"> <data type="boolean" /> </attribute> + <attribute name="maintenance"> <data type="boolean" /> </attribute> + <attribute name="pending"> <data type="boolean" /> </attribute> + <attribute name="unclean"> <data type="boolean" /> </attribute> + <attribute name="shutdown"> <data type="boolean" /> </attribute> + <attribute name="expected_up"> <data type="boolean" /> </attribute> + <attribute name="is_dc"> <data type="boolean" /> </attribute> + <attribute name="resources_running"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="type"> + <choice> + <value>unknown</value> + <value>member</value> + <value>remote</value> + <value>ping</value> + </choice> + </attribute> + <optional> + <!-- for virtualized pacemaker_remote nodes, crm_mon 1.1.13 uses + "container_id" while later versions use "id_as_resource" --> + <choice> + <attribute name="container_id"> <text/> </attribute> + <attribute name="id_as_resource"> <text/> </attribute> + </choice> + </optional> + <externalRef href="resources-2.4.rng" /> + </element> + </define> + + <define name="element-node-with-attributes"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <element name="attribute"> + <attribute name="name"> <text /> </attribute> + <attribute name="value"> <text /> </attribute> + <optional> + <attribute name="expected"> <data type="nonNegativeInteger" /> </attribute> + </optional> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-node-history"> + <element name="node"> + <attribute name="name"> <text /> </attribute> + <zeroOrMore> + <ref name="element-resource-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-resource-history"> + <element name="resource_history"> + <attribute name="id"> <text /> </attribute> + <attribute name="orphan"> <data type="boolean" /> </attribute> + <optional> + <group> + <attribute name="migration-threshold"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="fail-count"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-failure"> <text /> </attribute> + </optional> + </group> + </optional> + <zeroOrMore> + <ref name="element-operation-history" /> + </zeroOrMore> + </element> + </define> + + <define name="element-operation-history"> + <element name="operation_history"> + <attribute name="call"> <text /> </attribute> + <attribute name="task"> <text /> </attribute> + <optional> + <attribute name="interval"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-rc-change"> <text /> </attribute> + </optional> + <optional> + <attribute name="last-run"> <text /> </attribute> + </optional> + <optional> + <attribute name="exec-time"> <text /> </attribute> + </optional> + <optional> + <attribute name="queue-time"> <text /> </attribute> + </optional> + <attribute name="rc"> <data type="integer" /> </attribute> + <attribute name="rc_text"> <text /> </attribute> + </element> + </define> + + <define name="element-failure"> + <element name="failure"> + <choice> + <attribute name="op_key"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + </choice> + <attribute name="node"> <text /> </attribute> + <attribute name="exitstatus"> <text /> </attribute> + <attribute name="exitreason"> <text /> </attribute> + <attribute name="exitcode"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="call"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="status"> <text /> </attribute> + <optional> + <group> + <attribute name="last-rc-change"> <text /> </attribute> + <attribute name="queued"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="exec"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="interval"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="task"> <text /> </attribute> + </group> + </optional> + </element> + </define> + + <define name="element-ticket"> + <element name="ticket"> + <attribute name="id"> <text /> </attribute> + <attribute name="status"> + <choice> + <value>granted</value> + <value>revoked</value> + </choice> + </attribute> + <attribute name="standby"> <data type="boolean" /> </attribute> + <optional> + <attribute name="last-granted"> <text /> </attribute> + </optional> + </element> + </define> + + <define name="element-ban"> + <element name="ban"> + <attribute name="id"> <text /> </attribute> + <attribute name="resource"> <text /> </attribute> + <attribute name="node"> <text /> </attribute> + <attribute name="weight"> <data type="integer" /> </attribute> + <attribute name="master_only"> <data type="boolean" /> </attribute> + </element> + </define> +</grammar> diff --git a/xml/api/resources-2.4.rng b/xml/api/resources-2.4.rng new file mode 100644 index 000000000..e2795836b --- /dev/null +++ b/xml/api/resources-2.4.rng @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <start> + <ref name="element-resource-list"/> + </start> + + <define name="element-resource-list"> + <interleave> + <zeroOrMore> + <ref name="element-bundle" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-clone" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-group" /> + </zeroOrMore> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </interleave> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <attribute name="id"> <text/> </attribute> + <attribute name="type"> + <choice> + <value>docker</value> + <value>rkt</value> + <value>podman</value> + </choice> + </attribute> + <attribute name="image"> <text/> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <zeroOrMore> + <element name="replica"> + <attribute name="id"> <data type="nonNegativeInteger" /> </attribute> + <zeroOrMore> + <ref name="element-resource" /> + </zeroOrMore> + </element> + </zeroOrMore> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"> <text/> </attribute> + <attribute name="multi_state"> <data type="boolean" /> </attribute> + <attribute name="unique"> <data type="boolean" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"> <text/> </attribute> + <attribute name="number_resources"> <data type="nonNegativeInteger" /> </attribute> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="disabled"> <data type="boolean" /> </attribute> + <ref name="element-resource-list" /> + </element> + </define> + + <define name="element-resource"> + <element name="resource"> + <attribute name="id"> <text/> </attribute> + <attribute name="resource_agent"> <text/> </attribute> + <attribute name="role"> <text/> </attribute> + <optional> + <attribute name="target_role"> <text/> </attribute> + </optional> + <attribute name="active"> <data type="boolean" /> </attribute> + <attribute name="orphaned"> <data type="boolean" /> </attribute> + <optional> + <attribute name="blocked"> <data type="boolean" /> </attribute> + </optional> + <attribute name="managed"> <data type="boolean" /> </attribute> + <attribute name="failed"> <data type="boolean" /> </attribute> + <attribute name="failure_ignored"> <data type="boolean" /> </attribute> + <attribute name="nodes_running_on"> <data type="nonNegativeInteger" /> </attribute> + <optional> + <attribute name="pending"> <text/> </attribute> + </optional> + <zeroOrMore> + <element name="node"> + <attribute name="name"> <text/> </attribute> + <attribute name="id"> <text/> </attribute> + <attribute name="cached"> <data type="boolean" /> </attribute> + </element> + </zeroOrMore> + <optional> + <element name="xml"> <text/> </element> + </optional> + </element> + </define> +</grammar> -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor