Le Tue, 3 May 2016 21:10:12 +0200,
Jehan-Guillaume de Rorthais <[email protected]> a écrit :

> Le Mon, 2 May 2016 17:59:55 -0500,
> Ken Gaillot <[email protected]> a écrit :
> 
> > On 04/28/2016 04:47 AM, Jehan-Guillaume de Rorthais wrote:
> > > Hello all,
> > > 
> > > While testing and experiencing with our RA for PostgreSQL, I found the
> > > meta_notify_active_* variables seems always empty. Here is an example of
> > > these variables as they are seen from our RA during a
> > > migration/switchover:
> > > 
> > > 
> > >   {
> > >     'type' => 'pre',
> > >     'operation' => 'demote',
> > >     'active' => [],
> > >     'inactive' => [],
> > >     'start' => [],
> > >     'stop' => [],
> > >     'demote' => [
> > >                   {
> > >                     'rsc' => 'pgsqld:1',
> > >                     'uname' => 'hanode1'
> > >                   }
> > >                 ],
> > >     
> > >     'master' => [
> > >                   {
> > >                     'rsc' => 'pgsqld:1',
> > >                     'uname' => 'hanode1'
> > >                   }
> > >                 ],
> > >     
> > >     'promote' => [
> > >                    {
> > >                      'rsc' => 'pgsqld:0',
> > >                      'uname' => 'hanode3'
> > >                    }
> > >                  ],
> > >     'slave' => [
> > >                  {
> > >                    'rsc' => 'pgsqld:0',
> > >                    'uname' => 'hanode3'
> > >                  },
> > >                  {
> > >                    'rsc' => 'pgsqld:2',
> > >                    'uname' => 'hanode2'
> > >                  }
> > >                ],
> > >     
> > >   }
> > > 
> > > In case this comes from our side, here is code building this:
> > > 
> > >   
> > > https://github.com/dalibo/PAF/blob/6e86284bc647ef1e81f01f047f1862e40ba62906/lib/OCF_Functions.pm#L444
> > > 
> > > But looking at the variable itself in debug logs, I always find it empty,
> > > in various situations (switchover, recover, failover).
> > > 
> > > If I understand the documentation correctly, I would expect 'active' to
> > > list all the three resources, shouldn't it? Currently, to bypass this, we
> > > consider: active == master + slave
> > 
> > You're right, it should. The pacemaker code that generates the "active"
> > variables is the same used for "demote" etc., so it seems unlikely the
> > issue is on pacemaker's side. Especially since your code treats active
> > etc. differently from demote etc., it seems like it must be in there
> > somewhere, but I don't see where.
> 
> The code treat active, inactive, start and stop all together, for any cloned
> resource. If the resource is a multistate, it adds promote, demote, slave and
> master.
> 
> Note that from this piece of code, the 7 other notify vars are set
> correctly: start, stop, inactive, promote, demote, slave, master. Only active
> is always missing.
> 
> I'll investigate and try to find where is hiding the bug.

So I added a piece of code to dump the **all** the environment variables to a
temp file as early as possible **to avoid any interaction with our perl
module** in the code of the RA, ie.:

  BEGIN {
    use Time::HiRes qw(time);
    my $now = time;
    open my $fh, ">", "/tmp/test-$now.env.txt";
    printf($fh "%-20s = ''%s''\n", $_, $ENV{$_}) foreach sort keys %ENV;
  }

Then I started my cluster and set maintenance-mode=false while no resources
where running. So the debug files contains the probe action, start on all
nodes, one promote on the master and the first monitors. The "*active" variables
are always empty anywhere in the cluster. Find in attachment the result of
the following command on the master node:

  for i in test-*; do echo "===== $i ====="; grep OCF_ $i; done > debug-env.txt

I'm using Pacemaker 1.1.13-10.el7_2.2-44eb2dd under CentOS 7.2.1511.

For completeness, I added the Pacemaker configuration I use for my 3 node
dev/test cluster.

Let me know if you think of more investigations and test I could run on this
issue. I'm out of ideas for tonight (and I really would prefer having this bug
on my side).


On a side note, I noticed with these debug files that the notify
variables where also available outside of notify actions (start and notify
here). Are they always available during "transition actions" (start, stop,
promote, demote)? Checking at the mysql RA, they are using
OCF_RESKEY_CRM_meta_notify_master_uname during the start action. So I suppose
it's safe?

