NoClassFound masks real package import errors
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Murano |
Fix Released
|
High
|
Steve McLellan |
Bug Description
In engine/
def load_definition
try:
package = self.package_
return package.
except Exception:
raise exceptions.
This effectively masks any exception, and instead gives the user (and logs) a misleading and vague one. A quick win would be merely to log the original exception. Also nice would be to change this exception handler to catch and re-raise any subclass of MuranoPLException (which would be the base class for anything in dsl/exceptions) so that package errors themselves are bubbled up. Any other errors can be treated as a generic server failure to the user, but logged on the server.
Changed in murano: | |
status: | New → Confirmed |
importance: | Undecided → High |
milestone: | none → juno-3 |
Changed in murano: | |
assignee: | nobody → Steve McLellan (sjmc7) |
Changed in murano: | |
assignee: | Steve McLellan (sjmc7) → Serg Melikyan (smelikyan) |
Changed in murano: | |
assignee: | Serg Melikyan (smelikyan) → Steve McLellan (sjmc7) |
Changed in murano: | |
assignee: | Steve McLellan (sjmc7) → Serg Melikyan (smelikyan) |
Changed in murano: | |
assignee: | Serg Melikyan (smelikyan) → Steve McLellan (sjmc7) |
Changed in murano: | |
status: | Fix Committed → Fix Released |
Changed in murano: | |
milestone: | juno-3 → 2014.2 |
Here is output from tailing "screen- murano- engine. log"
2014-07-25 15:13:32.637 29401 INFO murano. common. engine [-] Starting processing task: {"action": {"args": {}, "method": "deploy", "object_id": "d42561af9c1f46 f6af160fccbed37 d9e"}, "tenant_id": "3ecf9435e8a748 3989b99413b25e4 5a1", "model": {"Attributes": [], "Objects": {"defaultNetworks": {"environment": {"name": "Austin- Development- network" , "?": {"type": "io.murano. resources. NeutronNetwork" , "id": "994b2ce7519246 e798b2a622e5b76 009"}}, "flat": null}, "name": "Austin- Development" , "?": {"type": "io.murano. Environment" , "id": "d42561af9c1f46 f6af160fccbed37 d9e"}, "applications": [{"instance": {"name": "epischy1xhvqa1", "assignFloatingIp": true, "keyname": "clouduser_key", "flavor": "m1.small", "image": "cirros- 0.3.2-x86_ 64-disk" , "?": {"type": "io.murano. resources. LinuxMuranoInst ance", "id": "d82df757- 097c-4a0e- a5e3-191ece3b8f 83"}}, "name": "CF", "?": {"_26411a186129 4160833743e45d0 eaad9": {"name": "Cloud Foundry"}, "type": "io.murano. apps.paas. CloudFoundry" , "id": "d0871162- a94d-4e14- 9cd6-ff278d2aa3 e1"}}, {"instance": {"name": "tomcat-2", "assignFloatingIp": true, "keyname": "clouduser_key", "flavor": "m1.medium", "image": "cirros- 0.3.2-x86_ 64-disk" , "?": {"type": "io.murano. resources. LinuxMuranoInst ance", "id": "e92634eb- 868b-4b45- ade5-6c93c9f191 fa"}}, "name": "Tomcat-2", "?": {"_26411a186129 4160833743e45d0 eaad9": {"name": "Apache Tomcat"}, "type": "io.murano. apps.apache. Tomcat" , "id": "d6f4c274- 6ac2-4150- 94e4-020f8342a4 27"}}]} }, "token": "*** SANITIZED ***"} engine. package_ loader [-] Cache for package loader is located at: /tmp/murano- packages- cache/2a637b0b- 4619-4abb- a41a-dc5f533c56 d3 _get_cache_ directory /opt/stack/ murano/ murano/ engine/ package_ loader. py:78 common. http [-] curl -i -X GET -H 'X-Auth-Token: 0783f26c4eb0153 5925e6e0d44b1d1 82' -H 'Content-Type: application/json' -H 'User-Agent: python- muranoclient' http:// localhost: 8082/v1/ catalog/ packages? class_name= io.murano. Object& limit=20 log_curl_request /opt/stack/ python- muranoclient/ muranoclient/ common/ http.py: 158 common. http [-] curl -i -X GET -H 'X-Auth-Token: 0783f26c4eb0153 5925e6e0d44b1d1 82' -H 'Content-Type: application/json' -H 'User-Agent: python- muranoclient' http:// localhost: 8082/v1/ catalog/ packages? class_name= io.murano. StackTrace& limit=20 log_curl_request /opt/stack/ python- muranoclient/ muranoclient/ common/ http.py: 158 common. http [-] curl -i -X GET -H 'X-Auth-Token: 0783f26c4eb0153 5925e6e0d44b1d1 82' -H 'Content-Type: application/json' -H 'User-Agent: python- muranoclient' http:// localhost: 8082/v1/ catalog/ packages? class_name= io.murano. Exception& limit=20 log_curl_request /opt/stack/ python- muranoclient/ muranoclient/ common/ http.py: 158 common. http [-] curl -i -X GET -H 'X-Auth-Token: 0783f26c4eb0153 5925e6e0d44b1d1 82' -H 'Content-Type: application/json' -H 'User-Agent: python- muranoclient' http:// localhost: 8082/v1/ catalog/ packages? class_name= io.murano. system. AgentListener& limit=20 log_curl_request /o...
2014-07-25 15:13:32.638 29401 DEBUG murano.
2014-07-25 15:13:32.638 29401 DEBUG muranoclient.
2014-07-25 15:13:32.639 29401 DEBUG muranoclient.
2014-07-25 15:13:32.641 29401 DEBUG muranoclient.
2014-07-25 15:13:32.643 29401 DEBUG muranoclient.