0 of 10 resource instances DISABLED and 1 BLOCKED from further action due to failure

Current cluster status:
Node pcmk-2 (102): UNCLEAN (online)
Node pcmk-3 (103): UNCLEAN (offline)
Node pcmk-4 (104): UNCLEAN (offline)
Online: [ pcmk-1 ]

 Clone Set: dlm-clone [dlm]
     Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
 Clone Set: clvm-clone [clvm]
     clvm	(lsb:clvmd):	FAILED pcmk-2 
     clvm	(lsb:clvmd):	FAILED pcmk-3 ( UNCLEAN, blocked ) 
     Stopped: [ pcmk-1 pcmk-3 pcmk-4 ]
 ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
 Fencing	(stonith:fence_xvm):	Stopped 

Transition Summary:
 * Fence (reboot) pcmk-2 'clvm:0 failed there'
 * Start      dlm:0         ( pcmk-1 )   due to no quorum (blocked)
 * Stop    clvm:0	(pcmk-2)  	due to node availability
 * Start      clvm:2        ( pcmk-1 )   due to no quorum (blocked)
 * Start      ClusterIP     ( pcmk-1 )   due to no quorum (blocked)
 * Start      Fencing       ( pcmk-1 )   due to no quorum (blocked)

Executing cluster transition:
 * Fencing pcmk-2 (reboot)
 * Pseudo action:   clvm-clone_stop_0
 * Pseudo action:   clvm_stop_0
 * Pseudo action:   clvm-clone_stopped_0

Revised cluster status:
Node pcmk-3 (103): UNCLEAN (offline)
Node pcmk-4 (104): UNCLEAN (offline)
Online: [ pcmk-1 ]
OFFLINE: [ pcmk-2 ]

 Clone Set: dlm-clone [dlm]
     Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
 Clone Set: clvm-clone [clvm]
     clvm	(lsb:clvmd):	FAILED pcmk-3 ( UNCLEAN, blocked ) 
     Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
 ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
 Fencing	(stonith:fence_xvm):	Stopped 