Regards,
===== test-1462312428.96176.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''start''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_notify_active_resource = '' ''
OCF_RESKEY_CRM_meta_notify_active_uname = '' ''
OCF_RESKEY_CRM_meta_notify_all_uname = ''hanode1 hanode2 hanode3''
OCF_RESKEY_CRM_meta_notify_available_uname = ''hanode3 hanode2 hanode1''
OCF_RESKEY_CRM_meta_notify_demote_resource = '' ''
OCF_RESKEY_CRM_meta_notify_demote_uname = '' ''
OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_master_resource = '' ''
OCF_RESKEY_CRM_meta_notify_master_uname = '' ''
OCF_RESKEY_CRM_meta_notify_promote_resource = ''pgsqld:0''
OCF_RESKEY_CRM_meta_notify_promote_uname = ''hanode1''
OCF_RESKEY_CRM_meta_notify_slave_resource = '' ''
OCF_RESKEY_CRM_meta_notify_slave_uname = '' ''
OCF_RESKEY_CRM_meta_notify_start_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_start_uname = ''hanode1 hanode3 hanode2''
OCF_RESKEY_CRM_meta_notify_stop_resource = '' ''
OCF_RESKEY_CRM_meta_notify_stop_uname = '' ''
OCF_RESKEY_CRM_meta_timeout = ''60000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312430.06983.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESOURCE_INSTANCE = ''pgsqlms''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312430.13995.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''notify''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_notify_active_resource = '' ''
OCF_RESKEY_CRM_meta_notify_active_uname = '' ''
OCF_RESKEY_CRM_meta_notify_all_uname = ''hanode1 hanode2 hanode3''
OCF_RESKEY_CRM_meta_notify_available_uname = ''hanode3 hanode2 hanode1''
OCF_RESKEY_CRM_meta_notify_demote_resource = '' ''
OCF_RESKEY_CRM_meta_notify_demote_uname = '' ''
OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_key_operation = ''running''
OCF_RESKEY_CRM_meta_notify_key_type = ''post''
OCF_RESKEY_CRM_meta_notify_master_resource = '' ''
OCF_RESKEY_CRM_meta_notify_master_uname = '' ''
OCF_RESKEY_CRM_meta_notify_operation = ''start''
OCF_RESKEY_CRM_meta_notify_promote_resource = ''pgsqld:0''
OCF_RESKEY_CRM_meta_notify_promote_uname = ''hanode1''
OCF_RESKEY_CRM_meta_notify_slave_resource = '' ''
OCF_RESKEY_CRM_meta_notify_slave_uname = '' ''
OCF_RESKEY_CRM_meta_notify_start_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_start_uname = ''hanode1 hanode3 hanode2''
OCF_RESKEY_CRM_meta_notify_stop_resource = '' ''
OCF_RESKEY_CRM_meta_notify_stop_uname = '' ''
OCF_RESKEY_CRM_meta_notify_type = ''post''
OCF_RESKEY_CRM_meta_timeout = ''60000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312430.2613.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''notify''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_notify_active_resource = '' ''
OCF_RESKEY_CRM_meta_notify_active_uname = '' ''
OCF_RESKEY_CRM_meta_notify_all_uname = ''hanode1 hanode2 hanode3''
OCF_RESKEY_CRM_meta_notify_available_uname = ''hanode3 hanode2 hanode1''
OCF_RESKEY_CRM_meta_notify_demote_resource = '' ''
OCF_RESKEY_CRM_meta_notify_demote_uname = '' ''
OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_key_operation = ''promote''
OCF_RESKEY_CRM_meta_notify_key_type = ''pre''
OCF_RESKEY_CRM_meta_notify_master_resource = '' ''
OCF_RESKEY_CRM_meta_notify_master_uname = '' ''
OCF_RESKEY_CRM_meta_notify_operation = ''promote''
OCF_RESKEY_CRM_meta_notify_promote_resource = ''pgsqld:0''
OCF_RESKEY_CRM_meta_notify_promote_uname = ''hanode1''
OCF_RESKEY_CRM_meta_notify_slave_resource = '' ''
OCF_RESKEY_CRM_meta_notify_slave_uname = '' ''
OCF_RESKEY_CRM_meta_notify_start_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_start_uname = ''hanode1 hanode3 hanode2''
OCF_RESKEY_CRM_meta_notify_stop_resource = '' ''
OCF_RESKEY_CRM_meta_notify_stop_uname = '' ''
OCF_RESKEY_CRM_meta_notify_type = ''pre''
OCF_RESKEY_CRM_meta_timeout = ''60000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312430.48858.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''promote''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_notify_active_resource = '' ''
OCF_RESKEY_CRM_meta_notify_active_uname = '' ''
OCF_RESKEY_CRM_meta_notify_all_uname = ''hanode1 hanode2 hanode3''
OCF_RESKEY_CRM_meta_notify_available_uname = ''hanode3 hanode2 hanode1''
OCF_RESKEY_CRM_meta_notify_demote_resource = '' ''
OCF_RESKEY_CRM_meta_notify_demote_uname = '' ''
OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_master_resource = '' ''
OCF_RESKEY_CRM_meta_notify_master_uname = '' ''
OCF_RESKEY_CRM_meta_notify_promote_resource = ''pgsqld:0''
OCF_RESKEY_CRM_meta_notify_promote_uname = ''hanode1''
OCF_RESKEY_CRM_meta_notify_slave_resource = '' ''
OCF_RESKEY_CRM_meta_notify_slave_uname = '' ''
OCF_RESKEY_CRM_meta_notify_start_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_start_uname = ''hanode1 hanode3 hanode2''
OCF_RESKEY_CRM_meta_notify_stop_resource = '' ''
OCF_RESKEY_CRM_meta_notify_stop_uname = '' ''
OCF_RESKEY_CRM_meta_timeout = ''30000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312431.67099.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''notify''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_notify_active_resource = '' ''
OCF_RESKEY_CRM_meta_notify_active_uname = '' ''
OCF_RESKEY_CRM_meta_notify_all_uname = ''hanode1 hanode2 hanode3''
OCF_RESKEY_CRM_meta_notify_available_uname = ''hanode3 hanode2 hanode1''
OCF_RESKEY_CRM_meta_notify_demote_resource = '' ''
OCF_RESKEY_CRM_meta_notify_demote_uname = '' ''
OCF_RESKEY_CRM_meta_notify_inactive_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_key_operation = ''promoted''
OCF_RESKEY_CRM_meta_notify_key_type = ''post''
OCF_RESKEY_CRM_meta_notify_master_resource = '' ''
OCF_RESKEY_CRM_meta_notify_master_uname = '' ''
OCF_RESKEY_CRM_meta_notify_operation = ''promote''
OCF_RESKEY_CRM_meta_notify_promote_resource = ''pgsqld:0''
OCF_RESKEY_CRM_meta_notify_promote_uname = ''hanode1''
OCF_RESKEY_CRM_meta_notify_slave_resource = '' ''
OCF_RESKEY_CRM_meta_notify_slave_uname = '' ''
OCF_RESKEY_CRM_meta_notify_start_resource = ''pgsqld:0 pgsqld:1 pgsqld:2''
OCF_RESKEY_CRM_meta_notify_start_uname = ''hanode1 hanode3 hanode2''
OCF_RESKEY_CRM_meta_notify_stop_resource = '' ''
OCF_RESKEY_CRM_meta_notify_stop_uname = '' ''
OCF_RESKEY_CRM_meta_notify_type = ''post''
OCF_RESKEY_CRM_meta_timeout = ''60000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312431.86712.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_interval = ''9000''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''monitor''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_role = ''Master''
OCF_RESKEY_CRM_meta_timeout = ''20000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312441.14153.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_interval = ''9000''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''monitor''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_role = ''Master''
OCF_RESKEY_CRM_meta_timeout = ''20000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
===== test-1462312450.38082.env.txt =====
OCF_EXIT_REASON_PREFIX = ''ocf-exit-reason:''
OCF_RA_VERSION_MAJOR = ''1''
OCF_RA_VERSION_MINOR = ''0''
OCF_RESKEY_CRM_meta_clone = ''0''
OCF_RESKEY_CRM_meta_clone_max = ''3''
OCF_RESKEY_CRM_meta_clone_node_max = ''1''
OCF_RESKEY_CRM_meta_globally_unique = ''false''
OCF_RESKEY_CRM_meta_interval = ''9000''
OCF_RESKEY_CRM_meta_master_max = ''1''
OCF_RESKEY_CRM_meta_master_node_max = ''1''
OCF_RESKEY_CRM_meta_name = ''monitor''
OCF_RESKEY_CRM_meta_notify = ''true''
OCF_RESKEY_CRM_meta_role = ''Master''
OCF_RESKEY_CRM_meta_timeout = ''20000''
OCF_RESKEY_bindir    = ''/usr/pgsql-9.3/bin''
OCF_RESKEY_crm_feature_set = ''3.0.10''
OCF_RESKEY_pgdata    = ''/var/lib/pgsql/9.3/data''
OCF_RESKEY_primary_node = ''hanode3''
OCF_RESOURCE_INSTANCE = ''pgsqld''
OCF_RESOURCE_PROVIDER = ''heartbeat''
OCF_RESOURCE_TYPE    = ''pgsqlms''
OCF_ROOT             = ''/usr/lib/ocf''
Cluster Name: cluster_tp
Corosync Nodes:
 hanode1 hanode2 hanode3 
Pacemaker Nodes:
 hanode1 hanode2 hanode3 

Resources: 
 Master: pgsql-ha
  Meta Attrs: master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 
notify=true 
  Resource: pgsqld (class=ocf provider=heartbeat type=pgsqlms)
   Attributes: bindir=/usr/pgsql-9.3/bin pgdata=/var/lib/pgsql/9.3/data 
primary_node=hanode3 
   Operations: start interval=0s timeout=60s (pgsqld-start-interval-0s)
               stop interval=0s timeout=60s (pgsqld-stop-interval-0s)
               reload interval=0s timeout=20s (pgsqld-reload-interval-0s)
               promote interval=0s timeout=30s (pgsqld-promote-interval-0s)
               demote interval=0s timeout=120s (pgsqld-demote-interval-0s)
               monitor interval=9 role=Master (pgsqld-monitor-interval-9)
               monitor interval=10 role=Slave (pgsqld-monitor-interval-10)
               notify interval=0s timeout=60s (pgsqld-notify-interval-0s)
               meta-data interval=0s timeout=5s (pgsqld-meta-data-interval-0s)
               validate-all interval=0s timeout=5s 
(pgsqld-validate-all-interval-0s)
 Resource: pgsql-master-ip (class=ocf provider=heartbeat type=IPaddr2)
  Attributes: ip=192.168.200.150 cidr_netmask=24 
  Operations: start interval=0s timeout=20s (pgsql-master-ip-start-interval-0s)
              stop interval=0s timeout=20s (pgsql-master-ip-stop-interval-0s)
              monitor interval=10s (pgsql-master-ip-monitor-interval-10s)

