RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2058251 - [RFE] Provide method to export commands to create all resources
Summary: [RFE] Provide method to export commands to create all resources
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: pcs
Version: 9.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 9.1
Assignee: Ondrej Mular
QA Contact: cluster-qe@redhat.com
Steven J. Levine
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-02-24 15:17 UTC by Tomas Jelinek
Modified: 2022-11-16 17:50 UTC (History)
13 users (show)

Fixed In Version: pcs-0.11.2-1.el9
Doc Type: Enhancement
Doc Text:
.New `pcs resource config` command option to display the `pcs` commands that re-create configured resources The `pcs resource config` command now accepts the `--output-format=cmd` option. Specifying this option displays the `pcs` commands you can use to re-create configured resources on a different system.
Clone Of: 1874624
Environment:
Last Closed: 2022-11-15 09:49:09 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-113686 0 None None None 2022-02-24 15:27:44 UTC
Red Hat Knowledge Base (Solution) 5364341 0 None None None 2022-11-16 17:50:05 UTC
Red Hat Product Errata RHSA-2022:7935 0 None None None 2022-11-15 09:49:22 UTC

Description Tomas Jelinek 2022-02-24 15:17:48 UTC
+++ This bug was initially created as a clone of Bug #1874624 +++

This is a preliminary proposal to create a pcs command to export all resources as from a pcs command.  (and eventually expanding to include other commands).

For example:

With a cluster with 2 dummy resources (D1 & D2)

# pcs resource export
pcs resource create D1 ocf:heartbeat:Dummy
pcs resource create D2 ocf:heartbeat:Dummy

Comment 2 Ondrej Mular 2022-04-06 06:13:04 UTC
Upstream patch: https://github.com/ClusterLabs/pcs/commit/50b5eeff40c7a31fdec011295da5e196bdc77e48

Test:
[root@rhel91 pcs]# pcs resource create dummy1 ocf:pacemaker:Dummy
[root@rhel91 pcs]# pcs resource config dummy1 --output-format=cmd
pcs resource create --no-default-ops --force -- dummy1 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=dummy1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=dummy1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=dummy1-monitor-interval-10s timeout=20s \
    reload interval=0s id=dummy1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=dummy1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=dummy1-start-interval-0s timeout=20s \
    stop interval=0s id=dummy1-stop-interval-0s timeout=20s

Comment 3 Miroslav Lisik 2022-05-19 17:32:49 UTC
DevTestResults:

[root@r91-1 ~]# rpm -q pcs
pcs-0.11.2-1.el9.x86_64

[root@r91-1 ~]# pcs resource create dummy1 ocf:pacemaker:Dummy
[root@r91-1 ~]# pcs resource config dummy1 --output-format=cmd
pcs resource create --no-default-ops --force -- dummy1 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=dummy1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=dummy1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=dummy1-monitor-interval-10s timeout=20s \
    reload interval=0s id=dummy1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=dummy1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=dummy1-start-interval-0s timeout=20s \
    stop interval=0s id=dummy1-stop-interval-0s timeout=20s

Comment 8 Michal Mazourek 2022-06-30 12:30:37 UTC
AFTER:
======

[root@virt-272 ~]# rpm -q pcs
pcs-0.11.2-1.el9.x86_64


### Automated test case
- create all ocf resources via 'pcs resource create'
- save the current configuration via 'pcs resource config'
- export all resources as pcs commands
- delete the current resources
- create the resources again using the exported config
- compare the current and previous configurations

