Using the original execution date of: 2018-10-15 16:02:04Z

Current cluster status:
Online: [ rhel7-1 rhel7-2 rhel7-3 rhel7-4 rhel7-5 ]
Containers: [ lxc2:container2 ]

 Fencing	(stonith:fence_xvm):	Started rhel7-2
 FencingPass	(stonith:fence_dummy):	Started rhel7-3
 container1	(ocf::heartbeat:VirtualDomain):	FAILED
 container2	(ocf::heartbeat:VirtualDomain):	Started rhel7-1
 Master/Slave Set: lxc-ms-master [lxc-ms]
     Slaves: [ lxc2 ]
     Stopped: [ rhel7-1 rhel7-2 rhel7-3 rhel7-4 rhel7-5 ]

Transition Summary:
 * Fence (reboot) lxc1 (resource: container1) 'guest is unclean'
 * Start      container1     (     rhel7-1 )  
 * Recover    lxc-ms:1       ( Master lxc1 )  
 * Restart    lxc1           (     rhel7-1 )   due to required container1 start

Executing cluster transition:
 * Resource action: container1      monitor on rhel7-1
 * Pseudo action:   lxc-ms-master_demote_0
 * Resource action: lxc1            stop on rhel7-1
 * Pseudo action:   stonith-lxc1-reboot on lxc1
 * Resource action: container1      start on rhel7-1
 * Pseudo action:   lxc-ms_demote_0
 * Pseudo action:   lxc-ms-master_demoted_0
 * Pseudo action:   lxc-ms-master_stop_0
 * Resource action: lxc1            start on rhel7-1
 * Resource action: lxc1            monitor=30000 on rhel7-1
 * Pseudo action:   lxc-ms_stop_0
 * Pseudo action:   lxc-ms-master_stopped_0
 * Pseudo action:   lxc-ms-master_start_0
 * Resource action: lxc-ms          start on lxc1
 * Pseudo action:   lxc-ms-master_running_0
 * Pseudo action:   lxc-ms-master_promote_0
 * Resource action: lxc-ms          promote on lxc1
 * Pseudo action:   lxc-ms-master_promoted_0
Using the original execution date of: 2018-10-15 16:02:04Z

Revised cluster status:
Online: [ rhel7-1 rhel7-2 rhel7-3 rhel7-4 rhel7-5 ]
Containers: [ lxc1:container1 lxc2:container2 ]

 Fencing	(stonith:fence_xvm):	Started rhel7-2
 FencingPass	(stonith:fence_dummy):	Started rhel7-3
 container1	(ocf::heartbeat:VirtualDomain):	Started rhel7-1
 container2	(ocf::heartbeat:VirtualDomain):	Started rhel7-1
 Master/Slave Set: lxc-ms-master [lxc-ms]
     Masters: [ lxc1 ]
     Slaves: [ lxc2 ]

