[NETCONF-546] 404 returning empty response Created: 01/Jun/18 Updated: 01/Jun/18 Resolved: 01/Jun/18 |
|
| Status: | Resolved |
| Project: | netconf |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Highest |
| Reporter: | Jamo Luhrsen | Assignee: | Jakub Toth |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Description |
|
this is now causing failures in CSIT jobs, like this some of these jobs are used to verify code in the integration/test project. some of these jobs are used as gates for other projects. Specifically, the genius project |
| Comments |
| Comment by Michael Vorburger [ 01/Jun/18 ] |
|
I'm sure that someone will sort this out, but if not, just for the record for everyone, what tpantelis wrote in the email linked above re. "unintended due to jersey 2 upgrade" is https://git.opendaylight.org/gerrit/#/c/72245/. If worst came to worst, and this cannot be solve in netconf within a reasonable time frame, then reverting that would restore the old behaviour, I guess. The Jersey 2 upgrade is something that Kernel Projects commiters want to keep though, so it would be much preferred if this problem can be solved. |
| Comment by Tom Pantelis [ 01/Jun/18 ] |
|
We'd have to at least revert the aaa jersey 2 patch and maybe neutron. And coordinate that - there would breakages - it was a pain to get them merged. So it would have to be a really compelling reason to revert at this point (not something I'm willing to take on). I don't know why CSIT doesn't just check for 404 anyway - seems safer to me then relying on specific response messages. |
| Comment by Luis Gomez [ 01/Jun/18 ] |
|
Test can be changed but with this regression I do not think we are conforming to RestConf Standard: https://tools.ietf.org/html/rfc8040#section-7.1 |
| Comment by Jamo Luhrsen [ 01/Jun/18 ] |
|
yes, tests can be changed, but I have no good estimate on the amount of work that will be. This seems like |
| Comment by Tom Pantelis [ 01/Jun/18 ] |
|
I just tried it locally with config/toaster:toaster and it returned 404 with the expected text: <errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"><error><error-type>application</error-type><error-tag>data-missing</error-tag><error-message>Request could not be completed because the relevant data model content does not exist </error-message></error></errors> So I'm not seeing any issue. Can others try it manually as well? |
| Comment by Jamo Luhrsen [ 01/Jun/18 ] |
|
interesting. I'm seeing the same thing locally: curl -u "admin:admin" http://localhost:8181/restconf/operational/itm-config:tunnel-monitor-interval <errors xmlns="urn:ietf:params:xml:ns:yang:ietf-restconf"><error><error-type>application</error-type><error-tag>data-missing</error-tag><error-message>Request could not be completed because the relevant data model content does not exist </error-message></error></errors> but in CSIT it's not that way: any chance it could have magically been resolved just now? |
| Comment by Luis Gomez [ 01/Jun/18 ] |
|
FYI I saw the issue 1 time in OFP but next run was not showing it, so either it is gone or is sporadic. |
| Comment by Jamo Luhrsen [ 01/Jun/18 ] |
|
that is a different issue. that's a 500 error, which was there for a short duration but fixed |
| Comment by Luis Gomez [ 01/Jun/18 ] |
|
OK, then I do not see any problem in OFP. I guess someone seeing the problem will have to set the steps to reproduce in the description of this bug. |
| Comment by Jamo Luhrsen [ 01/Jun/18 ] |
|
it's right here: |
| Comment by Tom Pantelis [ 01/Jun/18 ] |
|
The CSIT error was "ValueError: No JSON object could be decoded". It looks like it's coming back as XML and not json. |
| Comment by Luis Gomez [ 01/Jun/18 ] |
|
I think the test should add a Log to dump the ${respjson} content. Also I am not sure why there is no HTTP headers set for this test. |
| Comment by Tom Pantelis [ 01/Jun/18 ] |
|
The media type passed to us from the servlet container is wildcard ("/") which we were incorrectly filtering out so it defaulted to "application/xml "instead of "application/json". https://git.opendaylight.org/gerrit/#/c/72583/ fixes it. |
| Comment by Luis Gomez [ 01/Jun/18 ] |
|
That explains, thanks TomP. |
| Comment by Jamo Luhrsen [ 01/Jun/18 ] |
|
patch test on c/72583 shows it worked. thanks tpantelis |