VoyenceControl: When third-party agents are running on the server voyence service reports "Address already in use"
search cancel

VoyenceControl: When third-party agents are running on the server voyence service reports "Address already in use"

book

Article ID: 303552

calendar_today

Updated On:

Products

VMware

Issue/Introduction

Symptoms:


How do I change the default mutex seed port?

ERROR: Starting Device Server Service: Device Service is already started, stop the other process first before starting the services: Address already in use
When third-party agents are running on the server voyence service reports "Address already in use"

When the voyence service is not running, one or more of ports 9991-9998 are in use.

Environment

VMware Smart Assurance - NCM

Cause

By default, the voyence service uses ports 9991-9998 for singleton mutex.  Some third-party agents overlap on these ports, preventing the voyence service from starting.

Resolution

To allow the voyence service and the third-party agents to coexist, you can change the mutex seed port that the voyence service uses:

  1. On the Application server, change to the voyence cgi-bin directory as follows:

    cd $voyence_HOME/cgi-bin

     
  2. Source the /etc/voyence.conf file:

    source /etc/voyence.conf

     
  3. Output the infrastructure database to a temp file:

    ./cflist.cgi > tmpfile

     
  4. Open the file for editing and locate the end of the POP line for the device server you need to change the mutex seed port on.

    POP 1000 "server.domain.com" NetList= RsrcList= DevList=1002,1003 EmsList= : ADDR="127.0.0.1" AGE_DAYS=730 CLEANUP_DAYS=90 AD_ENABLE=0 AD_ARPCACHE=0 AD_DFLTROUTE=0 AD_AUTO_RESOURCE=0 AD_DEFAULT_POLL=0 SNMP_TIMEOUT=500 SNMP_RETRY=3 CM_DEBUGSESSION=0 SORTCONFIG=1 CM_MAXMAINTASKS=20 CM_PULLTIMER=1200 CUTTHRU_PULLTIMER=10 MAX_COMM_ATTEMPTS="5" CM_SMGR_CACHING_ENABLED=1 CM_SMGR_SESSION_TIMEOUT=60 CM_SMGR_SESSIONS_PER_DEVICE=4 AD_BATCHSIZE=1000 AD_NUMHOP=10 AD_TIMEOUT=10 AD_LOOPCNT=2 CM_NATTEDIP_LOOKUP=1 RECORDVER="1.0"

     
  5. Append the CM_MUTEXPORT variable to this line and set its value to a open seed port range (the below example uses seed port 10000, which provides the range 10001-10008).

    POP 1000 "server.domain.com" NetList= RsrcList= DevList=1002,1003 EmsList= : ADDR="127.0.0.1" AGE_DAYS=730 CLEANUP_DAYS=90 AD_ENABLE=0 AD_ARPCACHE=0 AD_DFLTROUTE=0 AD_AUTO_RESOURCE=0 AD_DEFAULT_POLL=0 SNMP_TIMEOUT=500 SNMP_RETRY=3 CM_DEBUGSESSION=0 SORTCONFIG=1 CM_MAXMAINTASKS=20 CM_PULLTIMER=1200 CUTTHRU_PULLTIMER=10 MAX_COMM_ATTEMPTS="5" CM_SMGR_CACHING_ENABLED=1 CM_SMGR_SESSION_TIMEOUT=60 CM_SMGR_SESSIONS_PER_DEVICE=4 AD_BATCHSIZE=1000 AD_NUMHOP=10 AD_TIMEOUT=10 AD_LOOPCNT=2 CM_NATTEDIP_LOOKUP=1 RECORDVER="1.0" CM_MUTEXPORT=10000

     
  6. Save your changes and close the file.

     
  7. Write the changes back into the infrastructure database:

    ./cfwrite.cgi < tmpfile

     
  8. Restart the voyence service on the affected device server.

    /etc/init.d/voyence restart


Additional Information

You can verify what ports are in use by using netstat.

Example on Red Hat Enterprise Linux 4:

# netstat -anp | grep 999
tcp        0      0 127.0.0.1:9991              0.0.0.0:*                   LISTEN      19301/voyenced
tcp        0      0 127.0.0.1:9992              0.0.0.0:*                   LISTEN      19302/voyenced
tcp        0      0 127.0.0.1:9995              0.0.0.0:*                   LISTEN      19307/commmgrd
tcp        0      0 127.0.0.1:9996              0.0.0.0:*                   LISTEN      19306/autodiscd
tcp        0      0 127.0.0.1:9997              0.0.0.0:*                   LISTEN      19312/syssyncd
tcp        0      0 127.0.0.1:9998              0.0.0.0:*                   LISTEN      19304/syssyncd


 

Example on Solaris 10:

$ netstat -anv | grep 999
127.0.0.1.9991
127.0.0.1.9992
127.0.0.1.9995
127.0.0.1.9996
127.0.0.1.9997
127.0.0.1.9998