Aria Orchestrator 8.16.X Workflow does not run, "Error : Plugin error in calling java method name 'com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.getYear()'"
search cancel

Aria Orchestrator 8.16.X Workflow does not run, "Error : Plugin error in calling java method name 'com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.getYear()'"

book

Article ID: 372697

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

Aria Orchestrator 8.16.X (Embedded/External) workflows does not run.

Error: Plugin error in calling java method name 'com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.getYear()',
reason: Unable to make public int com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.getYear() accessible:
module java.xml does not "exports com.sun.org.apache.xerces.internal.jaxp.dataype" to unnamed module @abcxyz(workflow:
CreateVm / Convert to objects (item3)#112

Environment

Aria Orchestrator 8.16.x 

Cause

This issue is caused due to Java changes in jdk 17 version onwards. This jdk version came into place from Aria Orchestrator (vRO) 8.16 onwards.

 

Resolution

Note: Please take cold snapshot of all the nodes in the cluster before implementing any changes

Below is the sequence of executions: 

1. SSH to Aria Orchestrator server using "root"


2. Navigate to below location and check if there is a file by name "90-resources.yaml"

cd /etc/vmware-prelude/profiles/custom-profile/helm/prelude_vco/
ls -al

3. If there is no such file then we will create one with below command.

vracli cluster exec -- bash -c 'base64 -d <<< IyBDcmVhdGUgY3VzdG9tIHByb2ZpbGUgZGlyZWN0b3J5Cm1rZGlyIC1wIC9ldGMvdm13YXJlLXByZWx1ZGUvcHJvZmlsZXMvY3VzdG9tLXByb2ZpbGUvCgojIENyZWF0ZSB0aGUgcmVxdWlyZWQgZGlyZWN0b3J5IHRyZWUgdGhhdCB3aWxsIGJlIHVzZWQgd2hlbiB0aGUgcHJvZmlsZSBpcyBhY3RpdmUKbWtkaXIgLXAgL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLwoKIyBDcmVhdGUgImNoZWNrIiBmaWxlIHRoYXQgaXMgYW4gZXhlY3V0YWJsZSBmaWxlIHJ1biBieSBkZXBsb3kgc2NyaXB0LgpjYXQgPDxFT0YgPiAvZXRjL3Ztd2FyZS1wcmVsdWRlL3Byb2ZpbGVzL2N1c3RvbS1wcm9maWxlL2NoZWNrCiMhL2Jpbi9iYXNoCmV4aXQgMApFT0YKY2htb2QgNzU1IC9ldGMvdm13YXJlLXByZWx1ZGUvcHJvZmlsZXMvY3VzdG9tLXByb2ZpbGUvY2hlY2sKCiMgQ29weSB2Uk8gcmVzb3VyY2UgbWV0cmljcyBmaWxlIHRvIHlvdXIgY3VzdG9tIHByb2ZpbGUKY2F0IDw8RU9GID4gL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLzkwLXJlc291cmNlcy55YW1sCnBvbHlnbG90UnVubmVyTWVtb3J5TGltaXQ6IDYwMDBNCnBvbHlnbG90UnVubmVyTWVtb3J5UmVxdWVzdDogMTAwME0KcG9seWdsb3RSdW5uZXJNZW1vcnlMaW1pdFZjbzogNTYwME0KCnNlcnZlck1lbW9yeUxpbWl0OiA2RwpzZXJ2ZXJNZW1vcnlSZXF1ZXN0OiA1RwpzZXJ2ZXJKdm1IZWFwTWF4OiA0RwoKY29udHJvbENlbnRlck1lbW9yeUxpbWl0OiAxLjVHCmNvbnRyb2xDZW50ZXJNZW1vcnlSZXF1ZXN0OiA3MDBtCkVPRgpjaG1vZCA2NDQgL2V0Yy92bXdhcmUtcHJlbHVkZS9wcm9maWxlcy9jdXN0b20tcHJvZmlsZS9oZWxtL3ByZWx1ZGVfdmNvLzkwLXJlc291cmNlcy55YW1sCg== | bash'

4. This will create a custom profile where we can pass configuration variables for runtime environment.


5. Edit the file

vi /etc/vmware-prelude/profiles/custom-profile/helm/prelude_vco/90-resources.yaml

6. If the file "90-resources.yaml", exists then, just add the configuration for JVM given below:

serverEnv: {

  "JVM_OPTS": "$(JVM_OPTS) --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED"
}

7. If this is the first time this file is getting created, then the new file added as a result of step 3 will have default entries in it. Open the created "90-resources.xml" file and delete all of the pre created content and instead replace it with the following:

serverEnv: {

  "JVM_OPTS": "$(JVM_OPTS) --add-opens=java.xml/com.sun.org.apache.xerces.internal.jaxp.datatype=ALL-UNNAMED --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED"
}

8. Save the file.


9. Deploy the server again.

/opt/scripts/deploy.sh

NOTE:

Make sure to not override/modify/delete any existing configuration in the custom profile.
Kindly perform these changes in a test environment before implementing it in production
These changes apply to the complete Aria Orchestrator server, and not just the VRO-VCD Plugin