Catch when we fail to get a cert chain from the CA during installation

Also don't free the XML document if it was never created.

ticket 404
This commit is contained in:
Rob Crittenden 2010-11-22 10:27:34 -05:00 committed by Simo Sorce
parent 97e9309db3
commit 0ad0f4ba6c

View File

@ -37,6 +37,7 @@ def get_ca_certchain(ca_host=None):
conn = httplib.HTTPConnection(ca_host, api.env.ca_port)
conn.request("GET", "/ca/ee/ca/getCertChain")
res = conn.getresponse()
doc = None
if res.status == 200:
data = res.read()
conn.close()
@ -53,7 +54,10 @@ def get_ca_certchain(ca_host=None):
except Exception, e:
raise errors.RemoteRetrieveError(reason="Retrieving CA cert chain failed: %s" % str(e))
finally:
doc.unlink()
if doc:
doc.unlink()
else:
raise errors.RemoteRetrieveError(reason="request failed with HTTP status %d" % res.status)
return chain