set-proxy hook (which takes roughly 12s on a devenv) is being executed when a non-web cart is scaled: June 03 23:21:44 INFO oo_spawn running /sbin/runuser -m -s /bin/sh 770995337996588101402624 -c "exec /usr/bin/runcon 'unconfined_u:system_r:openshift_t:s0:c0,c501' /bin/sh -c \"/var/lib/openshift/770995337996588101402624/haproxy/hooks/set-proxy foo abc 770995337996588101402624 \'770995337996588101402624\'\=\'foo-abc.dev.rhcloud.com\|10.152.185.199:35536' '\'\"": {:unsetenv_others=>true, :close_others=>true, :in=>"/dev/null", :chdir=>"/var/lib/openshift/770995337996588101402624/haproxy", :out=>#<IO:fd 12>, :err=>#<IO:fd 10>} June 03 23:21:56 INFO oo_spawn running /sbin/runuser Here's the deployed manifest (on a scaling app) https://github.com/smarterclayton/openshift-redis-cart/blob/76293d84e2f44afee27a4dd7faee2694bc368372/metadata/manifest.yml I don't believe set proxy is at play because none of the non-web ports are currently haproxy balanced - even if they were we'd want to explicitly indicate that (Load-Balance-TCP or something on each Endpoint). Not a release blocker, does make set scales slower than it has to be for non-web carts.
Sounds like an enhancement. The reason set-proxy is run is because we blindly say 'execute_connections' on scale-up. We do not bother to selectively execute them. The selection may be a tricky process.. if there is an indirect dependency, then we are not sure what connections dont need to be run. I am going through the ideas.. and will file a new card in the backlog. Keeping the bug opens until then.
Will create a story in Trello
Tracking it as a feature request using trello https://trello.com/c/IbYyojrC/80-optimize-execute-connections-for-various-events