------------------------------------------------------------------------------
{...}
2022-06-29 11:39:11 INFO:	CHECK_CLUSTER_HEALTH
2022-06-29 11:39:11 INFO:	SETUP_PCSD_PORTS
2022-06-29 11:39:11 INFO:	CLEAR_DAEMON_CONFIGS
2022-06-29 11:39:11 INFO:	RESTART_DAEMON
2022-06-29 11:39:15 INFO:	RANDOMIZE_PCSD_PORTS
2022-06-29 11:39:15 INFO:	Randomized ports NOT activated yet.
2022-06-29 11:39:15 INFO:	SET_PASSWORD
2022-06-29 11:39:15 INFO:	SETUP_PCSD_PORTS
2022-06-29 11:39:15 INFO:	RESTART_DAEMON
2022-06-29 11:39:16 INFO:	SETUP_PCSD_PORTS
2022-06-29 11:39:16 INFO:	RESTART_DAEMON
2022-06-29 11:39:18 INFO:	RESTART_DAEMON
2022-06-29 11:39:20 INFO:	ENABLE_DAEMON
2022-06-29 11:39:20 INFO:	PCS_HOST_AUTH
2022-06-29 11:39:20 INFO:	running auth from virt-272
2022-06-29 11:39:22 INFO:	PCS_STATUS_AUTH
2022-06-29 11:39:23 INFO:	PCS_CLUSTER_SETUP
2022-06-29 11:39:23 INFO:	running: pcs cluster setup STSRHTS7581 virt-272 virt-273 
2022-06-29 11:39:29 INFO:	cluster created
2022-06-29 11:39:29 INFO:	SLEEP
2022-06-29 11:39:39 INFO:	PCS_CLUSTER_START
2022-06-29 11:39:39 INFO:	starting cluster from virt-272 with --all
2022-06-29 11:40:07 INFO:	cluster started
2022-06-29 11:40:07 INFO:	CHECK_CLUSTER_HEALTH
2022-06-29 11:40:07 INFO:	cluster looks healthy on virt-272 virt-273
2022-06-29 11:40:07 INFO:	SETUP_DEFAULT_STONITH
2022-06-29 11:40:07 INFO:	PCS_STONITH_CREATE
2022-06-29 11:40:07 INFO:	running: pcs stonith create fence-virt-272 fence_xvm pcmk_host_check="static-list" pcmk_host_list="virt-272" pcmk_host_map="virt-272:virt-272.cluster-qe.lab.eng.brq.redhat.com" --wait
2022-06-29 11:40:10 INFO:	Stonith device fence-virt-272 created.
2022-06-29 11:40:10 INFO:	PCS_STONITH_CREATE
2022-06-29 11:40:10 INFO:	running: pcs stonith create fence-virt-273 fence_xvm pcmk_host_check="static-list" pcmk_host_list="virt-273" pcmk_host_map="virt-273:virt-273.cluster-qe.lab.eng.brq.redhat.com" --wait
2022-06-29 11:40:13 INFO:	Stonith device fence-virt-273 created.
2022-06-29 11:40:13 INFO:	
2022-06-29 11:40:13 INFO:	== SUBTEST: ExportAllResources ==
2022-06-29 11:40:14 INFO:	PCS_NODE_MAINTENANCE
2022-06-29 11:40:14 INFO:	running: pcs node maintenance --all --wait
2022-06-29 11:40:19 INFO:	Creating following resources:
2022-06-29 11:40:19 INFO:	['ocf:heartbeat:CTDB', 'ocf:heartbeat:Delay', 'ocf:heartbeat:Dummy', 'ocf:heartbeat:Filesystem', 'ocf:heartbeat:IPaddr2', 'ocf:heartbeat:IPsrcaddr', 'ocf:heartbeat:LVM-activate', 'ocf:heartbeat:MailTo', 'ocf:heartbeat:NodeUtilization', 'ocf:heartbeat:Route', 'ocf:heartbeat:SendArp', 'ocf:heartbeat:Squid', 'ocf:heartbeat:VirtualDomain', 'ocf:heartbeat:Xinetd', 'ocf:heartbeat:apache', 'ocf:heartbeat:conntrackd', 'ocf:heartbeat:corosync-qnetd', 'ocf:heartbeat:crypt', 'ocf:heartbeat:db2', 'ocf:heartbeat:dhcpd', 'ocf:heartbeat:ethmonitor', 'ocf:heartbeat:exportfs', 'ocf:heartbeat:galera', 'ocf:heartbeat:garbd', 'ocf:heartbeat:iSCSILogicalUnit', 'ocf:heartbeat:iSCSITarget', 'ocf:heartbeat:iface-vlan', 'ocf:heartbeat:lvmlockd', 'ocf:heartbeat:mysql', 'ocf:heartbeat:nagios', 'ocf:heartbeat:named', 'ocf:heartbeat:nfsnotify', 'ocf:heartbeat:nfsserver', 'ocf:heartbeat:nginx', 'ocf:heartbeat:openstack-cinder-volume', 'ocf:heartbeat:openstack-floating-ip', 'ocf:heartbeat:openstack-info', 'ocf:heartbeat:openstack-virtual-ip', 'ocf:heartbeat:oraasm', 'ocf:heartbeat:oracle', 'ocf:heartbeat:oralsnr', 'ocf:heartbeat:pgsql', 'ocf:heartbeat:podman', 'ocf:heartbeat:portblock', 'ocf:heartbeat:postfix', 'ocf:heartbeat:rabbitmq-cluster', 'ocf:heartbeat:redis', 'ocf:heartbeat:rsyncd', 'ocf:heartbeat:slapd', 'ocf:heartbeat:storage-mon', 'ocf:heartbeat:sybaseASE', 'ocf:heartbeat:symlink', 'ocf:heartbeat:tomcat', 'ocf:heartbeat:vdo-vol', 'ocf:openstack:NovaEvacuate', 'ocf:openstack:nova-compute-wait', 'ocf:pacemaker:ClusterMon', 'ocf:pacemaker:Dummy', 'ocf:pacemaker:HealthCPU', 'ocf:pacemaker:HealthIOWait', 'ocf:pacemaker:HealthSMART', 'ocf:pacemaker:Stateful', 'ocf:pacemaker:SysInfo', 'ocf:pacemaker:SystemHealth', 'ocf:pacemaker:attribute', 'ocf:pacemaker:controld', 'ocf:pacemaker:ifspeed', 'ocf:pacemaker:ping', 'ocf:pacemaker:remote']
2022-06-29 11:41:20 INFO:	Getting current resources config
2022-06-29 11:41:20 INFO:	PCS_RESOURCE_CONFIG
2022-06-29 11:41:21 INFO:	Exporting resources as commands
2022-06-29 11:41:21 INFO:	PCS_RESOURCE_CONFIG
2022-06-29 11:41:22 INFO:	Deleting the resources
2022-06-29 11:42:45 INFO:	--Creating resources from exported config output--
2022-06-29 11:42:45 INFO:	pcs resource create --no-default-ops --force -- r0 ocf:heartbeat:CTDB \
 op \
 monitor interval=10s id=r0-monitor-interval-10s timeout=20s \
 start interval=0s id=r0-start-interval-0s timeout=90s \
 stop interval=0s id=r0-stop-interval-0s timeout=100s;
pcs resource create --no-default-ops --force -- r1 ocf:heartbeat:Delay \
 op \
 monitor interval=10s id=r1-monitor-interval-10s timeout=30s \
 start interval=0s id=r1-start-interval-0s timeout=30s \
 stop interval=0s id=r1-stop-interval-0s timeout=30s;
pcs resource create --no-default-ops --force -- r2 ocf:heartbeat:Dummy \
 op \
 migrate_from interval=0s id=r2-migrate_from-interval-0s timeout=20s \
 migrate_to interval=0s id=r2-migrate_to-interval-0s timeout=20s \
 monitor interval=10s id=r2-monitor-interval-10s timeout=20s \
 reload interval=0s id=r2-reload-interval-0s timeout=20s \
 start interval=0s id=r2-start-interval-0s timeout=20s \
 stop interval=0s id=r2-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r3 ocf:heartbeat:Filesystem \
 op \
 monitor interval=20s id=r3-monitor-interval-20s timeout=40s \
 start interval=0s id=r3-start-interval-0s timeout=60s \
 stop interval=0s id=r3-stop-interval-0s timeout=60s;
pcs resource create --no-default-ops --force -- r4 ocf:heartbeat:IPaddr2 \
 op \
 monitor interval=10s id=r4-monitor-interval-10s timeout=20s \
 start interval=0s id=r4-start-interval-0s timeout=20s \
 stop interval=0s id=r4-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r5 ocf:heartbeat:IPsrcaddr \
 op \
 monitor interval=10s id=r5-monitor-interval-10s timeout=20s \
 start interval=0s id=r5-start-interval-0s timeout=20s \
 stop interval=0s id=r5-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r6 ocf:heartbeat:LVM-activate \
 op \
 monitor interval=30s id=r6-monitor-interval-30s timeout=90s \
 start interval=0s id=r6-start-interval-0s timeout=90s \
 stop interval=0s id=r6-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r7 ocf:heartbeat:MailTo \
 op \
 monitor interval=10s id=r7-monitor-interval-10s timeout=10s \
 start interval=0s id=r7-start-interval-0s timeout=10s \
 stop interval=0s id=r7-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r8 ocf:heartbeat:NodeUtilization \
 op \
 monitor interval=60s id=r8-monitor-interval-60s timeout=20s \
 start interval=0s id=r8-start-interval-0s timeout=90s \
 stop interval=0s id=r8-stop-interval-0s timeout=100s;
