[ClusterLabs] How to change the "pcs constraint colocation set"

Tomas Jelinek tojeline at redhat.com
Tue May 15 03:41:33 EDT 2018


Dne 15.5.2018 v 05:25 范国腾 napsal(a):
> Hi,
> 
> We have two VIP resources and we use the following command to make them in different node.
> 
> pcs constraint colocation set pgsql-slave-ip1 pgsql-slave-ip2 setoptions score=-1000
> 
> Now we add a new node into the cluster and we add a new VIP too. We want the constraint colocation set to change to be:
> pcs constraint colocation set pgsql-slave-ip1 pgsql-slave-ip2 pgsql-slave-ip3 setoptions score=-1000
>   
> How should we change the constraint set?
> 
> Thanks

Hi,

pcs provides no commands for editing existing constraints. You can 
create a new constraint and remove the old one. If you want to do it as 
a single change from pacemaker's point of view, follow this procedure:

[root at node1:~]# pcs cluster cib cib1.xml
[root at node1:~]# cp cib1.xml cib2.xml
[root at node1:~]# pcs -f cib2.xml constraint list --full
Location Constraints:
Ordering Constraints:
Colocation Constraints:
   Resource Sets:
     set pgsql-slave-ip1 pgsql-slave-ip2 
(id:pcs_rsc_set_pgsql-slave-ip1_pgsql-slave-ip2) setoptions score=-1000 
(id:pcs_rsc_colocation_set_pgsql-slave-ip1_pgsql-slave-ip2)
Ticket Constraints:
[root at node1:~]# pcs -f cib2.xml constraint remove 
pcs_rsc_colocation_set_pgsql-slave-ip1_pgsql-slave-ip2
[root at node1:~]# pcs -f cib2.xml constraint colocation set 
pgsql-slave-ip1 pgsql-slave-ip2 pgsql-slave-ip3 setoptions score=-1000
[root at node1:~]# pcs cluster cib-push cib2.xml diff-against=cib1.xml
CIB updated


Pcs older than 0.9.156 does not support the diff-against option, you can 
do it like this:

[root at node1:~]# pcs cluster cib cib.xml
[root at node1:~]# pcs -f cib.xml constraint list --full
Location Constraints:
Ordering Constraints:
Colocation Constraints:
   Resource Sets:
     set pgsql-slave-ip1 pgsql-slave-ip2 
(id:pcs_rsc_set_pgsql-slave-ip1_pgsql-slave-ip2) setoptions score=-1000 
(id:pcs_rsc_colocation_set_pgsql-slave-ip1_pgsql-slave-ip2)
Ticket Constraints:
[root at node1:~]# pcs -f cib.xml constraint remove 
pcs_rsc_colocation_set_pgsql-slave-ip1_pgsql-slave-ip2
[root at node1:~]# pcs -f cib.xml constraint colocation set pgsql-slave-ip1 
pgsql-slave-ip2 pgsql-slave-ip3 setoptions score=-1000
[root at node1:~]# pcs cluster cib-push cib.xml
CIB updated


Regards,
Tomas



More information about the Users mailing list