Error: 'java.lang.ClassNotFoundException' when running workflows using Aria Automation Orchestrator Plug-in for Cloud Director 10.6
search cancel

Error: 'java.lang.ClassNotFoundException' when running workflows using Aria Automation Orchestrator Plug-in for Cloud Director 10.6

book

Article ID: 372509

calendar_today

Updated On:

Products

VMware Cloud Director

Issue/Introduction

  • Workflows like 'Composing a VApp' or 'Power on a VApp' fail with error  'IOException accessible: module java.xml does not "opens com.sun.org.apache.xerces.internal.dom"'.
  • "IOException accessible" error encountered when running a workflow in Cloud Director.

converter : com.thoughtworks.xstream.converters.reflection.SerializableConverter
message[1] : Unable to make private void com.sun.org.apache.xerces.internal.dom.ParentNode.readObject(java.io.ObjectInputStream) throws java.lang.ClassNotFoundException,java.io.IOException accessible: module java.xml does not "opens com.sun.org.apache.xerces.internal.dom" to unnamed module @1234abc

Environment

  • VMware Aria Automation Orchestrator 8.17.x
  • VMware Aria Automation Orchestrator Plug-in for Cloud Director 10.6
  • VMware Cloud Director 10.6.x

Cause

The issue occurs due to the change of JDK version used in Aria Automation Orchestrator (AAO) 8.17 and later releases.

Resolution

 

NOTE:
  1. Make sure to not override/modify/delete any existing configuration in the custom profile.
  2. Ensure these steps are verified in a Test environment before being applied to Production.
  3. These changes apply to the complete AAO server, and not just the AAO-VCD Plugin

 

1. Login to AAO server
2. Navigate to below location

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

3. Edit the file '90-resources.yaml'.

If the  file '90-resources.yaml' does not exist.

 

1. Run the following command:

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

2. Edit the newly created file /etc/vmware-prelude/profiles/custom-profile/helm/prelude_vco/90-resources.yaml

3. Delete all of the pre created content.

[Continue with steps 4-6 below]



4. Add the JVM configuration as 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"
}

5. Save the file.

6. Deploy the server again.

/opt/scripts/deploy.sh