pcs resource create --no-default-ops --force -- r9 ocf:heartbeat:Route \
 op \
 monitor interval=10s id=r9-monitor-interval-10s timeout=20s \
 reload interval=0s id=r9-reload-interval-0s timeout=20s \
 start interval=0s id=r9-start-interval-0s timeout=20s \
 stop interval=0s id=r9-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r10 ocf:heartbeat:SendArp \
 op \
 monitor interval=10s id=r10-monitor-interval-10s timeout=20s \
 start interval=0s id=r10-start-interval-0s timeout=20s \
 stop interval=0s id=r10-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r11 ocf:heartbeat:Squid \
 op \
 monitor interval=10s id=r11-monitor-interval-10s timeout=30s \
 start interval=0s id=r11-start-interval-0s timeout=60s \
 stop interval=0s id=r11-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r12 ocf:heartbeat:VirtualDomain \
 op \
 migrate_from interval=0s id=r12-migrate_from-interval-0s timeout=60s \
 migrate_to interval=0s id=r12-migrate_to-interval-0s timeout=120s \
 monitor interval=10s id=r12-monitor-interval-10s timeout=30s \
 start interval=0s id=r12-start-interval-0s timeout=90s \
 stop interval=0s id=r12-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r13 ocf:heartbeat:Xinetd \
 op \
 monitor interval=10s id=r13-monitor-interval-10s timeout=10s \
 restart interval=0s id=r13-restart-interval-0s timeout=20s \
 start interval=0s id=r13-start-interval-0s timeout=20s \
 stop interval=0s id=r13-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r14 ocf:heartbeat:apache \
 op \
 monitor interval=10s id=r14-monitor-interval-10s timeout=20s \
 start interval=0s id=r14-start-interval-0s timeout=40s \
 stop interval=0s id=r14-stop-interval-0s timeout=60s;
pcs resource create --no-default-ops --force -- r15 ocf:heartbeat:conntrackd \
 op \
 demote interval=0s id=r15-demote-interval-0s timeout=30s \
 monitor interval=20s id=r15-monitor-interval-20s timeout=20s role=Unpromoted \
 monitor interval=10s id=r15-monitor-interval-10s timeout=20s role=Promoted \
 notify interval=0s id=r15-notify-interval-0s timeout=30s \
 promote interval=0s id=r15-promote-interval-0s timeout=30s \
 start interval=0s id=r15-start-interval-0s timeout=30s \
 stop interval=0s id=r15-stop-interval-0s timeout=30s;
pcs resource create --no-default-ops --force -- r16 ocf:heartbeat:corosync-qnetd \
 op \
 monitor interval=10s id=r16-monitor-interval-10s start-delay=10s timeout=20s \
 start interval=0s id=r16-start-interval-0s timeout=20s \
 stop interval=0s id=r16-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r17 ocf:heartbeat:crypt \
 op \
 monitor interval=10s id=r17-monitor-interval-10s timeout=20s \
 start interval=0s id=r17-start-interval-0s timeout=20s \
 stop interval=0s id=r17-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r18 ocf:heartbeat:db2 \
 op \
 demote interval=0s id=r18-demote-interval-0s timeout=120s \
 monitor interval=20s id=r18-monitor-interval-20s timeout=60s \
 monitor interval=22s id=r18-monitor-interval-22s timeout=60s role=Promoted \
 notify interval=0s id=r18-notify-interval-0s timeout=10s \
 promote interval=0s id=r18-promote-interval-0s timeout=120s \
 start interval=0s id=r18-start-interval-0s timeout=120s \
 stop interval=0s id=r18-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r19 ocf:heartbeat:dhcpd \
 op \
 monitor interval=10s id=r19-monitor-interval-10s timeout=20s \
 restart interval=0s id=r19-restart-interval-0s timeout=20s \
 start interval=0s id=r19-start-interval-0s timeout=20s \
 stop interval=0s id=r19-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r20 ocf:heartbeat:ethmonitor \
 op \
 monitor interval=10s id=r20-monitor-interval-10s timeout=60s \
 start interval=0s id=r20-start-interval-0s timeout=60s \
 stop interval=0s id=r20-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r21 ocf:heartbeat:exportfs \
 op \
 monitor interval=10s id=r21-monitor-interval-10s timeout=20s \
 start interval=0s id=r21-start-interval-0s timeout=40s \
 stop interval=0s id=r21-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r22 ocf:heartbeat:galera \
 op \
 demote interval=0s id=r22-demote-interval-0s timeout=120s \
 monitor interval=20s id=r22-monitor-interval-20s timeout=30s \
 monitor interval=10s id=r22-monitor-interval-10s timeout=30s role=Promoted \
 monitor interval=30s id=r22-monitor-interval-30s timeout=30s role=Unpromoted \
 promote interval=0s id=r22-promote-interval-0s timeout=300s \
 start interval=0s id=r22-start-interval-0s timeout=120s \
 stop interval=0s id=r22-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r23 ocf:heartbeat:garbd \
 op \
 monitor interval=20s id=r23-monitor-interval-20s timeout=20s \
 start interval=0s id=r23-start-interval-0s timeout=20s \
 stop interval=0s id=r23-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r24 ocf:heartbeat:iSCSILogicalUnit \
 op \
 monitor interval=10s id=r24-monitor-interval-10s timeout=10s \
 start interval=0s id=r24-start-interval-0s timeout=10s \
 stop interval=0s id=r24-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r25 ocf:heartbeat:iSCSITarget \
 op \
 monitor interval=10s id=r25-monitor-interval-10s timeout=10s \
 start interval=0s id=r25-start-interval-0s timeout=10s \
 stop interval=0s id=r25-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r26 ocf:heartbeat:iface-vlan \
 op \
 monitor interval=10s id=r26-monitor-interval-10s timeout=20s \
 start interval=0s id=r26-start-interval-0s timeout=30s \
 stop interval=0s id=r26-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r27 ocf:heartbeat:lvmlockd \
 op \
 monitor interval=30s id=r27-monitor-interval-30s timeout=90s \
 start interval=0s id=r27-start-interval-0s timeout=90s \
 stop interval=0s id=r27-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r28 ocf:heartbeat:mysql \
 op \
 demote interval=0s id=r28-demote-interval-0s timeout=120s \
 monitor interval=20s id=r28-monitor-interval-20s timeout=30s \
 monitor interval=10s id=r28-monitor-interval-10s timeout=30s role=Promoted \
 monitor interval=30s id=r28-monitor-interval-30s timeout=30s role=Unpromoted \
 notify interval=0s id=r28-notify-interval-0s timeout=90s \
 promote interval=0s id=r28-promote-interval-0s timeout=120s \
 start interval=0s id=r28-start-interval-0s timeout=120s \
 stop interval=0s id=r28-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r29 ocf:heartbeat:nagios \
 op \
 monitor interval=10s id=r29-monitor-interval-10s start-delay=10s timeout=20s \
 start interval=0s id=r29-start-interval-0s timeout=20s \
 stop interval=0s id=r29-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r30 ocf:heartbeat:named \
 op \
 methods interval=0s id=r30-methods-interval-0s timeout=5s \
 monitor interval=30s id=r30-monitor-interval-30s timeout=30s \
 reload interval=0s id=r30-reload-interval-0s timeout=60s \
 start interval=0s id=r30-start-interval-0s timeout=60s \
 stop interval=0s id=r30-stop-interval-0s timeout=60s;
