Smarts EDAA: Badhost address when starting Tomcat:com.smarts.net.JI_FlowException: JAPI-E-JA_EBADHOSTADDRSTRING-Bad host address.???
search cancel

Smarts EDAA: Badhost address when starting Tomcat:com.smarts.net.JI_FlowException: JAPI-E-JA_EBADHOSTADDRSTRING-Bad host address.???

book

Article ID: 332176

calendar_today

Updated On:

Products

VMware Smart Assurance

Issue/Introduction

Symptoms:


Problem Description: We see "bad host address" errors in the tomcat log when it starts up. Looking at these closely we see a mis-configured port of 8080 for the am PM domains.







Environment

VMware Smart Assurance - SMARTS

Cause

Here's the Full Error: 

com.smarts.net.JI_FlowException: JAPI-E-JA_EBADHOSTADDRSTRING-Bad host address.???

at com.smarts.net.JI_FlowResolver.parseHostFamily(JI_FlowResolver.java:264)
at com.smarts.net.JI_FlowTLS.doOpen(JI_FlowTLS.java:179)
at com.smarts.net.JI_FlowPhysical.open(JI_FlowPhysical.java:190)
at com.smarts.net.JI_Flow.connectToServer(JI_Flow.java:982)
at com.smarts.net.JI_Flow.connectToServer(JI_Flow.java:930)
at com.smarts.remote.SmRemoteDomainManager.attach(SmRemoteDomainManager.java:5 76)
at com.smarts.remote.SmRemoteDomainManager.attach(SmRemoteDomainManager.java:3 25)
at com.smarts.remote.SmRemoteDomainManager.attach(SmRemoteDomainManager.java:2 95)
at com.smarts.remote.SmRemoteDomainManager.attach(SmRemoteDomainManager.java:2 46)
at com.emc.msa.dmt.dmpool.MSADMTWrapper.getHandler(MSADMTWrapper.java:239)
at com.emc.msa.dmt.MSADMTSubscriptionManager.checkDomain(MSADMTSubscriptionMan ager.java:184)
at com.emc.msa.dmt.MSADMTSubscriptionManager.run(MSADMTSubscriptionManager.jav a:291)
2016-08-04 15:31:37,787 ERROR MSADMTMetadataUpdater updateQ:6 All:INCHARGE-AM:Caught 
com.smarts.net.JI_FlowException: JAPI-E-JA_EBADHOSTADDRSTRING-Bad host address.???



In the smartsEDAA_Broker-instanance_test.xlm file we see the miss-configured port of 8080. 

rt><inst:certificateName></inst:certificateName><inst:publicKey></inst:publicKey><inst:url>http://ndctd03-ic2.td03.mso.mci.com:8080/smarts-edaa/msa/</inst:url><inst:Name>SMARTS-EDAA</inst:Name><inst:v6hostName></inst:v6hostName><inst:socketPort>8080</inst:socketPort><inst:msgPort>0</inst:msgPort><

What was working :
Broker probes using curl were working.
example:
curl -v -H "Content-Type: application/xml" -X GET http://ndctd03-ic2.mso.mci.com:9115/...oker/instances

What wasn't working were curl requests to these different domains:
- ndctd03-ic2-ampm5 and ndctd03-ic2-ampm1
example:
curl -v -H "Content-Type: application/xml" -X GET http://ndctd03-ic2.td03.mso.mci.com:...td03-ic2-ampm5


The broker  was responding showing us what commands are possible:

<?xml version="1.0"?>
-<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:msa="http://schemas.emc.com/msa/common" xmlns:vsc="http://schemas.emc.com/vs-xml/namespace/Common/1.0">
<atom:title>/smarts-edaa/msa/dmbroker</atom:title>
<atom:updated>2016-08-12T17:38:42+00:00</atom:updated>
-<atom:author>
<name>EDAA Feed</name>
</atom:author>
<atom:id>urn:uuid:960cbb96-0cea-4442-a0fb-3aef7a7de898</atom:id>
<atom:link href="http://ndctd03-ic2.mso.mci.com:9115/smarts-edaa/msa/dmbroker" rel="self"/>
-<atom:entry>
<atom:title type="text">dmbroker/types</atom:title>
<atom:id>dmbroker/types</atom:id>
<atom:updated>2016-08-12T17:38:42+00:00</atom:updated>
<atom:link href="http://ndctd03-ic2.mso.mci.com:9115/smarts-edaa/msa/dmbroker/types" rel="alternate"/>
</atom:entry>
<atom:entry>
<atom:title type="text">dmbroker/instances</atom:title>
<atom:id>dmbroker/instances</atom:id>
<atom:updated>2016-08-12T17:38:42+00:00</atom:updated>
<atom:link href="http://ndctd03-ic2.mso.mci.com:9115/smarts-edaa/msa/dmbroker/instances" rel="alternate"/>
</atom:entry>
</atom:feed>

Resolution

Use the below commands to first show the IP service, and then install them. The first command will show you what your server is installed for.  Modify it as per this example to include the text in bold/blue, and your own domain name(s). 

Note: Obviously you'll change the domain names too.

To show how the service is currently  installed:

[root@itops-0 bin]# ./sm_service show --cmdline edaa-ic-am-server

To install the service with EDAA.  
[root@itops-0 bin]# ./sm_service install --force --unmanaged --startmode=runonce \
'--name=edaa-ic-am-server' \
'--description=EMC AM with EDAA' \
'/opt/InCharge/IP/smarts/bin/sm_server' \
'-n' \
'INCHARGE-AM-EDAA' \
'--config=icf' \
'--port=0' \
'--edaa=ip/2.0' \
'--bootstrap=bootstrap-am.conf' \
'--ignore-restore-errors' \
'--output'


Here's just one more example.
To show what service is installed:

[root@itops-0 bin]# ./sm_service show --cmdline edaa-ic-am-pm-server

To install the service correctly  with EDAA:
[root@itops-0 bin]# ./sm_service install --force --unmanaged --startmode=runonce \
'--name=edaa-ic-am-pm-server' \
'--description=EMC AM-PM with EDAA' \
'/opt/InCharge/IP/smarts/bin/sm_server' \
'-n' \
'INCHARGE-AM-PM-EDAA' \
'--config=icf' \
'--port=0' \
'--edaa=ip/2.0' \
'--bootstrap=bootstrap-am-pm.conf' \
'--ignore-restore-errors' \
'--output'