diff --git a/cts/cts-scheduler.in b/cts/cts-scheduler.in
index 5d72205..b83f812 100644
--- a/cts/cts-scheduler.in
+++ b/cts/cts-scheduler.in
@@ -962,6 +962,9 @@ TESTS = [
[ "shutdown-lock", "Ensure shutdown lock works properly" ],
[ "shutdown-lock-expiration", "Ensure shutdown lock expiration works properly" ],
],
+ [
+ [ "op-defaults", "Test op_defaults conditional expressions " ],
+ ],
# @TODO: If pacemaker implements versioned attributes, uncomment these tests
#[
diff --git a/cts/scheduler/op-defaults.dot b/cts/scheduler/op-defaults.dot
new file mode 100644
index 0000000..5536c15
--- /dev/null
+++ b/cts/scheduler/op-defaults.dot
@@ -0,0 +1,33 @@
+ digraph "g" {
+"dummy-rsc_monitor_0 cluster01" -> "dummy-rsc_start_0 cluster02" [ style = bold]
+"dummy-rsc_monitor_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"dummy-rsc_monitor_0 cluster02" -> "dummy-rsc_start_0 cluster02" [ style = bold]
+"dummy-rsc_monitor_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"dummy-rsc_monitor_60000 cluster02" [ style=bold color="green" fontcolor="black"]
+"dummy-rsc_start_0 cluster02" -> "dummy-rsc_monitor_60000 cluster02" [ style = bold]
+"dummy-rsc_start_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"fencing_monitor_0 cluster01" -> "fencing_start_0 cluster01" [ style = bold]
+"fencing_monitor_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"fencing_monitor_0 cluster02" -> "fencing_start_0 cluster01" [ style = bold]
+"fencing_monitor_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"fencing_start_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"ip-rsc2_monitor_0 cluster01" -> "ip-rsc2_start_0 cluster01" [ style = bold]
+"ip-rsc2_monitor_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"ip-rsc2_monitor_0 cluster02" -> "ip-rsc2_start_0 cluster01" [ style = bold]
+"ip-rsc2_monitor_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"ip-rsc2_monitor_10000 cluster01" [ style=bold color="green" fontcolor="black"]
+"ip-rsc2_start_0 cluster01" -> "ip-rsc2_monitor_10000 cluster01" [ style = bold]
+"ip-rsc2_start_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"ip-rsc_monitor_0 cluster01" -> "ip-rsc_start_0 cluster02" [ style = bold]
+"ip-rsc_monitor_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"ip-rsc_monitor_0 cluster02" -> "ip-rsc_start_0 cluster02" [ style = bold]
+"ip-rsc_monitor_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"ip-rsc_monitor_20000 cluster02" [ style=bold color="green" fontcolor="black"]
+"ip-rsc_start_0 cluster02" -> "ip-rsc_monitor_20000 cluster02" [ style = bold]
+"ip-rsc_start_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"ping-rsc-ping_monitor_0 cluster01" -> "ping-rsc-ping_start_0 cluster01" [ style = bold]
+"ping-rsc-ping_monitor_0 cluster01" [ style=bold color="green" fontcolor="black"]
+"ping-rsc-ping_monitor_0 cluster02" -> "ping-rsc-ping_start_0 cluster01" [ style = bold]
+"ping-rsc-ping_monitor_0 cluster02" [ style=bold color="green" fontcolor="black"]
+"ping-rsc-ping_start_0 cluster01" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/cts/scheduler/op-defaults.exp b/cts/scheduler/op-defaults.exp
new file mode 100644
index 0000000..b81eacb
--- /dev/null
+++ b/cts/scheduler/op-defaults.exp
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/cts/scheduler/op-defaults.scores b/cts/scheduler/op-defaults.scores
new file mode 100644
index 0000000..1c622f0
--- /dev/null
+++ b/cts/scheduler/op-defaults.scores
@@ -0,0 +1,11 @@
+Allocation scores:
+pcmk__native_allocate: dummy-rsc allocation score on cluster01: 0
+pcmk__native_allocate: dummy-rsc allocation score on cluster02: 0
+pcmk__native_allocate: fencing allocation score on cluster01: 0
+pcmk__native_allocate: fencing allocation score on cluster02: 0
+pcmk__native_allocate: ip-rsc allocation score on cluster01: 0
+pcmk__native_allocate: ip-rsc allocation score on cluster02: 0
+pcmk__native_allocate: ip-rsc2 allocation score on cluster01: 0
+pcmk__native_allocate: ip-rsc2 allocation score on cluster02: 0
+pcmk__native_allocate: ping-rsc-ping allocation score on cluster01: 0
+pcmk__native_allocate: ping-rsc-ping allocation score on cluster02: 0
diff --git a/cts/scheduler/op-defaults.summary b/cts/scheduler/op-defaults.summary
new file mode 100644
index 0000000..b580939
--- /dev/null
+++ b/cts/scheduler/op-defaults.summary
@@ -0,0 +1,46 @@
+
+Current cluster status:
+Online: [ cluster01 cluster02 ]
+
+ fencing (stonith:fence_xvm): Stopped
+ ip-rsc (ocf::heartbeat:IPaddr2): Stopped
+ ip-rsc2 (ocf::heartbeat:IPaddr2): Stopped
+ dummy-rsc (ocf::pacemaker:Dummy): Stopped
+ ping-rsc-ping (ocf::pacemaker:ping): Stopped
+
+Transition Summary:
+ * Start fencing ( cluster01 )
+ * Start ip-rsc ( cluster02 )
+ * Start ip-rsc2 ( cluster01 )
+ * Start dummy-rsc ( cluster02 )
+ * Start ping-rsc-ping ( cluster01 )
+
+Executing cluster transition:
+ * Resource action: fencing monitor on cluster02
+ * Resource action: fencing monitor on cluster01
+ * Resource action: ip-rsc monitor on cluster02
+ * Resource action: ip-rsc monitor on cluster01
+ * Resource action: ip-rsc2 monitor on cluster02
+ * Resource action: ip-rsc2 monitor on cluster01
+ * Resource action: dummy-rsc monitor on cluster02
+ * Resource action: dummy-rsc monitor on cluster01
+ * Resource action: ping-rsc-ping monitor on cluster02
+ * Resource action: ping-rsc-ping monitor on cluster01
+ * Resource action: fencing start on cluster01
+ * Resource action: ip-rsc start on cluster02
+ * Resource action: ip-rsc2 start on cluster01
+ * Resource action: dummy-rsc start on cluster02
+ * Resource action: ping-rsc-ping start on cluster01
+ * Resource action: ip-rsc monitor=20000 on cluster02
+ * Resource action: ip-rsc2 monitor=10000 on cluster01
+ * Resource action: dummy-rsc monitor=60000 on cluster02
+
+Revised cluster status:
+Online: [ cluster01 cluster02 ]
+
+ fencing (stonith:fence_xvm): Started cluster01
+ ip-rsc (ocf::heartbeat:IPaddr2): Started cluster02
+ ip-rsc2 (ocf::heartbeat:IPaddr2): Started cluster01
+ dummy-rsc (ocf::pacemaker:Dummy): Started cluster02
+ ping-rsc-ping (ocf::pacemaker:ping): Started cluster01
+
diff --git a/cts/scheduler/op-defaults.xml b/cts/scheduler/op-defaults.xml
new file mode 100644
index 0000000..ae3b248
--- /dev/null
+++ b/cts/scheduler/op-defaults.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+