pcs resource create --no-default-ops --force -- r31 ocf:heartbeat:nfsnotify \
 op \
 monitor interval=30s id=r31-monitor-interval-30s timeout=90s \
 reload interval=0s id=r31-reload-interval-0s timeout=90s \
 start interval=0s id=r31-start-interval-0s timeout=90s \
 stop interval=0s id=r31-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r32 ocf:heartbeat:nfsserver \
 op \
 monitor interval=10s id=r32-monitor-interval-10s timeout=20s \
 start interval=0s id=r32-start-interval-0s timeout=40s \
 stop interval=0s id=r32-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r33 ocf:heartbeat:nginx \
 op \
 monitor interval=10s id=r33-monitor-interval-10s timeout=30s \
 monitor interval=30s id=r33-monitor-interval-30s timeout=30s OCF_CHECK_LEVEL=10 \
 monitor interval=60s id=r33-monitor-interval-60s timeout=45s OCF_CHECK_LEVEL=20 \
 monitor interval=61 id=r33-monitor-interval-61 timeout=60s OCF_CHECK_LEVEL=30 \
 reload interval=0s id=r33-reload-interval-0s timeout=40s \
 start interval=0s id=r33-start-interval-0s timeout=40s \
 stop interval=0s id=r33-stop-interval-0s timeout=60s;
pcs resource create --no-default-ops --force -- r34 ocf:heartbeat:openstack-cinder-volume \
 op \
 monitor interval=60s id=r34-monitor-interval-60s timeout=180s \
 start interval=0s id=r34-start-interval-0s timeout=180s \
 stop interval=0s id=r34-stop-interval-0s timeout=180s;
pcs resource create --no-default-ops --force -- r35 ocf:heartbeat:openstack-floating-ip \
 op \
 monitor interval=60s id=r35-monitor-interval-60s timeout=180s \
 start interval=0s id=r35-start-interval-0s timeout=180s \
 stop interval=0s id=r35-stop-interval-0s timeout=180s;
pcs resource create --no-default-ops --force -- r36 ocf:heartbeat:openstack-info \
 op \
 monitor interval=60s id=r36-monitor-interval-60s timeout=180s \
 start interval=0s id=r36-start-interval-0s timeout=180s \
 stop interval=0s id=r36-stop-interval-0s timeout=180s;
pcs resource create --no-default-ops --force -- r37 ocf:heartbeat:openstack-virtual-ip \
 op \
 monitor interval=60s id=r37-monitor-interval-60s timeout=180s \
 start interval=0s id=r37-start-interval-0s timeout=180s \
 stop interval=0s id=r37-stop-interval-0s timeout=180s;
pcs resource create --no-default-ops --force -- r38 ocf:heartbeat:oraasm \
 op \
 monitor interval=10s id=r38-monitor-interval-10s timeout=30s \
 start interval=0s id=r38-start-interval-0s timeout=60s \
 stop interval=0s id=r38-stop-interval-0s timeout=60s;
pcs resource create --no-default-ops --force -- r39 ocf:heartbeat:oracle \
 op \
 methods interval=0s id=r39-methods-interval-0s timeout=5s \
 monitor interval=120s id=r39-monitor-interval-120s timeout=30s \
 start interval=0s id=r39-start-interval-0s timeout=120s \
 stop interval=0s id=r39-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r40 ocf:heartbeat:oralsnr \
 op \
 methods interval=0s id=r40-methods-interval-0s timeout=5s \
 monitor interval=10s id=r40-monitor-interval-10s timeout=30s \
 start interval=0s id=r40-start-interval-0s timeout=120s \
 stop interval=0s id=r40-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r41 ocf:heartbeat:pgsql \
 op \
 demote interval=0s id=r41-demote-interval-0s timeout=120s \
 methods interval=0s id=r41-methods-interval-0s timeout=5s \
 monitor interval=30s id=r41-monitor-interval-30s timeout=30s \
 monitor interval=29s id=r41-monitor-interval-29s timeout=30s role=Promoted \
 notify interval=0s id=r41-notify-interval-0s timeout=90s \
 promote interval=0s id=r41-promote-interval-0s timeout=120s \
 start interval=0s id=r41-start-interval-0s timeout=120s \
 stop interval=0s id=r41-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r42 ocf:heartbeat:podman \
 op \
 monitor interval=30s id=r42-monitor-interval-30s timeout=30s \
 start interval=0s id=r42-start-interval-0s timeout=90s \
 stop interval=0s id=r42-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r43 ocf:heartbeat:portblock \
 op \
 monitor interval=10s id=r43-monitor-interval-10s timeout=10s \
 start interval=0s id=r43-start-interval-0s timeout=20s \
 stop interval=0s id=r43-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r44 ocf:heartbeat:postfix \
 op \
 monitor interval=60s id=r44-monitor-interval-60s timeout=20s \
 reload interval=0s id=r44-reload-interval-0s timeout=20s \
 start interval=0s id=r44-start-interval-0s timeout=20s \
 stop interval=0s id=r44-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r45 ocf:heartbeat:rabbitmq-cluster \
 op \
 monitor interval=10s id=r45-monitor-interval-10s timeout=40s \
 start interval=0s id=r45-start-interval-0s timeout=100s \
 stop interval=0s id=r45-stop-interval-0s timeout=90s;
