Do we have a workaround to manually disable HA so that the 2nd haproxy cartridge gets removed?
Scaling application down does not work as it will scale down but when scaled back up again the HAPROXY cart is seen on the 2nd gear even with HA DISABLED. [root@broker ~]# rhc app enable-ha test RESULT: test is now highly available [root@broker ~]# curl -kX POST https://broker.example.com/broker/rest/application/562002e36892df8a59000007/events --user ryan:ryan --data-urlencode event=disable-ha [root@broker ~]# rhc app show -a test -g ID State Cartridges Size SSH URL ------------------------ ------- ------------------- ----- ---------------------------------------------- 562002e36892df8a59000007 started haproxy-1.4 php-5.4 small 562002e36892df8a59000007.com [root@broker ~]# rhc cartridge scale php-5.4 -a test --min 2 This operation will run until the application is at the minimum scale and may take several minutes. Setting scale range for php-5.4 ... done php-5.4 (PHP 5.4) ----------------- Scaling: x2 (minimum: 2, maximum: available) on small gears [root@broker ~]# rhc app show -a test -g ID State Cartridges Size SSH URL ------------------------ ------- ------------------- ----- ------------------------------------------------------------------ 562002e36892df8a59000007 started haproxy-1.4 php-5.4 small 562002e36892df8a59000007.com 56200b5d6892df8a59000094 started haproxy-1.4 php-5.4 small 56200b5d6892df8a59000094.com
#####UPDATE###### Disabling HA with API call works as long as a min is not set while the application has HA enabled. When HA is enabled and the application gets a MIN set that is set at 3 or more, the application is unable scale back down to 1 gear when HA is disabled. # rhc app create -a foo jbosseap-6 -s # rhc app enable-ha -a foo # rhc cartridge scale jboss -a foo --min 3 # oo-app-info -a open --raw - haproxy cart can be seen as added to the group components # curl -kX POST https://broker.example.com/broker/rest/application/562906f96892df6a5b000179/events --user ryan:ryan --data-urlencode event=disable-ha # rhc cartridge scale jboss -a open --min 1 # rhc cartridge scale jboss -a open --max 1 Cannot scale down by 1 as it violates the minimum gear restrictions for sparse cartridges.
Commit pushed to master at https://github.com/openshift/origin-server https://github.com/openshift/origin-server/commit/006ac9886ec85dab6639d0668da9e978a5d1bece Delete explicit haproxy component overrides when disabling ha Bug 1255426 https://bugzilla.redhat.com/show_bug.cgi?id=1255426 When an application has a minimum and/or maximum scaling limit set, it is possible that implicit overrides for HA applications will be set as explicit overrides in the database. This previously caused applications that were made ha, then had a scaling limit set, then had ha disabled to be unable to scale back down to a single haproxy cartridge. With this change, the explicit overrides will be removed if they exist when an HA application has HA disabled.
Verify this bug with rubygem-openshift-origin-controller-1.38.4.1-1.el6op.noarch Steps: 1. Create a scaling perl app #rhc app create app1 perl -s 2. Set min 2 gears of the perl cartridge of app1 #rhc cartridge-scale perl -a app1 --min 2 3. Enable this app as HA #rhc app-enable-ha app1 4. Disable HA for this app #curl -k -X POST https://${hostname}/broker/rest/application/564d77cb82611da0cf000009/events -u xxx:xxx -d event=disable-ha 5. Scale down the app to 1 gear #rhc cartridge-scale perl -a app1 --max 1 6. Check this app [root@broker ~]# rhc app show app1 --gears ID State Cartridges Size SSH URL ---------- ------- --------------------- ----- ------------------------------------- yes-app1-1 started haproxy-1.4 perl-5.10 small yes-app1-1.com.cn
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-2666.html