Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
pacemaker
pacemaker-pengine-migration-behind-migrating-re...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pacemaker-pengine-migration-behind-migrating-remote.patch of Package pacemaker
commit 2b1aae074e563b9e15ac60ce2aae5b387bb8af0b Author: Ken Gaillot <kgaillot@redhat.com> Date: Thu Aug 24 18:32:59 2017 -0500 Fix: pengine: handle resource migrating behind a migrating remote connection Index: pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.c =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/allocate.c +++ pacemaker-1.1.16+20170320.77ea74d/pengine/allocate.c @@ -1800,6 +1800,14 @@ apply_container_ordering(action_t *actio is_set(container->flags, pe_rsc_failed)? "failed " : "", container->id); + if (safe_str_eq(action->task, CRMD_ACTION_MIGRATE) + || safe_str_eq(action->task, CRMD_ACTION_MIGRATE)) { + /* Migration ops map to "no_action", but we need to apply the same + * ordering as for stop or demote (see get_router_node()). + */ + task = stop_rsc; + } + switch (task) { case start_rsc: case action_promote: @@ -1970,6 +1978,15 @@ apply_remote_ordering(action_t *action, action->task, action->uuid, is_set(remote_rsc->flags, pe_rsc_failed)? "failed " : "", remote_rsc->id, state); + + if (safe_str_eq(action->task, CRMD_ACTION_MIGRATE) + || safe_str_eq(action->task, CRMD_ACTION_MIGRATE)) { + /* Migration ops map to "no_action", but we need to apply the same + * ordering as for stop or demote (see get_router_node()). + */ + task = stop_rsc; + } + switch (task) { case start_rsc: case action_promote: Index: pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.dot =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/test10/migration-behind-migrating-remote.dot +++ pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.dot @@ -7,7 +7,6 @@ digraph "g" { "remote1_migrate_to_0 node1" [ style=bold color="green" fontcolor="black"] "remote1_monitor_60000 node2" [ style=bold color="green" fontcolor="black"] "remote1_start_0 node2" -> "remote1_monitor_60000 node2" [ style = bold] -"remote1_start_0 node2" -> "rsc1_migrate_to_0 remote1" [ style = bold] "remote1_start_0 node2" [ style=bold color="green" fontcolor="orange"] "remote1_stop_0 node1" -> "all_stopped" [ style = bold] "remote1_stop_0 node1" -> "remote1_start_0 node2" [ style = bold] @@ -15,6 +14,7 @@ digraph "g" { "rsc1_migrate_from_0 remote2" -> "rsc1_start_0 remote2" [ style = bold] "rsc1_migrate_from_0 remote2" -> "rsc1_stop_0 remote1" [ style = bold] "rsc1_migrate_from_0 remote2" [ style=bold color="green" fontcolor="black"] +"rsc1_migrate_to_0 remote1" -> "remote1_stop_0 node1" [ style = bold] "rsc1_migrate_to_0 remote1" -> "rsc1_migrate_from_0 remote2" [ style = bold] "rsc1_migrate_to_0 remote1" [ style=bold color="green" fontcolor="black"] "rsc1_monitor_10000 remote2" [ style=bold color="green" fontcolor="black"] Index: pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.exp =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/test10/migration-behind-migrating-remote.exp +++ pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.exp @@ -19,11 +19,7 @@ <attributes CRM_meta_migrate_source="remote1" CRM_meta_migrate_target="remote2" CRM_meta_on_node="remote1" CRM_meta_on_node_uuid="remote1" CRM_meta_record_pending="true" CRM_meta_timeout="20000" /> </rsc_op> </action_set> - <inputs> - <trigger> - <pseudo_event id="14" operation="start" operation_key="remote1_start_0"/> - </trigger> - </inputs> + <inputs/> </synapse> <synapse id="2"> <action_set> @@ -128,6 +124,9 @@ <rsc_op id="8" operation="stop" operation_key="rsc1_stop_0" on_node="remote1" on_node_uuid="remote1" router_node="node1"/> </trigger> <trigger> + <rsc_op id="11" operation="migrate_to" operation_key="rsc1_migrate_to_0" on_node="remote1" on_node_uuid="remote1" router_node="node1"/> + </trigger> + <trigger> <rsc_op id="17" operation="migrate_from" operation_key="remote1_migrate_from_0" on_node="node2" on_node_uuid="2"/> </trigger> </inputs> Index: pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.scores =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/test10/migration-behind-migrating-remote.scores +++ pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.scores @@ -1,6 +1,4 @@ Allocation scores: -An invalid transition was produced -Transition failed: terminated Using the original execution date of: 2017-08-21 17:12:54Z native_color: Fencing allocation score on node1: 0 native_color: Fencing allocation score on node2: INFINITY Index: pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.summary =================================================================== --- pacemaker-1.1.16+20170320.77ea74d.orig/pengine/test10/migration-behind-migrating-remote.summary +++ pacemaker-1.1.16+20170320.77ea74d/pengine/test10/migration-behind-migrating-remote.summary @@ -14,10 +14,17 @@ Transition Summary: * Migrate remote1 (Started node1 -> node2) Executing cluster transition: + * Resource action: rsc1 migrate_to on remote1 * Resource action: remote1 migrate_to on node1 + * Resource action: rsc1 migrate_from on remote2 + * Resource action: rsc1 stop on remote1 * Resource action: remote1 migrate_from on node2 -Transition failed: terminated -An invalid transition was produced + * Resource action: remote1 stop on node1 + * Pseudo action: all_stopped + * Pseudo action: rsc1_start_0 + * Pseudo action: remote1_start_0 + * Resource action: rsc1 monitor=10000 on remote2 + * Resource action: remote1 monitor=60000 on node2 Using the original execution date of: 2017-08-21 17:12:54Z Revised cluster status: @@ -25,7 +32,7 @@ Online: [ node1 node2 ] RemoteOnline: [ remote1 remote2 ] Fencing (stonith:fence_xvm): Started node2 - rsc1 (ocf::pacemaker:Dummy): Started remote1 + rsc1 (ocf::pacemaker:Dummy): Started remote2 remote1 (ocf::pacemaker:remote): Started node2 remote2 (ocf::pacemaker:remote): Started node2
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