pcs resource create --no-default-ops --force -- r46 ocf:heartbeat:redis \
 op \
 demote interval=0s id=r46-demote-interval-0s timeout=120s \
 monitor interval=45s id=r46-monitor-interval-45s timeout=60s \
 monitor interval=20s id=r46-monitor-interval-20s timeout=60s role=Promoted \
 monitor interval=60s id=r46-monitor-interval-60s timeout=60s role=Unpromoted \
 notify interval=0s id=r46-notify-interval-0s timeout=90s \
 promote interval=0s id=r46-promote-interval-0s timeout=120s \
 start interval=0s id=r46-start-interval-0s timeout=120s \
 stop interval=0s id=r46-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r47 ocf:heartbeat:rsyncd \
 op \
 monitor interval=60s id=r47-monitor-interval-60s timeout=20s \
 start interval=0s id=r47-start-interval-0s timeout=20s \
 stop interval=0s id=r47-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r48 ocf:heartbeat:slapd \
 op \
 monitor interval=60s id=r48-monitor-interval-60s timeout=20s \
 start interval=0s id=r48-start-interval-0s timeout=20s \
 stop interval=0s id=r48-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r49 ocf:heartbeat:storage-mon \
 op \
 monitor interval=30s id=r49-monitor-interval-30s start-delay=0s timeout=120s \
 start interval=0s id=r49-start-interval-0s timeout=10s \
 stop interval=0s id=r49-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r50 ocf:heartbeat:sybaseASE \
 op \
 monitor interval=30s id=r50-monitor-interval-30s timeout=100s \
 monitor interval=120s id=r50-monitor-interval-120s timeout=100s OCF_CHECK_LEVEL=10 \
 start interval=0s id=r50-start-interval-0s timeout=300s \
 stop interval=0s id=r50-stop-interval-0s timeout=300s;
pcs resource create --no-default-ops --force -- r51 ocf:heartbeat:symlink \
 op \
 monitor interval=60s id=r51-monitor-interval-60s timeout=15s \
 start interval=0s id=r51-start-interval-0s timeout=15s \
 stop interval=0s id=r51-stop-interval-0s timeout=15s;
pcs resource create --no-default-ops --force -- r52 ocf:heartbeat:tomcat \
 op \
 monitor interval=10s id=r52-monitor-interval-10s timeout=30s \
 start interval=0s id=r52-start-interval-0s timeout=60s \
 stop interval=0s id=r52-stop-interval-0s timeout=120s;
pcs resource create --no-default-ops --force -- r53 ocf:heartbeat:vdo-vol \
 op \
 monitor interval=10s id=r53-monitor-interval-10s start-delay=10s timeout=20s \
 start interval=0s id=r53-start-interval-0s timeout=60s \
 stop interval=0s id=r53-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r54 ocf:openstack:NovaEvacuate \
 op \
 monitor interval=10 id=r54-monitor-interval-10 timeout=600 \
 start interval=0s id=r54-start-interval-0s timeout=20 \
 stop interval=0s id=r54-stop-interval-0s timeout=20;
pcs resource create --no-default-ops --force -- r55 ocf:openstack:nova-compute-wait \
 op \
 monitor interval=10 id=r55-monitor-interval-10 timeout=20 \
 start interval=0s id=r55-start-interval-0s timeout=600 \
 stop interval=0s id=r55-stop-interval-0s timeout=300;
pcs resource create --no-default-ops --force -- r56 ocf:pacemaker:ClusterMon \
 op \
 monitor interval=10s id=r56-monitor-interval-10s timeout=20s \
 start interval=0s id=r56-start-interval-0s timeout=20s \
 stop interval=0s id=r56-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r57 ocf:pacemaker:Dummy \
 op \
 migrate_from interval=0s id=r57-migrate_from-interval-0s timeout=20s \
 migrate_to interval=0s id=r57-migrate_to-interval-0s timeout=20s \
 monitor interval=10s id=r57-monitor-interval-10s timeout=20s \
 reload interval=0s id=r57-reload-interval-0s timeout=20s \
 reload-agent interval=0s id=r57-reload-agent-interval-0s timeout=20s \
 start interval=0s id=r57-start-interval-0s timeout=20s \
 stop interval=0s id=r57-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r58 ocf:pacemaker:HealthCPU \
 op \
 monitor interval=10s id=r58-monitor-interval-10s start-delay=0s timeout=10s \
 start interval=0s id=r58-start-interval-0s timeout=10s \
 stop interval=0s id=r58-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r59 ocf:pacemaker:HealthIOWait \
 op \
 monitor interval=10s id=r59-monitor-interval-10s start-delay=0s timeout=10s \
 start interval=0s id=r59-start-interval-0s timeout=10s \
 stop interval=0s id=r59-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r60 ocf:pacemaker:HealthSMART \
 op \
 monitor interval=10s id=r60-monitor-interval-10s start-delay=0s timeout=10s \
 reload-agent interval=0s id=r60-reload-agent-interval-0s timeout=20s \
 start interval=0s id=r60-start-interval-0s timeout=10s \
 stop interval=0s id=r60-stop-interval-0s timeout=10s;
