Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BZ #1236180 - Updated redis-vip then ceilo-central constraint #545

Conversation

cwolferh
Copy link

@cwolferh cwolferh commented Jul 1, 2015

https://bugzilla.redhat.com/show_bug.cgi?id=1236180

The redis-vip then ceilo-central constraint should be Optional not
Mandator (so as to avoid a big cascade of resources being stopped if
the redis vip moves).

Also removes redis-vip colocation with redis-master. Not necessary
since haproxy forwards from the VIP appropriately.

@cwolferh
Copy link
Author

cwolferh commented Jul 1, 2015

This diff is comparing the full set of pacemaker constraints before and after this PR. As seen below, the "redis-vip with redis-master" constraint has been removed, and the ceilomenter-central/redis-vip colo constraint changed to kind:Optional.

# diff -u /vs/tmp/constraints-pre-redis-tweak.txt /vs/tmp/constraints-post-redis-tweak2.txt
<tweak.txt /vs/tmp/constraints-post-redis-tweak2.txt
--- /vs/tmp/constraints-pre-redis-tweak.txt     2015-06-30 15:39:10.266813145 -0700
+++ /vs/tmp/constraints-post-redis-tweak2.txt   2015-07-01 11:23:13.920346062 -0700
@@ -50,7 +50,6 @@
   ip-nova-prv-192.168.201.64 with haproxy-clone (score:INFINITY)
   ip-nova-prv-192.168.201.64 with ip-nova-pub-192.168.201.63 (score:INFINITY)
   ip-nova-pub-192.168.201.63 with haproxy-clone (score:INFINITY)
-  ip-redis-pub-192.168.201.56 with redis-master (score:INFINITY) (rsc-role:Started) (with-rsc-role:Master)
 Location Constraints:
   neutron-dhcp-agent-clone with neutron-openvswitch-agent-clone (score:INFINITY)
   neutron-l3-agent-clone with neutron-dhcp-agent-clone (score:INFINITY)
@@ -105,7 +104,7 @@
   start ip-nova-adm-192.168.201.65 then start haproxy-clone (kind:Optional)
   start ip-nova-prv-192.168.201.64 then start haproxy-clone (kind:Optional)
   start ip-nova-pub-192.168.201.63 then start haproxy-clone (kind:Optional)
-  start ip-redis-pub-192.168.201.56 then start ceilometer-central-clone (kind:Mandatory)
+  start ip-redis-pub-192.168.201.56 then start ceilometer-central-clone (kind:Optional)
   start keystone-clone then start ceilometer-central-clone (kind:Mandatory)
   start keystone-clone then start cinder-api-clone (kind:Mandatory)
   start keystone-clone then start glance-registry-clone (kind:Mandatory)

@cwolferh
Copy link
Author

cwolferh commented Jul 2, 2015

@davidvossel , I can update that. Our usual pattern is to also have colo constraints with haproxy, i.e. for nova-pub it looks like:

start ip-nova-pub-192.168.201.63 then start haproxy-clone (kind:Optional)
ip-nova-pub-192.168.201.63 with haproxy-clone (score:INFINITY)

Do we want the colo constraint here too? I.e., do the exact same thing for the ip-redis- as we are doing for nova-pub above?

https://bugzilla.redhat.com/show_bug.cgi?id=1236180

Remove the redis-vip then ceilo-central constraint.  Instead use a
redis-vip before haproxy 'kind:Optional' constraint which typically
has the same effect of ensuring redis is up before ceilo-central.
This change is to avoid a big cascade of resources being stopped if
the redis vip moves.

Also removes redis-vip colocation with redis-master.  Not necessary
since haproxy forwards from the VIP appropriately.
@cwolferh cwolferh force-pushed the redis_pacemaker_constraint_refactor branch from ac01505 to 0f2e4ba Compare July 2, 2015 18:54
@cwolferh
Copy link
Author

cwolferh commented Jul 2, 2015

Assuming answer is "yes" to above for now. The before-and-after patch diff of the constraints now looks like:

# diff -u /vs/tmp/constraints-pre-redis-tweak.txt /vs/tmp/constraints-post-redis-tweak4.txt
<tweak.txt /vs/tmp/constraints-post-redis-tweak4.txt
--- /vs/tmp/constraints-pre-redis-tweak.txt     2015-06-30 15:39:10.266813145 -0700
+++ /vs/tmp/constraints-post-redis-tweak4.txt   2015-07-02 12:45:59.539618661 -0700
@@ -50,7 +50,7 @@
   ip-nova-prv-192.168.201.64 with haproxy-clone (score:INFINITY)
   ip-nova-prv-192.168.201.64 with ip-nova-pub-192.168.201.63 (score:INFINITY)
   ip-nova-pub-192.168.201.63 with haproxy-clone (score:INFINITY)
-  ip-redis-pub-192.168.201.56 with redis-master (score:INFINITY) (rsc-role:Started) (with-rsc-role:Master)
+  ip-redis-pub-192.168.201.56 with haproxy-clone (score:INFINITY)
 Location Constraints:
   neutron-dhcp-agent-clone with neutron-openvswitch-agent-clone (score:INFINITY)
   neutron-l3-agent-clone with neutron-dhcp-agent-clone (score:INFINITY)
@@ -105,7 +105,7 @@
   start ip-nova-adm-192.168.201.65 then start haproxy-clone (kind:Optional)
   start ip-nova-prv-192.168.201.64 then start haproxy-clone (kind:Optional)
   start ip-nova-pub-192.168.201.63 then start haproxy-clone (kind:Optional)
-  start ip-redis-pub-192.168.201.56 then start ceilometer-central-clone (kind:Mandatory)
+  start ip-redis-pub-192.168.201.56 then start haproxy-clone (kind:Optional)
   start keystone-clone then start ceilometer-central-clone (kind:Mandatory)
   start keystone-clone then start cinder-api-clone (kind:Mandatory)
   start keystone-clone then start glance-registry-clone (kind:Mandatory)

@davidvossel
Copy link

@cwolferh Right, if the redis VIP is frontend for HAProxy (which it is based on previous discussions) then that VIP needs to both be ordered before haproxy and colocated with haproxy.

The patch as you have it looks right now.

@jguiditta jguiditta self-assigned this Jul 7, 2015
@jguiditta
Copy link
Member

I'll test this today

@jguiditta
Copy link
Member

WFM

jguiditta added a commit that referenced this pull request Jul 7, 2015
…ctor

BZ #1236180 - Updated redis-vip then ceilo-central constraint
@jguiditta jguiditta merged commit bf25db8 into redhat-openstack:master Jul 7, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants