Bug 909952
| Summary: | AttributeError: Exception instance has no attribute 'message' | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Stanislav Graf <sgraf> | ||||
| Component: | cumin | Assignee: | grid-maint-list <grid-maint-list> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | MRG Quality Engineering <mrgqe-bugs> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | Development | CC: | croberts, matt, tmckay | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2016-05-26 19:54:58 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: | |||||||
| Attachments: |
|
||||||
Summary: Confirmed that this is RHEL5 only. It occurs when the Aviary locator (provided by the condor collector) is being used and cumin cannot contact the locator (hence it is not a regression because locator support is new) in the course of some operation. The error is in construction of a debug log message and is related to differences in Python 2.4 and Python 2.6. This results in the message "Exception instance has no attribute 'message'" being displayed on the screen instead of a notification that the host could not be contacted with the exception text giving an idea of the reason for the operation failure. The result is that the user is left wondering what the failure is and what the obscure text means rather than receiving a clue about communication failure with the locator. This can occur in the course of any operation that uses Aviary -- submitting jobs, drilling into a submission, and operating on jobs. The most likely places to see it are job submission and drilling into a job (because the other job operations are "below" a job drilldown and a configuration error will prevent a user from getting that far) This can happen in the following ways: 1) The url for the locator service is wrong. This includes forgetting to change the scheme to https:// in cumin.conf when turning on ssl for the collector in 61Avary.config or via remote configuration 2) The url for the collector is right but the ssl connection fails when the collector is using ssl This can be because the cumin client certificate cannot be authenticated by the collector, or because the collector certificate cannot be authenticated by cumin when server certificate validation is on (domain verification failure is a subcase of this if aviary-domain-verify is True in cumin.conf) Workarounds: 1) deploy Cumin on a RHEL6 server 2) Use fixed Aviary servers instead of the locator 3) Learn that the obscure message means "communication failure with the locator" Created attachment 696231 [details]
RHEL5 patch to use str(result) instead of result.message
This is a patch that will fix the issue on RHEL5
MRG-Grid is in maintenance and only customer escalations will be considered. This issue can be reopened if a customer escalation associated with it occurs. |
Description of problem: In case of certificate verification failure, on RHEL6 I get: [Errno 1] _ssl.c:490: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed On RHEL5 I get AttributeError: Exception instance has no attribute 'message' Version-Release number of selected component (if applicable): cumin-0.1.5675-1 How reproducible: 100% Steps to Reproduce: 1. Configure cumin+aviary with self-signed certs Allow aviary endpoint lookup feature 2. Require ca/domain verification in cumin.conf 3. Try to look into job details Actual results: AttributeError: Exception instance has no attribute 'message' Expected results: certificate verify failed (the same as RHEL6) Additional info: RHEL5 log: 13610 2013-02-11 14:47:20,758 DEBUG Object store update failed Traceback (most recent call last): File "/usr/share/cumin/python/cumin/model.py", line 790, in run self.store.update() File "/usr/share/cumin/python/cumin/model.py", line 853, in update self.machine_name) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 618, in get_job_summaries "getSubmissionSummary") File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 683, in _setup_client self._set_client_info(client, refresh="on_no_host") File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 663, in _set_client_info refresh) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 166, in find_server scheme, host = self._find_server(machine, refresh is True) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 131, in _find_server log.debug("AviaryOperations: failed to get endpoints, " \ AttributeError: Exception instance has no attribute 'message' RHEL6 log: 18678 2013-02-11 14:52:00,164 DEBUG AviaryOperations: failed to get endpoints, exception message 'Trouble reaching host https://localhost:9000/services/locator/locate, [Errno 1] _ssl.c:490: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed' 18678 2013-02-11 14:52:00,164 DEBUG Object store update failed Traceback (most recent call last): File "/usr/share/cumin/python/cumin/model.py", line 790, in run self.store.update() File "/usr/share/cumin/python/cumin/model.py", line 853, in update self.machine_name) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 618, in get_job_summaries "getSubmissionSummary") File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 683, in _setup_client self._set_client_info(client, refresh="on_no_host") File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 663, in _set_client_info refresh) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 166, in find_server scheme, host = self._find_server(machine, refresh is True) File "/usr/share/cumin/python/sage/aviary/aviaryoperations.py", line 133, in _find_server raise result Exception: Trouble reaching host https://localhost:9000/services/locator/locate, [Errno 1] _ssl.c:490: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed