Bug 905568

Summary: Endpoint deletion during cart deconfigure throws exception when cart manifest has no Endpoints defined
Product: OKD Reporter: Dan Mace <dmace>
Component: ContainersAssignee: Dan Mace <dmace>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 2.xCC: bmeng, dmcphers, jhou, qgong
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: devenv_2742+ Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-14 00:46:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dan Mace 2013-01-29 16:45:15 UTC
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:

Comment 1 openshift-github-bot 2013-01-29 17:53:11 UTC
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.

Comment 2 Jianwei Hou 2013-01-30 03:10:49 UTC
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)