Description of problem: If a cartridge manifest doesn't contain an "Endpoints" definition, and the cartridge is deconfigured, an exception similar to the following will be thrown (using haproxy as a working example): Couldn't determine IP for cartridge haproxy-1.4 Cart namespace: HAPROXY Lookup order: [:OPENSHIFT_HAPROXY_IP, :OPENSHIFT_HAPROXY_DB_HOST] The exception will not cause the deconfigure to fail. Version-Release number of selected component (if applicable): How reproducible: Create a scalable app and find a way to destroy the app such that the haproxy deconfigure hook is called (typically only during app creation failure). Steps to Reproduce: 1. 2. 3. Actual results: An exception during deconfigure. Expected results: A deconfigure with no exceptions. Additional info:
Commit pushed to master at https://github.com/openshift/origin-server https://github.com/openshift/origin-server/commit/887e1408afc19cfb674868f67013a236f621a285 Bug 905568: Skip endpoint deletion if no Endpoints in manifest Don't try and delete endpoints for a cart if no Endpoints are defined in the cart manifest.
Verified on devenv_2743 Add some error generating code(exit 1) to /usr/libexec/openshift/cartridges/haproxy-1.4/info/hooks/configure and restart rhc-broker Create a scalable application, and tailf development.log, the endpoints deletion will be skipped. 2013-01-29 21:49:33.539 [DEBUG] DEBUG: [#<MCollective::RPC::Result:0x000000050ea4e8 @agent="openshift", @action="cartridge_do", @results={:sender=>"ip-10-73-25-67", :statuscode=>0, :statusmsg=>"OK", :data=>{:time=>nil, :output=>"I, [2013-01-29T21:49:16.774107 #6421] INFO -- : No Endpoints present in manifest for cart haproxy-1.4 in gear 51088a0c6441bae311000006; endpoint deletion skipped\nWaiting for stop to finish\nWaiting for stop to finish\nWaiting for stop to finish\nWaiting for stop to finish\n/usr/libexec/openshift/cartridges/embedded/haproxy-1.4/info/hooks/deconfigure: line 59: kill: (6276) - No such process\nAPP_SSH_KEY_REMOVE: haproxy\n", :exitcode=>0}}>] (pid:4579)