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
Aria Orchestrator 8.16.x
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.
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