
On 05/06/2014 11:28 AM, Juan Hernandez wrote:
On 05/01/2014 06:30 PM, Liao, Chuan (Jason Liao, HPservers-Core-OE-PSC) wrote:
Hi Juan,
Thanks for your reply. I try to add them to interface, seems that we still meet some problem:
Call restful API: api/hosts/e225422a-aeab-453e-b7ac-56c9f5ce378c/numanodes
Error occur: java.lang.NullPointerException org.ovirt.engine.api.restapi.resource.AbstractBackendResource.linkSubCollections(AbstractBackendResource.java:264) org.ovirt.engine.api.restapi.resource.AbstractBackendResource.addLinks(AbstractBackendResource.java:206) org.ovirt.engine.api.restapi.resource.AbstractBackendResource.addLinks(AbstractBackendResource.java:196) org.ovirt.engine.api.restapi.resource.BackendHostNumaNodesResource.list(BackendHostNumaNodesResource.java:43) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
I am not sure that we have this links add into interface, could you give us some suggestion to debug it ?
Best Regards, Jason Liao
There are two problems there:
1. You are putting the JAX-RS annotations @GET and @Formatted in the implementation class and in the interface. RESTEasy is looking for the @Produces annotation in the same class where you have the @GET annotation, so in this case it is looking in BackendHostNumaNodesResource, and they aren't there, but in the interface. The solution to this is to avoid the annotations in the implementation class, put them only in the interface (they are already there).
2. You are adding back-links to the host resource, for example:
<host_numa_nodes> <host_numa_node href="..." id="..."> <host href="/api/hosts/{host:id}" id="{host:id}"/> ... </host_numa_node> ... </host_numa_node>
For this to work the NumaNode model that you are creating need to have a reference to the corresponding Host model, and they won't have it unless you override the "addParent()" method in BackendHostNumaNodesResource, something like this:
@Override public NumaNode addParents(NumaNode node) { Host host = new Host(); host.setId(hostId); node.setHost(host); return node; }
I'm attaching a patch that you can apply on top of yours to make these changes.
That patch contains some code that I wrote to artificially populate the list of numa nodes, please disregard it. I'm attaching a clean one now.
-----Original Message----- From: Juan Hernandez [mailto:juan.hernandez@redhat.com] Sent: 2014年4月30日 20:34 To: Liao, Chuan (Jason Liao, HPservers-Core-OE-PSC); devel@ovirt.org Cc: Gilad Chaplik; Alexander Wels Subject: Re: Change in ovirt-engine[master]: restapi: NUMA feature restful API support
Hi,
When we finish all the restful API code for NUMA feature and test it.
We met one problem which is hard to debug, as attachment.
Could you help us to review our code or give us some suggestion to debug this
On 04/30/2014 02:10 PM, Liao, Chuan (Jason Liao, HPservers-Core-OE-PSC) wrote: problem ?
The patch set link: http://gerrit.ovirt.org/26943
Thank you very much.
Best Regards, Jason Liao
I think that the problem is that in the VmNumaNodeResource interface you didn't specify the @Produces annotation. As a result when you call the GET operation the server uses the default "text/html", and then it fails to find a writer that can convert your object to HTML. You need to add this to annotation to the interface:
You should add the following annotation to this class:
@Produces({ApiMediaType.APPLICATION_XML, ApiMediaType.APPLICATION_JSON, ApiMediaType.APPLICATION_X_Y AML})
-----Original Message----- From: automation@ovirt.org [mailto:automation@ovirt.org] Sent: 2014年4月30日 19:56 To: Liao, Chuan (Jason Liao, HPservers-Core-OE-PSC) Cc: Juan Hernandez; Gilad Chaplik; Alexander Wels Subject: Change in ovirt-engine[master]: restapi: NUMA feature restful API support
automation@ovirt.org has posted comments on this change.
Change subject: restapi: NUMA feature restful API support ......................................................................
Patch Set 2:
* #1069303::Update tracker: OK * Bug-Url: IGNORE, not in a monitored branch (ovirt-engine-3.4 * Check merged to previous: IGNORE, Not in stable branch (['ovirt-engine-3.4', 'ovirt-engine-3.3', 'ovirt-engine-3.4.0', 'ovirt-engine-3.3.4', 'ovirt-engine-3.3.3', 'ovirt-engine-3.3.2', 'ovirt-engine-3.3.1'])
-- To view, visit http://gerrit.ovirt.org/26943 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I72ed4b16c220decbf640f74c4aadffe423afc290 Gerrit-PatchSet: 2 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Jason Liao <chuan.liao@hp.com> Gerrit-Reviewer: Alexander Wels <awels@redhat.com> Gerrit-Reviewer: Gilad Chaplik <gchaplik@redhat.com> Gerrit-Reviewer: Juan Hernandez <juan.hernandez@redhat.com> Gerrit-Reviewer: automation@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: No
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.