pcs resource create --no-default-ops --force -- r61 ocf:pacemaker:Stateful \
 op \
 demote interval=0s id=r61-demote-interval-0s timeout=10s \
 monitor interval=10s id=r61-monitor-interval-10s timeout=20s role=Promoted \
 monitor interval=11s id=r61-monitor-interval-11s timeout=20s role=Unpromoted \
 notify interval=0s id=r61-notify-interval-0s timeout=5s \
 promote interval=0s id=r61-promote-interval-0s timeout=10s \
 reload-agent interval=0s id=r61-reload-agent-interval-0s timeout=10s \
 start interval=0s id=r61-start-interval-0s timeout=20s \
 stop interval=0s id=r61-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r62 ocf:pacemaker:SysInfo \
 op \
 monitor interval=60s id=r62-monitor-interval-60s timeout=20s \
 start interval=0s id=r62-start-interval-0s timeout=20s \
 stop interval=0s id=r62-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r63 ocf:pacemaker:SystemHealth \
 op \
 monitor interval=60s id=r63-monitor-interval-60s timeout=20s \
 reload interval=0s id=r63-reload-interval-0s timeout=20s \
 start interval=0s id=r63-start-interval-0s timeout=20s \
 stop interval=0s id=r63-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r64 ocf:pacemaker:attribute \
 op \
 migrate_from interval=0s id=r64-migrate_from-interval-0s timeout=20s \
 migrate_to interval=0s id=r64-migrate_to-interval-0s timeout=20s \
 monitor interval=10s id=r64-monitor-interval-10s timeout=20s \
 reload interval=0s id=r64-reload-interval-0s timeout=20s \
 start interval=0s id=r64-start-interval-0s timeout=20s \
 stop interval=0s id=r64-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r65 ocf:pacemaker:controld \
 op \
 monitor interval=10s id=r65-monitor-interval-10s start-delay=0s timeout=20s \
 start interval=0s id=r65-start-interval-0s timeout=90s \
 stop interval=0s id=r65-stop-interval-0s timeout=100s;
pcs resource create --no-default-ops --force -- r66 ocf:pacemaker:ifspeed \
 op \
 monitor interval=10s id=r66-monitor-interval-10s timeout=30s \
 start interval=0s id=r66-start-interval-0s timeout=30s \
 stop interval=0s id=r66-stop-interval-0s timeout=30s;
pcs resource create --no-default-ops --force -- r67 ocf:pacemaker:ping \
 op \
 monitor interval=10s id=r67-monitor-interval-10s timeout=60s \
 reload-agent interval=0s id=r67-reload-agent-interval-0s timeout=20s \
 start interval=0s id=r67-start-interval-0s timeout=60s \
 stop interval=0s id=r67-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r68 ocf:pacemaker:remote \
 op \
 migrate_from interval=0s id=r68-migrate_from-interval-0s timeout=60s \
 migrate_to interval=0s id=r68-migrate_to-interval-0s timeout=60s \
 monitor interval=60s id=r68-monitor-interval-60s timeout=30s \
 reload interval=0s id=r68-reload-interval-0s timeout=60s \
 reload-agent interval=0s id=r68-reload-agent-interval-0s timeout=60s \
 start interval=0s id=r68-start-interval-0s timeout=60s \
 stop interval=0s id=r68-stop-interval-0s timeout=60s

2022-06-29 11:43:46 INFO:	--Resources created successfully--
2022-06-29 11:43:46 INFO:	Getting current resources config
2022-06-29 11:43:46 INFO:	PCS_RESOURCE_CONFIG
2022-06-29 11:43:47 INFO:	Comparing config outputs
2022-06-29 11:43:47 INFO:	OK: Resources created from the exported config are the same as normally created resources
2022-06-29 11:43:47 INFO:	Deleting the resources
{...}
-------------------------------------------------------------------------------



### Manual test cases
## exporting a resource with various attributes
[root@virt-272 ~]# pcs resource create d1 ocf:pacemaker:Dummy passwd=123
[root@virt-272 ~]# pcs resource config d1
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    passwd=123
  Operations:
    migrate_from: d1-migrate_from-interval-0s
      interval=0s
      timeout=20s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-0s
      interval=0s
      timeout=20s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

[root@virt-272 ~]# pcs resource config d1 --output-format cmd
pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  passwd=123 \
  op \
    migrate_from interval=0s id=d1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=0s id=d1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped
[root@virt-272 ~]# pcs resource config d1
Warning: Unable to find resource 'd1'
Error: No resource found

[root@virt-272 ~]# pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  passwd=123 \
  op \
    migrate_from interval=0s id=d1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=0s id=d1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource config d1
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    passwd=123
  Operations:
    migrate_from: d1-migrate_from-interval-0s
      interval=0s
      timeout=20s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-0s
      interval=0s
      timeout=20s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

> OK

[root@virt-272 ~]# pcs resource update d1 state=/tmp/d1state fake=1 op_sleep=1 fail_start_on=migrate_from envfile=/tmp/d1env
[root@virt-272 ~]# pcs resource config d1 | grep Attributes -A 6
  Attributes: d1-instance_attributes
    envfile=/tmp/d1env
    fail_start_on=migrate_from
    fake=1
    op_sleep=1
    passwd=123
    state=/tmp/d1state

[root@virt-272 ~]# pcs resource config d1 --output-format cmd
pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  envfile=/tmp/d1env fail_start_on=migrate_from fake=1 op_sleep=1 passwd=123 state=/tmp/d1state \
  op \
    migrate_from interval=0s id=d1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=0s id=d1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped
[root@virt-272 ~]# pcs resource config d1
Warning: Unable to find resource 'd1'
Error: No resource found
[root@virt-272 ~]# pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  envfile=/tmp/d1env fail_start_on=migrate_from fake=1 op_sleep=1 passwd=123 state=/tmp/d1state \
  op \
    migrate_from interval=0s id=d1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=0s id=d1-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource config d1 | grep Attributes -A 6
  Attributes: d1-instance_attributes
    envfile=/tmp/d1env
    fail_start_on=migrate_from
    fake=1
    op_sleep=1
    passwd=123
    state=/tmp/d1state

> OK

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped


## exporting a resource with various options

[root@virt-272 ~]# pcs resource create d1 ocf:pacemaker:Dummy op migrate_from interval=1s timeout=21s op reload interval=2s timeout=22s
[root@virt-272 ~]# pcs resource config
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

[root@virt-272 ~]# pcs resource config --output-format cmd
pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped

[root@virt-272 ~]# pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s
[root@virt-272 ~]# echo $?
0
[root@virt-272 ~]# pcs resource config
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

> OK


## exporting a resource with various options and attributes at the same time

[root@virt-272 ~]# pcs resource update d1 ocf:pacemaker:Dummy passwd=1234 fail_start_on=migrate_from
[root@virt-272 ~]# pcs resource config
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    fail_start_on=migrate_from
    passwd=1234
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

[root@virt-272 ~]# pcs resource config d1 --output-format cmd
pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  fail_start_on=migrate_from passwd=1234 \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped

[root@virt-272 ~]# pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  fail_start_on=migrate_from passwd=1234 \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s

[root@virt-272 ~]# pcs resource config d1
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    fail_start_on=migrate_from
    passwd=1234
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

> OK


## exporting resource with attributes, options and meta attribute

