Ports subcontroller doesn't properly handle incorrect node names
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Triaged
|
Low
|
Vladyslav Drok |
Bug Description
Here is what happens if an invalid node identifier is passed, in this case 1234~1234~1234:
2016-08-31 17:10:57.806 27972 INFO eventlet.
File "/usr/local/
result = self.applicatio
File "/opt/stack/
return self.v1(environ, start_response)
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/usr/local/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/opt/stack/
return super(AuthToken
File "/usr/local/
resp = self.call_func(req, *args, **self.kwargs)
File "/usr/local/
return self.func(req, *args, **kwargs)
File "/usr/local/
response = req.get_
File "/usr/local/
application, catch_exc_
File "/usr/local/
app_iter = application(
File "/usr/local/
return self.applicatio
File "/opt/stack/
app_iter = self.app(environ, replacement_
File "/usr/local/
return super(Pecan, self)._
File "/usr/local/
controller, args, kwargs = self.find_
File "/usr/local/
controller, args, kw = super(Pecan, self).find_
File "/usr/local/
controller, remainder = self.route(req, self.root, path)
File "/usr/local/
node, remainder = lookup_
File "/usr/local/
request)
File "/usr/local/
next_obj, next_remainder = route(remainder)
File "/opt/stack/
return super(RootContr
File "/usr/local/
result = self._find_
File "/usr/local/
request)
File "/usr/local/
request)
File "/usr/local/
next_obj, next_remainder = route(remainder)
File "/opt/stack/
return super(Controller, self)._route(args)
File "/usr/local/
result = self._find_
File "/usr/local/
request)
File "/usr/local/
request)
File "/usr/local/
next_obj, next_remainder = route(remainder, request)
File "/usr/local/
_lookup_result = self._handle_
File "/usr/local/
result = handle_
File "/usr/local/
result = obj(*args)
File "/opt/stack/
ident = types.uuid_
File "/opt/stack/
raise exception.
InvalidUuidOrName: Expected a logical name or UUID but received 1234~1234~1234.
2016-08-31 17:10:57.807 27972 INFO eventlet.
The reason is, the _lookup method is exposed via pecan.expose, not wsme, and does not do exception handling the way wsme does.
Changed in python-ironicclient: | |
assignee: | nobody → Vladyslav Drok (vdrok) |
affects: | python-ironicclient → ironic |
Changed in ironic: | |
status: | New → Triaged |
importance: | Undecided → Low |