Avamar and Cloud Disaster Recovery Integration: Unable to Add Avamar to Cloud Disaster Recovery Appliance Due to Empty SNMPv2 Community String
Summary: Unable to add Avamar to Cloud Disaster Recovery Appliance (CDRA) due to empty SNMPv2 community string configured on the attached Data Domain on Avamar.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
Unable to add Avamar as backup server for Cloud Disaster Recovery Appliance (CDRA).
The following errors may be seen in the CDRA log file:
On the Avamar server, the mcserver log has the following SOAP API call logged:
On the Avamar server, the full exception stack is logged in the axis2 log:
The following errors may be seen in the CDRA log file:
cdra/logs/cdra/cdra.log ERROR [2023-05-22 19:07:53,734] [taskScheduler-18] [AvamarBackupService:reconnectAndGetHealthDetails:166]: Avamar is unhealthy; no connectivity. No response due to invalid hostname: avamar.example.com, or port number 9443, org.apache.axis2.AxisFault: Connection refused (Connection refused)
cdra/logs/cdra/cdra.log
DEBUG [2023-04-27 16:14:04,931] [taskScheduler-28] [AvamarSoapClientAPI:connect:88]: Trying to connect to avamar with host name: avamar.example.com
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [AvamarSoapClientAPI:connect:99]: RemoteException caught in AvamarSoapClientAPI due to invalid host or port number Connection or outbound has closed
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [BackupServersManager:addAdapter:194]: Could not initialize Avamar adapter.
com.emc.cloud_dr.cdr.commons.common_models.exceptions.NoConnectivityException: No response due to invalid host name: avamar.example.com, or port number 9443, org.apache.axis2.AxisFault: Connection or outbound has closed
at com.emc.cloud_dr.cdr.adapters.avamar_adapter_soap.AvamarSoapClientAPI.connect(AvamarSoapClientAPI.java:102)
at com.emc.cloud_dr.cdr.commons.backup_service.impl.avamar.AvamarBackupService.init(AvamarBackupService.java:46)
at com.emc.cloud_dr.cdr.commons.backup_servers_manager.impl.BackupServersManager.addAdapter(BackupServersManager.java:189)
at com.emc.cloud_dr.cdr.cdra.cdra_backup_servers_manager.CdraBackupServersManager.addAdapter(CdraBackupServersManager.java:96)
at com.emc.cloud_dr.cdr.commons.remote_server.model.AbstractRemoteServersManager.getAdapterInstance(AbstractRemoteServersManager.java:154)
at com.emc.cloud_dr.cdr.commons.monitor.impl.collectors.AbstractRemoteServerDataCollector.getAdapterDetails(AbstractRemoteServerDataCollector.java:52)
at com.emc.cloud_dr.cdr.commons.monitor.impl.collectors.AbstractRemoteServerDataCollector.lambda$collectData$2(AbstractRemoteServerDataCollector.java:
41)
ERROR [2023-04-27 16:14:05,109] [taskScheduler-28] [AbstractRemoteServersManager:getAdapterInstance:157]: could not initialize adapter 2b356007-de19-42c4-9346
-067ce80f68ab
On the Avamar server, the mcserver log has the following SOAP API call logged:
/usr/local/avamar/var/mc/server_log/mcserver.log.0 05/25-08:30:43.00047 [MCWebServices-MCSDK-QueuedThreadPool-295#295] com.avamar.mc.axis2.logging.LogHandler.invoke WARNING: MCSDK[mcsdk20] Call[urn:getTaskInfo][urn:uuid:3362594b-c177-4fe9-89eb-a042c6f8e889] end with error. SOAP output: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Body> <soapenv:Fault> <soapenv:Code> <soapenv:Value>soapenv:Receiver</soapenv:Value> </soapenv:Code> <soapenv:Reason> <soapenv:Text xml:lang="en-US">java.lang.RuntimeException: Can not serialize OM Element Envelope</soapenv:Text> </soapenv:Reason> <soapenv:Detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>
On the Avamar server, the full exception stack is logged in the axis2 log:
/usr/local/avamar/var/mc/server_log/axis2.log 2023-05-25 09:21:56,914 [MCWebServices-MCSDK-QueuedThreadPool-293] ERROR org.apache.axis2.transport.http.AxisServlet - Can not serialize OM Element Envelope java.lang.RuntimeException: Can not serialize OM Element Envelope at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:963) at org.apache.axis2.handlers.soapmonitor.SOAPMonitorHandler.invoke(SOAPMonitorHandler.java:101) at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) at org.apache.axis2.engine.Phase.invoke(Phase.java:313) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:43) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1700) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:152) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:505) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:427) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:321) at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:159) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:786) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:743) at java.lang.Thread.run(Unknown Source) Caused by: org.apache.axis2.databinding.ADBException: snmpCommunity cannot be null!! at com.avamar.mc.sdk20.DdrConfigInfo.serialize(DdrConfigInfo.java:675) at com.avamar.mc.sdk20.TaskInfo.serialize(TaskInfo.java:619) at com.avamar.mc.sdk20.TaskInfo.serialize(TaskInfo.java:476) at com.avamar.mc.sdk20.GetTaskInfoResponse.serialize(GetTaskInfoResponse.java:120) at com.avamar.mc.sdk20.GetTaskInfoResponse.serialize(GetTaskInfoResponse.java:81) at org.apache.axis2.databinding.ADBDataSource.serialize(ADBDataSource.java:90) at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSerialize(OMSourcedElementImpl.java:635) at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeChildren(OMSerializerUtil.java:556) at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:846) at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:214) at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:120) at org.apache.axiom.om.impl.llom.OMSerializableImpl.serialize(OMSerializableImpl.java:108) at org.apache.axiom.om.impl.llom.OMElementImpl.toString(OMElementImpl.java:957) ... 49 more
Cause
The root cause of the error is defined by the following exception:
In the process of configuring SNMP between Avamar and Data Domain, a community string must be provided in the Avamar User Interface.
Figure 1: SNMP Community String Provided for Avamar
Caused by: org.apache.axis2.databinding.ADBException: snmpCommunity cannot be null!!When Data Domain is integrated with Avamar, SNMP is configured so that Avamar can query Data Domain for information and Data Domain stores Avamar as a trap host.
In the process of configuring SNMP between Avamar and Data Domain, a community string must be provided in the Avamar User Interface.
Figure 1: SNMP Community String Provided for Avamar
Resolution
Go to the Avamar Administrator > Navigation > Server > Server Management > Edit Data Domain System > SNMP.
Configure the SNMP community string, like the image shown in the Cause section of this article.
Configure the SNMP community string, like the image shown in the Cause section of this article.
Affected Products
Avamar, Cloud Disaster RecoveryArticle Properties
Article Number: 000214335
Article Type: Solution
Last Modified: 17 Aug 2023
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.