Hi Prajith,

that might be caused by https://gerrit.ovirt.org/112058 where we need to switch to Jackson 2.10. So looking at

https://github.com/oVirt/ovirt-engine/blob/master/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/CreateBrickCommand.java#L12

could you please try to use Jackson 2 classes instead of Jackson 1?

Dana, we need to put more priority on https://issues.redhat.com/browse/RHV-40269 and we really need to go over all classes which execute ansible playbooks and reimplement Jackson parts with Jackson 2. Other parts may be OK for now, but let's try to complete the migration in 4.4.6

Regards,
Martin


On Wed, Mar 10, 2021 at 7:21 PM Prajith Kesava Prasad <pkesavap@redhat.com> wrote:
Hi everyone,

So while calling createBrickCommand playbook from ovirt-engine (createBrickCommand.java) a parameter called disks are constructed to parse a list of disks.

Its implementation contains a class variable ArrayNode which uses JsonNodeFactory,  from jackson-mapper dependency . 

Usually parsing of disks to playbook would contain a list of disks, but now it's parsing the absurd values of JsonNodeFactory, and parsing a weird dictionary:-

Snip of the parameters parsed from ovirt-engine  to ansible-runner

<snip>
elements': [{'textValue': '/dev/sdc', 'binaryValue': '/dev/sdc', 'textual': True, 'valueNode': True, 'numberType': None, 'elements': [], 'array': False, 'fields': [], 'null': False, 'binary': False, 'booleanValue': False, 'numberValue': None, 'decimalValue': 0, 'bigIntegerValue': 0, 'valueAsText': '/dev/sdc', 'valueAsInt': 0, 'valueAsLong': 0, 'valueAsDouble': 0.0, 'valueAsBoolean': False, 'containerNode': False, 'missingNode': False, 'pojo': False, 'number': False, 'integralNumber': False, 'floatingPointNumber': False, 'int': False, 'long': False, 'double': False, 'bigDecimal': False, 'bigInteger': False, 'boolean': False, 'object': False, 'fieldNames': [], 'longValue': 0, 'doubleValue': 0.0, 'intValue': 0}], 'array': True, 'valueAsText': None, 'containerNode': True, 'numberType': None, 'fields': [], 'null': False, 'binary': False, 'textValue': None, 'binaryValue': None, 'booleanValue': False, 'numberValue': None, 'decimalValue': 0, 'bigIntegerValue': 0, 'valueAsInt': 0, 'valueAsLong': 0, 'valueAsDouble': 0.0, 'valueAsBoolean': False, 'valueNode': False, 'missingNode': False, 'pojo': False, 'number': False, 'integralNumber': False, 'floatingPointNumber': False, 'int': False, 'long': False, 'double': False, 'bigDecimal': False, 'bigInteger': False, 'textual': False, 'boolean': False, 'object': False, 'fieldNames': [], 'longValue': 0, 'doubleValue': 0.0, 'intValue': 0}
</snip>



these values represent the Class variables of JsonNodeFactory class in the Jackson-mapper dependency instantiated from ArrayNode in CreateBrickCommand.java class.

Is my understanding flawed, or did we upgrade to a maybe corrupted dependency? or does this have any other problem which I missed out on? 
 ( tested with RHV 4.4.5 latest build - 4.4.5.7-0.1.el8ev )

Regards,
Prajith Kesava Prasad.

_______________________________________________
Devel mailing list -- devel@ovirt.org
To unsubscribe send an email to devel-leave@ovirt.org
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct: https://www.ovirt.org/community/about/community-guidelines/
List Archives: https://lists.ovirt.org/archives/list/devel@ovirt.org/message/SBDP2AICBAVLLQRKJCMVN2OA4KKWNLAX/


--
Martin Perina
Manager, Software Engineering
Red Hat Czech s.r.o.