Symptoms:
Internal Error: RuntimeException: java.lang.NullPointerExceptionrnal Error Occurred
INFO [xxx-xxx-127.0.0.1-8009-exec-15] com.vmware.vcops.ui.util.MainPortalListener.log - (
Component: TODO
Url:/ui/certificate.action
Params: mainAction=deleteCertificate
)
java.lang.NullPointerException
at com.vmware.vcops.bridge.model.CertificateTrustObjectParam.getURIRepresentation(CertificateTrustObjectParam.java:45)
at com.vmware.vcops.bridge.model.CertificateTrustObjectParam.getURIRepresentation(CertificateTrustObjectParam.java:52)
at com.vmware.vcops.ui.action.CertificateAction.getTrustObjectDisplayName(CertificateAction.java:81)
at com.vmware.vcops.ui.action.CertificateAction.execute(CertificateAction.java:53)
VMware Aria Operations 8.x
To resolve the issue, kindly refer to the steps below to manually delete the certificates from the database.
⚠️ **Warning:** Before proceeding, take snapshots of all nodes to avoid data loss.
vRealize Operations v8.0 - v8.6.4
$VMWARE_PYTHON_BIN $ALIVE_BASE/cassandra/apache-cassandra-*/bin/cqlsh --ssl --cqlshrc $ALIVE_BASE/user/conf/cassandra/cqlshrc
select key from globalpersistence.certificate;
key------------------------------------------------------Certificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCertificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdelete from globalpersistence.certificate where namespace='certificate' and classtype='certificate' and key='Certificate.thumbprint';
delete from globalpersistence.certificate where namespace='certificate' and classtype='certificate' and key='Certificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
quit;
vRealize Operations 8.10, Aria Operations 8.12 and later
su - postgres -c "/opt/vmware/vpostgres/current/bin/psql -d vcopsdb -p 5433"
select key from kv_certificate;
key------------------------------------------------------Certificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCertificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxdelete from kv_certificate where key = 'Certificate.thumbprint';
# delete from kv_certificate where key = 'Certificate.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';\q
If the adapter no longer exists in the environment, the certificate cannot be removed from the UI, and the expired certificate banner may continue to appear on the UI.
Another option is deleting directly from the database. Once removed from the database, the expired certificate will disappear after refreshing the UI. Please see the steps under resolution.