Stonith Devices: 
 Resource: fence_vm_hanode1 (class=stonith type=fence_virsh)
  Attributes: pcmk_host_check=static-list pcmk_host_list=hanode1 
ipaddr=192.168.200.1 login=ioguix port=hanode1 action=reboot 
identity_file=/root/.ssh/id_rsa login_timeout=15 
  Operations: monitor interval=60s (fence_vm_hanode1-monitor-interval-60s)
 Resource: fence_vm_hanode2 (class=stonith type=fence_virsh)
  Attributes: pcmk_host_check=static-list pcmk_host_list=hanode2 
ipaddr=192.168.200.1 login=ioguix port=hanode2 action=reboot 
identity_file=/root/.ssh/id_rsa login_timeout=15 
  Operations: monitor interval=60s (fence_vm_hanode2-monitor-interval-60s)
 Resource: fence_vm_hanode3 (class=stonith type=fence_virsh)
  Attributes: pcmk_host_check=static-list pcmk_host_list=hanode3 
ipaddr=192.168.200.1 login=ioguix port=hanode3 action=reboot 
identity_file=/root/.ssh/id_rsa login_timeout=15 
  Operations: monitor interval=60s (fence_vm_hanode3-monitor-interval-60s)
Fencing Levels: 

Location Constraints:
  Resource: fence_vm_hanode1
    Disabled on: hanode1 (score:-INFINITY) 
(id:location-fence_vm_hanode1-hanode1--INFINITY)
  Resource: fence_vm_hanode2
    Disabled on: hanode2 (score:-INFINITY) 
(id:location-fence_vm_hanode2-hanode2--INFINITY)
  Resource: fence_vm_hanode3
    Disabled on: hanode3 (score:-INFINITY) 
(id:location-fence_vm_hanode3-hanode3--INFINITY)
  Resource: pgsql-ha
    Enabled on: srv1 (score:1) (id:location-pgsql-ha-srv1-1)
Ordering Constraints:
  promote pgsql-ha then start pgsql-master-ip (kind:Mandatory) 
(non-symmetrical) (id:order-pgsql-ha-pgsql-master-ip-mandatory)
  demote pgsql-ha then stop pgsql-master-ip (kind:Mandatory) (non-symmetrical) 
(id:order-pgsql-ha-pgsql-master-ip-mandatory-1)
Colocation Constraints:
  pgsql-master-ip with pgsql-ha (score:INFINITY) (rsc-role:Started) 
(with-rsc-role:Master) (id:colocation-pgsql-master-ip-pgsql-ha-INFINITY)

Resources Defaults:
 migration-threshold: 5
 resource-stickiness: 10
Operations Defaults:
 No defaults set

Cluster Properties:
 cluster-infrastructure: corosync
 cluster-name: cluster_tp
 dc-version: 1.1.13-10.el7_2.2-44eb2dd
 have-watchdog: false
 last-lrm-refresh: 1462312405
 maintenance-mode: false
 no-quorum-policy: ignore
Node Attributes:
 hanode1: master-pgsqld=1001
 hanode2: master-pgsqld=1
_______________________________________________
Developers mailing list
[email protected]
http://clusterlabs.org/mailman/listinfo/developers

Reply via email to