[root@virt-272 ~]# pcs resource update d1 meta resource-stickiness=0
[root@virt-272 ~]# pcs resource config
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    fail_start_on=migrate_from
    passwd=1234
  Meta Attributes: d1-meta_attributes
    resource-stickiness=0
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

[root@virt-272 ~]# pcs resource config --output-format cmd
pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  fail_start_on=migrate_from passwd=1234 \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s \
  meta resource-stickiness=0

[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped
[root@virt-272 ~]# pcs resource config
[root@virt-272 ~]# echo $?
0

[root@virt-272 ~]# pcs resource create --no-default-ops --force -- d1 ocf:pacemaker:Dummy \
  fail_start_on=migrate_from passwd=1234 \
  op \
    migrate_from interval=1s id=d1-migrate_from-interval-1s timeout=21s \
    migrate_to interval=0s id=d1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=d1-monitor-interval-10s timeout=20s \
    reload interval=2s id=d1-reload-interval-2s timeout=22s \
    reload-agent interval=0s id=d1-reload-agent-interval-0s timeout=20s \
    start interval=0s id=d1-start-interval-0s timeout=20s \
    stop interval=0s id=d1-stop-interval-0s timeout=20s \
  meta resource-stickiness=0
[root@virt-272 ~]# echo $?
0

[root@virt-272 ~]# pcs resource config
Resource: d1 (class=ocf provider=pacemaker type=Dummy)
  Attributes: d1-instance_attributes
    fail_start_on=migrate_from
    passwd=1234
  Meta Attributes: d1-meta_attributes
    resource-stickiness=0
  Operations:
    migrate_from: d1-migrate_from-interval-1s
      interval=1s
      timeout=21s
    migrate_to: d1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: d1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: d1-reload-interval-2s
      interval=2s
      timeout=22s
    reload-agent: d1-reload-agent-interval-0s
      interval=0s
      timeout=20s
    start: d1-start-interval-0s
      interval=0s
      timeout=20s
    stop: d1-stop-interval-0s
      interval=0s
      timeout=20s

> OK


[root@virt-272 ~]# pcs resource delete d1
Attempting to stop: d1... Stopped


## exporting various types of resources

[root@virt-272 ~]# pcs resource create r1 ocf:heartbeat:Dummy
[root@virt-272 ~]# pcs resource create r2 ocf:pacemaker:Stateful promotable
[root@virt-272 ~]# pcs resource create r3 ocf:pacemaker:Dummy clone
[root@virt-272 ~]# pcs resource create r4 ocf:pacemaker:Dummy --group g1
[root@virt-272 ~]# pcs resource config
Resource: r1 (class=ocf provider=heartbeat type=Dummy)
  Operations:
    migrate_from: r1-migrate_from-interval-0s
      interval=0s
      timeout=20s
    migrate_to: r1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: r1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: r1-reload-interval-0s
      interval=0s
      timeout=20s
    start: r1-start-interval-0s
      interval=0s
      timeout=20s
    stop: r1-stop-interval-0s
      interval=0s
      timeout=20s
Group: g1
  Resource: r4 (class=ocf provider=pacemaker type=Dummy)
    Operations:
      migrate_from: r4-migrate_from-interval-0s
        interval=0s
        timeout=20s
      migrate_to: r4-migrate_to-interval-0s
        interval=0s
        timeout=20s
      monitor: r4-monitor-interval-10s
        interval=10s
        timeout=20s
      reload: r4-reload-interval-0s
        interval=0s
        timeout=20s
      reload-agent: r4-reload-agent-interval-0s
        interval=0s
        timeout=20s
      start: r4-start-interval-0s
        interval=0s
        timeout=20s
      stop: r4-stop-interval-0s
        interval=0s
        timeout=20s
Clone: r2-clone
  Meta Attributes: r2-clone-meta_attributes
    promotable=true
  Resource: r2 (class=ocf provider=pacemaker type=Stateful)
    Operations:
      demote: r2-demote-interval-0s
        interval=0s
        timeout=10s
      monitor: r2-monitor-interval-10s
        interval=10s
        timeout=20s
        role=Promoted
      monitor: r2-monitor-interval-11s
        interval=11s
        timeout=20s
        role=Unpromoted
      notify: r2-notify-interval-0s
        interval=0s
        timeout=5s
      promote: r2-promote-interval-0s
        interval=0s
        timeout=10s
      reload-agent: r2-reload-agent-interval-0s
        interval=0s
        timeout=10s
      start: r2-start-interval-0s
        interval=0s
        timeout=20s
      stop: r2-stop-interval-0s
        interval=0s
        timeout=20s
Clone: r3-clone
  Resource: r3 (class=ocf provider=pacemaker type=Dummy)
    Operations:
      migrate_from: r3-migrate_from-interval-0s
        interval=0s
        timeout=20s
      migrate_to: r3-migrate_to-interval-0s
        interval=0s
        timeout=20s
      monitor: r3-monitor-interval-10s
        interval=10s
        timeout=20s
      reload: r3-reload-interval-0s
        interval=0s
        timeout=20s
      reload-agent: r3-reload-agent-interval-0s
        interval=0s
        timeout=20s
      start: r3-start-interval-0s
        interval=0s
        timeout=20s
      stop: r3-stop-interval-0s
        interval=0s
        timeout=20s

[root@virt-272 ~]# pcs resource config --output-format cmd
pcs resource create --no-default-ops --force -- r1 ocf:heartbeat:Dummy \
  op \
    migrate_from interval=0s id=r1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r1-monitor-interval-10s timeout=20s \
    reload interval=0s id=r1-reload-interval-0s timeout=20s \
    start interval=0s id=r1-start-interval-0s timeout=20s \
    stop interval=0s id=r1-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r2 ocf:pacemaker:Stateful \
  op \
    demote interval=0s id=r2-demote-interval-0s timeout=10s \
    monitor interval=10s id=r2-monitor-interval-10s timeout=20s role=Promoted \
    monitor interval=11s id=r2-monitor-interval-11s timeout=20s role=Unpromoted \
    notify interval=0s id=r2-notify-interval-0s timeout=5s \
    promote interval=0s id=r2-promote-interval-0s timeout=10s \
    reload-agent interval=0s id=r2-reload-agent-interval-0s timeout=10s \
    start interval=0s id=r2-start-interval-0s timeout=20s \
    stop interval=0s id=r2-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r3 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=r3-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r3-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r3-monitor-interval-10s timeout=20s \
    reload interval=0s id=r3-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=r3-reload-agent-interval-0s timeout=20s \
    start interval=0s id=r3-start-interval-0s timeout=20s \
    stop interval=0s id=r3-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r4 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=r4-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r4-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r4-monitor-interval-10s timeout=20s \
    reload interval=0s id=r4-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=r4-reload-agent-interval-0s timeout=20s \
    start interval=0s id=r4-start-interval-0s timeout=20s \
    stop interval=0s id=r4-stop-interval-0s timeout=20s;
pcs resource group add g1 \
  r4;
pcs resource clone r2 r2-clone \
  meta promotable=true;
pcs resource clone r3 r3-clone

[root@virt-272 ~]# pcs resource delete r1
Attempting to stop: r1... Stopped
[root@virt-272 ~]# pcs resource delete r2
Attempting to stop: r2... Stopped
[root@virt-272 ~]# pcs resource delete r3
Attempting to stop: r3... Stopped
[root@virt-272 ~]# pcs resource delete r4
Attempting to stop: r4... Stopped
[root@virt-272 ~]# pcs resource config
[root@virt-272 ~]# echo $?
0

[root@virt-272 ~]# pcs resource create --no-default-ops --force -- r1 ocf:heartbeat:Dummy \
  op \
    migrate_from interval=0s id=r1-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r1-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r1-monitor-interval-10s timeout=20s \
    reload interval=0s id=r1-reload-interval-0s timeout=20s \
    start interval=0s id=r1-start-interval-0s timeout=20s \
    stop interval=0s id=r1-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r2 ocf:pacemaker:Stateful \
  op \
    demote interval=0s id=r2-demote-interval-0s timeout=10s \
    monitor interval=10s id=r2-monitor-interval-10s timeout=20s role=Promoted \
    monitor interval=11s id=r2-monitor-interval-11s timeout=20s role=Unpromoted \
    notify interval=0s id=r2-notify-interval-0s timeout=5s \
    promote interval=0s id=r2-promote-interval-0s timeout=10s \
    reload-agent interval=0s id=r2-reload-agent-interval-0s timeout=10s \
    start interval=0s id=r2-start-interval-0s timeout=20s \
    stop interval=0s id=r2-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r3 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=r3-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r3-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r3-monitor-interval-10s timeout=20s \
    reload interval=0s id=r3-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=r3-reload-agent-interval-0s timeout=20s \
    start interval=0s id=r3-start-interval-0s timeout=20s \
    stop interval=0s id=r3-stop-interval-0s timeout=20s;
pcs resource create --no-default-ops --force -- r4 ocf:pacemaker:Dummy \
  op \
    migrate_from interval=0s id=r4-migrate_from-interval-0s timeout=20s \
    migrate_to interval=0s id=r4-migrate_to-interval-0s timeout=20s \
    monitor interval=10s id=r4-monitor-interval-10s timeout=20s \
    reload interval=0s id=r4-reload-interval-0s timeout=20s \
    reload-agent interval=0s id=r4-reload-agent-interval-0s timeout=20s \
    start interval=0s id=r4-start-interval-0s timeout=20s \
    stop interval=0s id=r4-stop-interval-0s timeout=20s;
pcs resource group add g1 \
  r4;
pcs resource clone r2 r2-clone \
  meta promotable=true;
pcs resource clone r3 r3-clone

[root@virt-272 ~]# pcs resource config
Resource: r1 (class=ocf provider=heartbeat type=Dummy)
  Operations:
    migrate_from: r1-migrate_from-interval-0s
      interval=0s
      timeout=20s
    migrate_to: r1-migrate_to-interval-0s
      interval=0s
      timeout=20s
    monitor: r1-monitor-interval-10s
      interval=10s
      timeout=20s
    reload: r1-reload-interval-0s
      interval=0s
      timeout=20s
    start: r1-start-interval-0s
      interval=0s
      timeout=20s
    stop: r1-stop-interval-0s
      interval=0s
      timeout=20s
Group: g1
  Resource: r4 (class=ocf provider=pacemaker type=Dummy)
    Operations:
      migrate_from: r4-migrate_from-interval-0s
        interval=0s
        timeout=20s
      migrate_to: r4-migrate_to-interval-0s
        interval=0s
        timeout=20s
      monitor: r4-monitor-interval-10s
        interval=10s
        timeout=20s
      reload: r4-reload-interval-0s
        interval=0s
        timeout=20s
      reload-agent: r4-reload-agent-interval-0s
        interval=0s
        timeout=20s
      start: r4-start-interval-0s
        interval=0s
        timeout=20s
      stop: r4-stop-interval-0s
        interval=0s
        timeout=20s
Clone: r2-clone
  Meta Attributes: r2-clone-meta_attributes
    promotable=true
  Resource: r2 (class=ocf provider=pacemaker type=Stateful)
    Operations:
      demote: r2-demote-interval-0s
        interval=0s
        timeout=10s
      monitor: r2-monitor-interval-10s
        interval=10s
        timeout=20s
        role=Promoted
      monitor: r2-monitor-interval-11s
        interval=11s
        timeout=20s
        role=Unpromoted
      notify: r2-notify-interval-0s
        interval=0s
        timeout=5s
      promote: r2-promote-interval-0s
        interval=0s
        timeout=10s
      reload-agent: r2-reload-agent-interval-0s
        interval=0s
        timeout=10s
      start: r2-start-interval-0s
        interval=0s
        timeout=20s
      stop: r2-stop-interval-0s
        interval=0s
        timeout=20s
Clone: r3-clone
  Resource: r3 (class=ocf provider=pacemaker type=Dummy)
    Operations:
      migrate_from: r3-migrate_from-interval-0s
        interval=0s
        timeout=20s
      migrate_to: r3-migrate_to-interval-0s
        interval=0s
        timeout=20s
      monitor: r3-monitor-interval-10s
        interval=10s
        timeout=20s
      reload: r3-reload-interval-0s
        interval=0s
        timeout=20s
      reload-agent: r3-reload-agent-interval-0s
        interval=0s
        timeout=20s
      start: r3-start-interval-0s
        interval=0s
        timeout=20s
      stop: r3-stop-interval-0s
        interval=0s
        timeout=20s

> OK



Marking as VERIFIED for pcs-0.11.2-1.el9

Comment 12 errata-xmlrpc 2022-11-15 09:49:09 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: pcs security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:7935


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