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

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

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

  • VMs and vApps are not appearing under certain OVDCs in the Inventory view of the Aria Automation Orchestrator Plug-in for Cloud Director. The following error is seen in the /services-logs/prelude/vco-app/file-logs/vco-server-app.log

YYYY-MM-DDXX:XX:XX.xxxZ ERROR vco [host='vco-app-xxxxxxxx' thread='http-nio-xxx-exec-2' user='username@domain' org='-' trace='-'] {} com.vmware.vmo.plugin.vcloud.VCloudPluginFactory - com.thoughtworks.xstream.converters.ConversionException: No converter available
---- Debugging information ----
message             : No converter available
type                : com.sun.org.apache.xerces.internal.dom.ElementNSImpl
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 @xxxxxxx
converter[1]        : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
message[2]          : Unable to make field public static final short com.sun.org.apache.xerces.internal.dom.NodeImpl.TREE_POSITION_PRECEDING accessible: module java.xml does not "exports com.sun.org.apache.xerces.internal.dom" to unnamed module @xxxxx
-------------------------------

Environment

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

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