the problem is, I can't write different client codes for the different version.
Consider my case, I developed my script considering the oVirt version 4.2, If my client is using 4.1 then he needs the same script to be supported.What If the client is using further older version say 4.0, So do you want me to write the script for every version of oVirt. It is not correct.
So could you let me know, Is there a way to ignore extra properties in oVirt Rest API?
On Thu, Jun 21, 2018 at 4:30 PM, Ondra Machacek <omachace@redhat.com> wrote:Well, I don't know what are you using to generate the JSON,
but you just need to check if engine is v4.1 and then send the JSON
without the field and if version is v4.2 and higher you can use that
field.
If you share you script maybe I can advice, or if you are using any SDK.
It would be even simpler as you just set the field to None/null/nil and it won't be generated to the XML body which SDK send.
On 06/21/2018 12:52 PM, Hari Prasanth Loganathan wrote:
Thanks, Ondra for confirming.
You need to handle this situation client side.
So you are saying there is a work-around in client side, I didn't get this point, Could you explain, please.
On Thu, Jun 21, 2018 at 4:20 PM, Ondra Machacek <omachace@redhat.com <mailto:omachace@redhat.com>> wrote:
We do not support this.
For xml we use event handler, which takes unknown fields as error:
https://github.com/oVirt/ovirt-engine/blob/68753f46f09419ddcdbb632453501273697d1a20/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/xml/JAXBProvider.java#L182
<https://github.com/oVirt/ovirt-engine/blob/68753f46f09419ddcdbb632453501273697d1a20/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/xml/JAXBProvider.java#L182>
For json we don't have turn of the feature FAIL_ON_UNKNOWN_PROPERTIES,
you would need to put it on line 29 to make it working:
https://github.com/oVirt/ovirt-engine/blob/e06859fef6c38a955a4e0e1f6b0ddaa1e8eae8fb/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/json/CustomObjectMapper.java#L28
<https://github.com/oVirt/ovirt-engine/blob/e06859fef6c38a955a4e0e1f6b0ddaa1e8eae8fb/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/json/CustomObjectMapper.java#L28>
You need to handle this situation client side.
On 06/21/2018 11:21 AM, Hari Prasanth Loganathan wrote:
Could somebody explain this please?
On Thu, Jun 21, 2018 at 7:41 AM, Hari Prasanth Loganathan
<hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>
<mailto:hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>>> wrote:
*Hi Ondra / Ori,*
https://github.com/oVirt/ovirt-engine/search?q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B&unscoped_q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B
<https://github.com/oVirt/ovirt-engine/search?q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B&unscoped_q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B>
<https://github.com/oVirt/ovirt-engine/search?q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B&unscoped_q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B
<https://github.com/oVirt/ovirt-engine/search?q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B&unscoped_q=FAIL_ON_UNKNOWN_PROPERTIES%2C+false%29%3B>>
Check the above link, As per the code it is always set as
false, So
is there a way in payload / headers in client API / server
configuration in oVirt engine which can ignore the extra
payload
parameters?
Any help / workaround is much appreciated.
Thanks, Greg for pointing the right ppl.
Thanks,
Hari
On Thu, Jun 21, 2018 at 1:35 AM, Greg Sheremeta
<gshereme@redhat.com <mailto:gshereme@redhat.com>
<mailto:gshereme@redhat.com <mailto:gshereme@redhat.com>>>
wrote:
+Ondra and Ori
On Wed, Jun 20, 2018 at 1:07 PM Hari Prasanth Loganathan
<hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>
<mailto:hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>>> wrote:
Guys any update on this? if you have any
clarification let
me know please.
Thanks
On Wed, 20 Jun 2018 at 5:41 PM, Hari Prasanth
Loganathan
<hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>
<mailto:hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>>> wrote:
Hi Team,
I got one clue, using the code base :
https://github.com/oVirt/ovirt-engine/blob/e2aad594a55c7272b513736616cb4b9841c2c43d/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
<https://github.com/oVirt/ovirt-engine/blob/e2aad594a55c7272b513736616cb4b9841c2c43d/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java>
<https://github.com/oVirt/ovirt-engine/blob/e2aad594a55c7272b513736616cb4b9841c2c43d/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java
<https://github.com/oVirt/ovirt-engine/blob/e2aad594a55c7272b513736616cb4b9841c2c43d/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/serialization/json/JsonObjectDeserializer.java>>
formattedMapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES,
false);
As a default, this flag is set as false, then
How I get
this error? Any idea?
Thanks,
Hari
On Wed, Jun 20, 2018 at 5:21 PM, Hari Prasanth
Loganathan <hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>
<mailto:hariprasanth.l@msystechnologies.com<mailto:hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com>>> wrote:
Hi all,
To clarify my payload is like below,
*_Expected :_*
{
"alias": "testdisk",
"shareable": false,
"storage_type": "cinder",
"openstack_volume_type": {
"name": "ceph"
},
"description": "",
"storage_domains": {
"storage_domain": [{
"name": "cinder_newone"
}]
},
"provisioned_size": 1073741824,
"interface": "virtio",
"format": "cow"
}
_*
*_
_*I sent : *_
{
"alias": "testdisk",
"shareable": false,
"storage_type": "cinder",
"openstack_volume_type": {
"name": "ceph"
},
"description": "",
"storage_domains": {
"storage_domain": [{
"name": "cinder_newone"
}]
},
"provisioned_size": 1073741824,
"interface": "virtio",
"format": "cow",
* "test" : "value"*
}
Is there a way to ignore the *test* field?
Please
let me know any way / work around.
Any help is much appreciated.
Thanks,
Hari
On Wed, Jun 20, 2018 at 3:09 PM, Hari Prasanth
Loganathan
<hariprasanth.l@msystechnologies.com
<mailto:hariprasanth.l@msystechnologies.com><mailto:users@ovirt.org> <mailto:users@ovirt.org
<mailto:hariprasanth.l@msystechnologies.com>>> wrote:
Hi Team,
I want to attach the disk using the
oVIrt rest
API, I use the version*4.2* and
completed my script.
But when I downgrade my oVirt to lower
version
*4.1*, I get the following error.
detail: 'For correct usage, see:
https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add>
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add>>',\n reason: 'Request syntactically
incorrect.',\n error: 'For correct
usage, see:
https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add>
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add
<https://X.X.99.84/ovirt-engine/api/v4/model#services/disk-attachments/methods/add>>',\n
*Reason*: I added an extra parameter called
'isSharable' which is not expected in
this API.
*So Is there a way to Ignore the extra
parameters sent for oVirt API?*
*
*
_*Example :*_
*
*
*Expected :
*
*
*
*{*
* "a" : "1"*
*}
*
*
*
*I sent :*
*
*
*{*
* "a" : "1",*
* "b" : "2"*
*}*
*
*
*My expectation is, Ignore the "b" and
the API
should work, Is there a flag in oVirt
API which
ignores the extra parameters?
*
Thanks,
Hari
_______________________________________________
Users mailing list -- users@ovirt.org
<mailto:users@ovirt.org>>
To unsubscribe send an email to
users-leave@ovirt.org <mailto:users-leave@ovirt.org>
<mailto:users-leave@ovirt.org
<mailto:users-leave@ovirt.org>>
Privacy Statement:
https://www.ovirt.org/site/privacy-policy/
<https://www.ovirt.org/site/privacy-policy/>
<https://www.ovirt.org/site/privacy-policy/
<https://www.ovirt.org/site/privacy-policy/>>
oVirt Code of Conduct:
https://www.ovirt.org/community/about/community-guidelines/
<https://www.ovirt.org/community/about/community-guidelines/>
<https://www.ovirt.org/community/about/community-guidelines/
<https://www.ovirt.org/community/about/community-guidelines/>>
List Archives:
https://lists.ovirt.org/archives/list/users@ovirt.org/message/Q3S2KU4PXZ7P2ZBLAYM7CYAK2S4NUJD5/
<https://lists.ovirt.org/archives/list/users@ovirt.org/message/Q3S2KU4PXZ7P2ZBLAYM7CYAK2S4NUJD5/>
<https://lists.ovirt.org/archives/list/users@ovirt.org/message/Q3S2KU4PXZ7P2ZBLAYM7CYAK2S4NUJD5/
<https://lists.ovirt.org/archives/list/users@ovirt.org/message/Q3S2KU4PXZ7P2ZBLAYM7CYAK2S4NUJD5/>>
--
GREG SHEREMETA
SENIOR SOFTWARE ENGINEER - TEAM LEAD - RHV UX
Red Hat NA
<https://www.redhat.com/>
gshereme@redhat.com <mailto:gshereme@redhat.com>
<mailto:gshereme@redhat.com <mailto:gshereme@redhat.com>> IRC:
gshereme
<https://red.ht/sig>