Smarts NCM: Unable to collect Diagnostic data from Juniper Devices, Pushing configuration file 'Diagnostic (termlet-priv)' for IDX with mechanism SSH/SCP and SNMPV2 Invalid root password
search cancel

Smarts NCM: Unable to collect Diagnostic data from Juniper Devices, Pushing configuration file 'Diagnostic (termlet-priv)' for IDX with mechanism SSH/SCP and SNMPV2 Invalid root password

book

Article ID: 330891

calendar_today

Updated On:

Products

VMware Smart Assurance

Issue/Introduction

Symptoms:


Push diagnostic command fails but pull config & cut-through work fine

When pushing a diagnostic command on a Juniper device, such as
>show route

You may see the following error:

Device-Class specific diagnostic results:
Pushing configuration file 'Diagnostic (termlet-priv)' for IDX 1615 with mechanism SSH/SCP and SNMPV2
Invalid root password
Invalid root password
WARN:migrateSessionState(): failed to enter enable mode
ERR:getSession(): Could not provide a session (throw Error)
WARN:Push of Diagnostic (termlet-priv) failed
Unable to push config file: Diagnostic (termlet-priv)
Configuration file 'Diagnostic (termlet-priv)' for IDX 1615 failed with error code 'Unspecified Error' in 15 seconds

Diagnostics for device not available , device-class diag setup as:command:push
TimetoWait:5
show route

Environment

VMware Smart Assurance - NCM

Cause

This is because the term-priv mode is set to enabled in the stdjuniperpush.inc file as follows:

MECHANISM = mechanism;

        if(contType=="termlet"){
            if (destName == "termlet-user") {
                stdPushTermlet(cfgFile.Content, configFileTermletDisabled,setInstruction.ViaModem, "set cli screen-length 0"+stdEOL);
                retVal = daslSuccess;
            }
            else if (destName=="termlet-priv") {
                stdPushTermlet(cfgFile.Content, configFileTermletEnabled,setInstruction.ViaModem, "set cli screen-length 0"+stdEOL);
                retVal = daslSuccess;
            }

when it should be using the User Mode 

Resolution

Alter the configFileTermletEnabled to configFileTermletDisabled as follows:

1. mkdir ../
smarts-ncm/custompackage/juniper if it doesn't exist already 
2. cp ../
smarts-ncm/package/juniper/stdjuniperpush.inc to ../smarts-ncm/custompackage/juniper/stdjuniperpush.inc
3. edit the ../smarts-ncm/custompackage/juniper/stdjuniperpush.inc file and change the line mentioned above:

stdPushTermlet(cfgFile.Content, configFileTermletEnabled,setInstruction.ViaModem, "set cli screen-length 0"+stdEOL) as follows: 


MECHANISM = mechanism;

        if(contType=="termlet"){
            if (destName == "termlet-user") {
                stdPushTermlet(cfgFile.Content, configFileTermletDisabled,setInstruction.ViaModem, "set cli screen-length 0"+stdEOL);
                retVal = daslSuccess;
            }
            else if (destName=="termlet-priv") {
                stdPushTermlet(cfgFile.Content, configFileTermletDisabled,setInstruction.ViaModem, "set cli screen-length 0"+stdEOL);
                retVal = daslSuccess;
            }

4. Save and close the file 
5. Restart the voyence services

This will default the termlet to use User Mode.