commit d226cf1f6b3f46863a6cf07dab9a11fbdd89d6f3 Author: Andrew Beekhof Date: Fri Aug 2 13:44:34 2013 +1000 Test: PE: Do not allow colocation with blocked clone instances diff --git a/pengine/regression.sh b/pengine/regression.sh index 6ab0b8a..aa7d43d 100755 --- a/pengine/regression.sh +++ b/pengine/regression.sh @@ -316,6 +316,7 @@ do_test bug-lf-2574 "Avoid clone shuffle" do_test bug-lf-2581 "Avoid group restart due to unrelated clone (re)start" do_test bug-cl-5168 "Don't shuffle clones" do_test bug-cl-5170 "Prevent clone from starting with on-fail=block" +do_test clone-fail-block-colocation "Move colocated group when failed clone has on-fail=block" echo "" do_test master-0 "Stopped -> Slave" diff --git a/pengine/test10/bug-cl-5170.dot b/pengine/test10/bug-cl-5170.dot index 93a63d5..ca63383 100644 --- a/pengine/test10/bug-cl-5170.dot +++ b/pengine/test10/bug-cl-5170.dot @@ -1,32 +1,15 @@ digraph "g" { "all_stopped" [ style=bold color="green" fontcolor="orange"] -"ip_mgmt_monitor_10000 TCS-2" [ style=dashed color="red" fontcolor="black"] -"ip_mgmt_start_0 TCS-2" -> "ip_mgmt_monitor_10000 TCS-2" [ style = dashed] -"ip_mgmt_start_0 TCS-2" -> "svc_running_0" [ style = dashed] -"ip_mgmt_start_0 TCS-2" [ style=dashed color="red" fontcolor="black"] "ip_mgmt_stop_0 TCS-2" -> "all_stopped" [ style = bold] -"ip_mgmt_stop_0 TCS-2" -> "ip_mgmt_start_0 TCS-2" [ style = dashed] "ip_mgmt_stop_0 TCS-2" -> "ip_trf_stop_0 TCS-2" [ style = bold] "ip_mgmt_stop_0 TCS-2" -> "svc_stopped_0" [ style = bold] "ip_mgmt_stop_0 TCS-2" [ style=bold color="green" fontcolor="black"] -"ip_trf_monitor_10000 TCS-2" [ style=dashed color="red" fontcolor="black"] -"ip_trf_start_0 TCS-2" -> "ip_mgmt_start_0 TCS-2" [ style = dashed] -"ip_trf_start_0 TCS-2" -> "ip_trf_monitor_10000 TCS-2" [ style = dashed] -"ip_trf_start_0 TCS-2" -> "svc_running_0" [ style = dashed] -"ip_trf_start_0 TCS-2" [ style=dashed color="red" fontcolor="black"] "ip_trf_stop_0 TCS-2" -> "all_stopped" [ style = bold] -"ip_trf_stop_0 TCS-2" -> "ip_trf_start_0 TCS-2" [ style = dashed] "ip_trf_stop_0 TCS-2" -> "svc_stopped_0" [ style = bold] "ip_trf_stop_0 TCS-2" [ style=bold color="green" fontcolor="black"] -"svc_running_0" [ style=dashed color="red" fontcolor="orange"] -"svc_start_0" -> "ip_mgmt_start_0 TCS-2" [ style = dashed] -"svc_start_0" -> "ip_trf_start_0 TCS-2" [ style = dashed] -"svc_start_0" -> "svc_running_0" [ style = dashed] -"svc_start_0" [ style=dashed color="red" fontcolor="orange"] "svc_stop_0" -> "ip_mgmt_stop_0 TCS-2" [ style = bold] "svc_stop_0" -> "ip_trf_stop_0 TCS-2" [ style = bold] "svc_stop_0" -> "svc_stopped_0" [ style = bold] "svc_stop_0" [ style=bold color="green" fontcolor="orange"] -"svc_stopped_0" -> "svc_start_0" [ style = dashed] "svc_stopped_0" [ style=bold color="green" fontcolor="orange"] } diff --git a/pengine/test10/bug-cl-5170.exp b/pengine/test10/bug-cl-5170.exp index cef2020..39c8469 100644 --- a/pengine/test10/bug-cl-5170.exp +++ b/pengine/test10/bug-cl-5170.exp @@ -1,7 +1,7 @@ - + @@ -10,16 +10,16 @@ - + - + - + @@ -34,23 +34,23 @@ - + - + - + - + @@ -65,7 +65,7 @@ - + diff --git a/pengine/test10/bug-cl-5170.scores b/pengine/test10/bug-cl-5170.scores index 26daf48..ed9815a 100644 --- a/pengine/test10/bug-cl-5170.scores +++ b/pengine/test10/bug-cl-5170.scores @@ -16,6 +16,6 @@ native_color: d_tomcat_nms:0 allocation score on TCS-2: INFINITY native_color: d_tomcat_nms:1 allocation score on TCS-1: -INFINITY native_color: d_tomcat_nms:1 allocation score on TCS-2: -INFINITY native_color: ip_mgmt allocation score on TCS-1: -INFINITY -native_color: ip_mgmt allocation score on TCS-2: 0 +native_color: ip_mgmt allocation score on TCS-2: -INFINITY native_color: ip_trf allocation score on TCS-1: -INFINITY -native_color: ip_trf allocation score on TCS-2: 0 +native_color: ip_trf allocation score on TCS-2: -INFINITY diff --git a/pengine/test10/bug-cl-5170.summary b/pengine/test10/bug-cl-5170.summary index 723be33..3b4bcb9 100644 --- a/pengine/test10/bug-cl-5170.summary +++ b/pengine/test10/bug-cl-5170.summary @@ -11,8 +11,8 @@ Online: [ TCS-2 ] Stopped: [ TCS-1 ] Transition Summary: - * Stop ip_trf (Started TCS-2) - * Stop ip_mgmt (Started TCS-2) + * Stop ip_trf (TCS-2) + * Stop ip_mgmt (TCS-2) Executing cluster transition: * Pseudo action: svc_stop_0 diff --git a/pengine/test10/clone-fail-block-colocation.dot b/pengine/test10/clone-fail-block-colocation.dot new file mode 100644 index 0000000..6356bd2 --- /dev/null +++ b/pengine/test10/clone-fail-block-colocation.dot @@ -0,0 +1,56 @@ +digraph "g" { +"all_stopped" [ style=bold color="green" fontcolor="orange"] +"d_bird_subnet_state_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"] +"d_bird_subnet_state_start_0 DEM-2" -> "d_bird_subnet_state_monitor_10000 DEM-2" [ style = bold] +"d_bird_subnet_state_start_0 DEM-2" -> "ip_mgmt_start_0 DEM-2" [ style = bold] +"d_bird_subnet_state_start_0 DEM-2" -> "svc_running_0" [ style = bold] +"d_bird_subnet_state_start_0 DEM-2" [ style=bold color="green" fontcolor="black"] +"d_bird_subnet_state_stop_0 DEM-1" -> "all_stopped" [ style = bold] +"d_bird_subnet_state_stop_0 DEM-1" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold] +"d_bird_subnet_state_stop_0 DEM-1" -> "ipv6_dem_tas_dns_stop_0 DEM-1" [ style = bold] +"d_bird_subnet_state_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold] +"d_bird_subnet_state_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"] +"ip_mgmt_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"] +"ip_mgmt_start_0 DEM-2" -> "ip_mgmt_monitor_10000 DEM-2" [ style = bold] +"ip_mgmt_start_0 DEM-2" -> "ip_trf_tas_start_0 DEM-2" [ style = bold] +"ip_mgmt_start_0 DEM-2" -> "svc_running_0" [ style = bold] +"ip_mgmt_start_0 DEM-2" [ style=bold color="green" fontcolor="black"] +"ip_mgmt_stop_0 DEM-1" -> "all_stopped" [ style = bold] +"ip_mgmt_stop_0 DEM-1" -> "d_bird_subnet_state_stop_0 DEM-1" [ style = bold] +"ip_mgmt_stop_0 DEM-1" -> "ip_mgmt_start_0 DEM-2" [ style = bold] +"ip_mgmt_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold] +"ip_mgmt_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"] +"ip_trf_tas_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"] +"ip_trf_tas_start_0 DEM-2" -> "ip_trf_tas_monitor_10000 DEM-2" [ style = bold] +"ip_trf_tas_start_0 DEM-2" -> "svc_running_0" [ style = bold] +"ip_trf_tas_start_0 DEM-2" [ style=bold color="green" fontcolor="black"] +"ip_trf_tas_stop_0 DEM-1" -> "all_stopped" [ style = bold] +"ip_trf_tas_stop_0 DEM-1" -> "ip_mgmt_stop_0 DEM-1" [ style = bold] +"ip_trf_tas_stop_0 DEM-1" -> "ip_trf_tas_start_0 DEM-2" [ style = bold] +"ip_trf_tas_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold] +"ip_trf_tas_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"] +"ipv6_dem_tas_dns_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"] +"ipv6_dem_tas_dns_start_0 DEM-2" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold] +"ipv6_dem_tas_dns_start_0 DEM-2" -> "ipv6_dem_tas_dns_monitor_10000 DEM-2" [ style = bold] +"ipv6_dem_tas_dns_start_0 DEM-2" -> "svc_running_0" [ style = bold] +"ipv6_dem_tas_dns_start_0 DEM-2" [ style=bold color="green" fontcolor="black"] +"ipv6_dem_tas_dns_stop_0 DEM-1" -> "all_stopped" [ style = bold] +"ipv6_dem_tas_dns_stop_0 DEM-1" -> "ipv6_dem_tas_dns_start_0 DEM-2" [ style = bold] +"ipv6_dem_tas_dns_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold] +"ipv6_dem_tas_dns_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"] +"svc_running_0" [ style=bold color="green" fontcolor="orange"] +"svc_start_0" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold] +"svc_start_0" -> "ip_mgmt_start_0 DEM-2" [ style = bold] +"svc_start_0" -> "ip_trf_tas_start_0 DEM-2" [ style = bold] +"svc_start_0" -> "ipv6_dem_tas_dns_start_0 DEM-2" [ style = bold] +"svc_start_0" -> "svc_running_0" [ style = bold] +"svc_start_0" [ style=bold color="green" fontcolor="orange"] +"svc_stop_0" -> "d_bird_subnet_state_stop_0 DEM-1" [ style = bold] +"svc_stop_0" -> "ip_mgmt_stop_0 DEM-1" [ style = bold] +"svc_stop_0" -> "ip_trf_tas_stop_0 DEM-1" [ style = bold] +"svc_stop_0" -> "ipv6_dem_tas_dns_stop_0 DEM-1" [ style = bold] +"svc_stop_0" -> "svc_stopped_0" [ style = bold] +"svc_stop_0" [ style=bold color="green" fontcolor="orange"] +"svc_stopped_0" -> "svc_start_0" [ style = bold] +"svc_stopped_0" [ style=bold color="green" fontcolor="orange"] +} diff --git a/pengine/test10/clone-fail-block-colocation.exp b/pengine/test10/clone-fail-block-colocation.exp new file mode 100644 index 0000000..f88139e --- /dev/null +++ b/pengine/test10/clone-fail-block-colocation.exp @@ -0,0 +1,277 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/clone-fail-block-colocation.scores b/pengine/test10/clone-fail-block-colocation.scores new file mode 100644 index 0000000..9443744 --- /dev/null +++ b/pengine/test10/clone-fail-block-colocation.scores @@ -0,0 +1,49 @@ +Allocation scores: +clone_color: cl_bird allocation score on DEM-1: 0 +clone_color: cl_bird allocation score on DEM-2: 0 +clone_color: cl_bird6 allocation score on DEM-1: 0 +clone_color: cl_bird6 allocation score on DEM-2: 0 +clone_color: cl_tomcat_nms allocation score on DEM-1: 0 +clone_color: cl_tomcat_nms allocation score on DEM-2: 0 +clone_color: d_bird6:0 allocation score on DEM-1: INFINITY +clone_color: d_bird6:0 allocation score on DEM-2: 0 +clone_color: d_bird6:1 allocation score on DEM-1: 0 +clone_color: d_bird6:1 allocation score on DEM-2: 1 +clone_color: d_bird:0 allocation score on DEM-1: 1 +clone_color: d_bird:0 allocation score on DEM-2: 0 +clone_color: d_bird:1 allocation score on DEM-1: 0 +clone_color: d_bird:1 allocation score on DEM-2: 1 +clone_color: d_tomcat_nms:0 allocation score on DEM-1: 1 +clone_color: d_tomcat_nms:0 allocation score on DEM-2: 0 +clone_color: d_tomcat_nms:1 allocation score on DEM-1: 0 +clone_color: d_tomcat_nms:1 allocation score on DEM-2: 1 +group_color: d_bird_subnet_state allocation score on DEM-1: 0 +group_color: d_bird_subnet_state allocation score on DEM-2: 0 +group_color: ip_mgmt allocation score on DEM-1: 0 +group_color: ip_mgmt allocation score on DEM-2: 0 +group_color: ip_trf_tas allocation score on DEM-1: 0 +group_color: ip_trf_tas allocation score on DEM-2: 0 +group_color: ipv6_dem_tas_dns allocation score on DEM-1: 0 +group_color: ipv6_dem_tas_dns allocation score on DEM-2: 0 +group_color: svc allocation score on DEM-1: 0 +group_color: svc allocation score on DEM-2: 0 +native_color: d_bird6:0 allocation score on DEM-1: INFINITY +native_color: d_bird6:0 allocation score on DEM-2: -INFINITY +native_color: d_bird6:1 allocation score on DEM-1: 0 +native_color: d_bird6:1 allocation score on DEM-2: 1 +native_color: d_bird:0 allocation score on DEM-1: 1 +native_color: d_bird:0 allocation score on DEM-2: 0 +native_color: d_bird:1 allocation score on DEM-1: -INFINITY +native_color: d_bird:1 allocation score on DEM-2: 1 +native_color: d_bird_subnet_state allocation score on DEM-1: -INFINITY +native_color: d_bird_subnet_state allocation score on DEM-2: 0 +native_color: d_tomcat_nms:0 allocation score on DEM-1: 1 +native_color: d_tomcat_nms:0 allocation score on DEM-2: 0 +native_color: d_tomcat_nms:1 allocation score on DEM-1: -INFINITY +native_color: d_tomcat_nms:1 allocation score on DEM-2: 1 +native_color: ip_mgmt allocation score on DEM-1: -INFINITY +native_color: ip_mgmt allocation score on DEM-2: 0 +native_color: ip_trf_tas allocation score on DEM-1: -INFINITY +native_color: ip_trf_tas allocation score on DEM-2: 0 +native_color: ipv6_dem_tas_dns allocation score on DEM-1: -INFINITY +native_color: ipv6_dem_tas_dns allocation score on DEM-2: 0 diff --git a/pengine/test10/clone-fail-block-colocation.summary b/pengine/test10/clone-fail-block-colocation.summary new file mode 100644 index 0000000..7b066ee --- /dev/null +++ b/pengine/test10/clone-fail-block-colocation.summary @@ -0,0 +1,58 @@ + +Current cluster status: +Online: [ DEM-1 DEM-2 ] + + Resource Group: svc + ipv6_dem_tas_dns (ocf::heartbeat:IPv6addr): Started DEM-1 + d_bird_subnet_state (lsb:bird_subnet_state): Started DEM-1 + ip_mgmt (ocf::heartbeat:IPaddr2): Started DEM-1 + ip_trf_tas (ocf::heartbeat:IPaddr2): Started DEM-1 + Clone Set: cl_bird [d_bird] + Started: [ DEM-1 DEM-2 ] + Clone Set: cl_bird6 [d_bird6] + d_bird6 (lsb:bird6): Started DEM-1 (unmanaged) FAILED + Started: [ DEM-2 ] + Clone Set: cl_tomcat_nms [d_tomcat_nms] + Started: [ DEM-1 DEM-2 ] + +Transition Summary: + * Move ipv6_dem_tas_dns (Started DEM-1 -> DEM-2) + * Move d_bird_subnet_state (Started DEM-1 -> DEM-2) + * Move ip_mgmt (Started DEM-1 -> DEM-2) + * Move ip_trf_tas (Started DEM-1 -> DEM-2) + +Executing cluster transition: + * Pseudo action: svc_stop_0 + * Resource action: ip_trf_tas stop on DEM-1 + * Resource action: ip_mgmt stop on DEM-1 + * Resource action: d_bird_subnet_state stop on DEM-1 + * Resource action: ipv6_dem_tas_dns stop on DEM-1 + * Pseudo action: all_stopped + * Pseudo action: svc_stopped_0 + * Pseudo action: svc_start_0 + * Resource action: ipv6_dem_tas_dns start on DEM-2 + * Resource action: d_bird_subnet_state start on DEM-2 + * Resource action: ip_mgmt start on DEM-2 + * Resource action: ip_trf_tas start on DEM-2 + * Pseudo action: svc_running_0 + * Resource action: ipv6_dem_tas_dns monitor=10000 on DEM-2 + * Resource action: d_bird_subnet_state monitor=10000 on DEM-2 + * Resource action: ip_mgmt monitor=10000 on DEM-2 + * Resource action: ip_trf_tas monitor=10000 on DEM-2 + +Revised cluster status: +Online: [ DEM-1 DEM-2 ] + + Resource Group: svc + ipv6_dem_tas_dns (ocf::heartbeat:IPv6addr): Started DEM-2 + d_bird_subnet_state (lsb:bird_subnet_state): Started DEM-2 + ip_mgmt (ocf::heartbeat:IPaddr2): Started DEM-2 + ip_trf_tas (ocf::heartbeat:IPaddr2): Started DEM-2 + Clone Set: cl_bird [d_bird] + Started: [ DEM-1 DEM-2 ] + Clone Set: cl_bird6 [d_bird6] + d_bird6 (lsb:bird6): Started DEM-1 (unmanaged) FAILED + Started: [ DEM-2 ] + Clone Set: cl_tomcat_nms [d_tomcat_nms] + Started: [ DEM-1 DEM-2 ] + diff --git a/pengine/test10/clone-fail-block-colocation.xml b/pengine/test10/clone-fail-block-colocation.xml new file mode 100644 index 0000000..02eac7d --- /dev/null +++ b/pengine/test10/clone-fail-block-colocation.xml @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pengine/test10/stop-failure-no-fencing.scores b/pengine/test10/stop-failure-no-fencing.scores index efe9888..93b2031 100644 --- a/pengine/test10/stop-failure-no-fencing.scores +++ b/pengine/test10/stop-failure-no-fencing.scores @@ -41,7 +41,7 @@ clone_color: dlm:3 allocation score on pcmk-3: 0 clone_color: dlm:3 allocation score on pcmk-4: 0 native_color: ClusterIP allocation score on pcmk-1: -INFINITY native_color: ClusterIP allocation score on pcmk-2: -INFINITY -native_color: ClusterIP allocation score on pcmk-3: 0 +native_color: ClusterIP allocation score on pcmk-3: -INFINITY native_color: ClusterIP allocation score on pcmk-4: -INFINITY native_color: clvm:0 allocation score on pcmk-1: -INFINITY native_color: clvm:0 allocation score on pcmk-2: -INFINITY diff --git a/pengine/test10/stop-failure-no-quorum.scores b/pengine/test10/stop-failure-no-quorum.scores index ce5d714..df30423 100644 --- a/pengine/test10/stop-failure-no-quorum.scores +++ b/pengine/test10/stop-failure-no-quorum.scores @@ -41,7 +41,7 @@ clone_color: dlm:3 allocation score on pcmk-3: 0 clone_color: dlm:3 allocation score on pcmk-4: 0 native_color: ClusterIP allocation score on pcmk-1: 0 native_color: ClusterIP allocation score on pcmk-2: -INFINITY -native_color: ClusterIP allocation score on pcmk-3: 0 +native_color: ClusterIP allocation score on pcmk-3: -INFINITY native_color: ClusterIP allocation score on pcmk-4: -INFINITY native_color: Fencing allocation score on pcmk-1: 0 native_color: Fencing allocation score on pcmk-2: 0