3600N/A<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3600N/A<!DOCTYPE stax SYSTEM "/stax.dtd">
3600N/A<!--
3600N/A ! CDDL HEADER START
3600N/A !
3600N/A ! The contents of this file are subject to the terms of the
3600N/A ! Common Development and Distribution License, Version 1.0 only
3600N/A ! (the "License"). You may not use this file except in compliance
3600N/A ! with the License.
3600N/A !
6982N/A ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
6982N/A ! or http://forgerock.org/license/CDDLv1.0.html.
3600N/A ! See the License for the specific language governing permissions
3600N/A ! and limitations under the License.
3600N/A !
3600N/A ! When distributing Covered Code, include this CDDL HEADER in each
6982N/A ! file and include the License file at legal-notices/CDDLv1_0.txt.
6982N/A ! If applicable, add the following below this CDDL HEADER, with the
6982N/A ! fields enclosed by brackets "[]" replaced with your own identifying
6982N/A ! information:
3600N/A ! Portions Copyright [yyyy] [name of copyright owner]
3600N/A !
3600N/A ! CDDL HEADER END
3600N/A !
5064N/A ! Copyright 2008-2010 Sun Microsystems, Inc.
6036N/A ! Portions Copyright 2013 ForgeRock AS
3600N/A! -->
3600N/A<stax>
3600N/A <!-- SNMP Get -->
3600N/A <function name="SNMPGet" scope="local">
3600N/A <function-prolog>
3600N/A This function performs a SNMP get request
3600N/A </function-prolog>
3600N/A <function-map-args>
3600N/A <function-arg-def name="location"
3600N/A type="optional"
3600N/A default="STAF_REMOTE_HOSTNAME">
3600N/A <function-arg-description>
3600N/A Location of target host
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpVersion" type="required">
3600N/A <function-arg-description>
3600N/A SNMP request version
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="version" />
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpHost"
3600N/A type="optional"
3600N/A default="STAF_REMOTE_HOSTNAME">
3600N/A <function-arg-description>
3600N/A Directory server SNMP hostname or IP address
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname" />
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpPort" type="required">
3600N/A <function-arg-description>
3600N/A Directory server SNMP port number
3667N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="Port number"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpOIDs" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP OID to query
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpCommunity" type="required">
3600N/A <function-arg-description>
3667N/A SNMP community/context
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpUser" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP user used for v3 requests
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpSecurityLevel" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP security level used for v3 requests
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpSecurityFile" type="optional">
3600N/A <function-arg-description>
3667N/A Path to the SNMP security file
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpStatus" type="required">
3600N/A <function-arg-description>
3667N/A Expected status of the SNMP request
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpValidOIDs" type="optional">
3600N/A <function-arg-description>
3667N/A Check if the values returned for the OIDs are correct
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3667N/A <function-arg-def name="snmpWalk" type="optional">
3667N/A <function-arg-description>
3667N/A Perform a walk request
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="expectedRC" type="optional" default="0">
3600N/A <function-arg-description>
3600N/A Expected return code value. Default value is 0
3600N/A Wildcard 'noCheck' to not check the RC
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="integer"/>
3600N/A </function-arg-def>
6036N/A <function-arg-def name="knownIssue" type="optional" default="None">
6036N/A <function-arg-description>
6036N/A Known issue. Corresponds to an issue number.
6036N/A </function-arg-description>
6036N/A </function-arg-def>
3600N/A </function-map-args>
3667N/A
3600N/A <sequence>
5116N/A <!-- Check if 'emma.jar' exists -->
5116N/A <call function="'GetEntry'">
5116N/A {
5116N/A 'location' : STAF_REMOTE_HOSTNAME ,
5116N/A 'entry' : '%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME) ,
5116N/A 'attribute' : 'TYPE'
5116N/A }
5116N/A </call>
5116N/A <if expr="RC != 48">
5116N/A <!-- 'emma.jar' exists -->
5116N/A <script>
5116N/A emma_jarfile='%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
5116N/A </script>
5116N/A <else>
5116N/A <script>
5116N/A emma_jarfile=None
5116N/A </script>
5116N/A </else>
5116N/A </if>
5116N/A
3600N/A <!-- Build the command -->
3600N/A <script>
3600N/A STAFCmdParamsList=[]
3600N/A STAFCmdParams=''
3667N/A
3600N/A if snmpVersion:
3667N/A STAFCmdParamsList.append('-v %s' % snmpVersion)
3667N/A
3667N/A if snmpHost:
3600N/A STAFCmdParamsList.append('-h %s' % snmpHost)
3667N/A
3600N/A if snmpPort:
3600N/A STAFCmdParamsList.append('-p %s' % snmpPort)
3667N/A
3600N/A if snmpOIDs:
3600N/A STAFCmdParamsList.append('-o %s' % snmpOIDs)
3667N/A
3600N/A if snmpCommunity:
3667N/A STAFCmdParamsList.append('-c %s' % snmpCommunity)
3667N/A
3600N/A if snmpUser:
3600N/A STAFCmdParamsList.append('-u %s' % snmpUser)
3600N/A
3600N/A if snmpSecurityLevel:
3667N/A STAFCmdParamsList.append('-l %s' % snmpSecurityLevel)
3667N/A
3600N/A if snmpSecurityFile:
3600N/A STAFCmdParamsList.append('-f %s' % snmpSecurityFile)
3667N/A
3600N/A if snmpStatus:
3600N/A STAFCmdParamsList.append('-s %s' % snmpStatus)
3667N/A
3600N/A if snmpValidOIDs:
3600N/A STAFCmdParamsList.append('-n %s' % snmpValidOIDs)
3667N/A
3667N/A if snmpWalk:
3667N/A STAFCmdParamsList.append('-w %s' % snmpWalk)
3667N/A
3600N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3667N/A
3600N/A STAFCmd='SNMPGet'
3667N/A
3643N/A if is_windows_platform(location):
3643N/A separator=';'
3643N/A else:
3643N/A separator=':'
3667N/A
4153N/A opends_jarfile='%s/%s' % (DIRECTORY_INSTANCE_BIN,SNMP_OPENDS_JARFILE)
3816N/A snmpPath='%s/snmp' % remote.java
3629N/A jdmk_jarfile='%s/jdmkrt.jar' % snmpPath
3667N/A
5116N/A if emma_jarfile:
3667N/A cp = 'CLASSPATH=%s%s%s%s%s%s.' \
3667N/A % (opends_jarfile,separator,jdmk_jarfile,separator,emma_jarfile,separator)
3667N/A else:
3667N/A cp = 'CLASSPATH=%s%s%s%s.' \
3667N/A % (opends_jarfile,separator,jdmk_jarfile,separator)
3667N/A
4458N/A env = ['%s' % cp]
3600N/A </script>
3667N/A
3600N/A <message>
3600N/A '%s %s' % (STAFCmd, STAFCmdParams)
3600N/A </message>
3667N/A
3600N/A <call function="'runCommand'" >
3667N/A {
3600N/A 'name' : 'SNMP Get' ,
3600N/A 'command' : '%s/bin/java' % JAVA_HOME ,
3600N/A 'arguments' : '%s %s' % (STAFCmd, STAFCmdParams) ,
3600N/A 'location' : location ,
3949N/A 'path' : '%s/snmp' % remote.java ,
3949N/A 'envCmd' : env ,
6036N/A 'expectedRC' : expectedRC ,
6036N/A 'knownIssue' : knownIssue
3600N/A }
3600N/A </call>
3667N/A
3600N/A <return>
3600N/A STAXResult
3600N/A </return>
3667N/A
3600N/A </sequence>
3600N/A </function>
3600N/A
3600N/A <!-- SNMP Set -->
3600N/A <function name="SNMPSet" scope="local">
3600N/A <function-prolog>
3600N/A This function performs a SNMP Set request
3600N/A </function-prolog>
3600N/A <function-map-args>
3600N/A <function-arg-def name="location"
3600N/A type="optional"
3600N/A default="STAF_REMOTE_HOSTNAME">
3600N/A <function-arg-description>
3600N/A Location of target host
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpVersion" type="required">
3600N/A <function-arg-description>
3600N/A SNMP request version
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="version" />
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpHost"
3600N/A type="optional"
3600N/A default="STAF_REMOTE_HOSTNAME">
3600N/A <function-arg-description>
3600N/A Directory server SNMP hostname or IP address
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname" />
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpPort" type="required">
3600N/A <function-arg-description>
3600N/A Directory server SNMP port number
3667N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="Port number"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpOIDs" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP OID to query
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpCommunity" type="required">
3600N/A <function-arg-description>
3667N/A SNMP community/context
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpUser" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP user used for v3 requests
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpSecurityLevel" type="optional">
3600N/A <function-arg-description>
3667N/A SNMP security level used for v3 requests
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpSecurityFile" type="optional">
3600N/A <function-arg-description>
3667N/A Path to the SNMP security file
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpStatus" type="required">
3600N/A <function-arg-description>
3667N/A Expected status of the SNMP request
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpValidOIDs" type="optional">
3600N/A <function-arg-description>
3667N/A Check if the values returned for the OIDs are correct
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="expectedRC" type="optional" default="0">
3600N/A <function-arg-description>
3600N/A Expected return code value. Default value is 0
3600N/A Wildcard 'noCheck' to not check the RC
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="integer"/>
3600N/A </function-arg-def>
3600N/A </function-map-args>
3667N/A
3600N/A <sequence>
5116N/A <!-- Check if 'emma.jar' exists -->
5116N/A <call function="'GetEntry'">
5116N/A {
5116N/A 'location' : STAF_REMOTE_HOSTNAME ,
5116N/A 'entry' : '%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME) ,
5116N/A 'attribute' : 'TYPE'
5116N/A }
5116N/A </call>
5116N/A <if expr="RC != 48">
5116N/A <!-- 'emma.jar' exists -->
5116N/A <script>
5116N/A emma_jarfile='%s/%s/lib/emma.jar' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
5116N/A </script>
5116N/A <else>
5116N/A <script>
5116N/A emma_jarfile=None
5116N/A </script>
5116N/A </else>
5116N/A </if>
5116N/A
3600N/A <!-- Build the command -->
3600N/A <script>
3600N/A STAFCmdParamsList=[]
3600N/A STAFCmdParams=''
3667N/A
3600N/A if snmpVersion:
3667N/A STAFCmdParamsList.append('-v %s' % snmpVersion)
3667N/A
3667N/A if snmpHost:
3600N/A STAFCmdParamsList.append('-h %s' % snmpHost)
3667N/A
3600N/A if snmpPort:
3600N/A STAFCmdParamsList.append('-p %s' % snmpPort)
3600N/A
3600N/A if snmpOIDs:
3600N/A STAFCmdParamsList.append('-o %s' % snmpOIDs)
3667N/A
3600N/A if snmpCommunity:
3600N/A STAFCmdParamsList.append('-c %s' % snmpCommunity)
3600N/A
3600N/A if snmpUser:
3600N/A STAFCmdParamsList.append('-u %s' % snmpUser)
3600N/A
3600N/A if snmpSecurityLevel:
3667N/A STAFCmdParamsList.append('-l %s' % snmpSecurityLevel)
3667N/A
3600N/A if snmpSecurityFile:
3667N/A STAFCmdParamsList.append('-f %s' % snmpSecurityFile)
3667N/A
3600N/A if snmpStatus:
3600N/A STAFCmdParamsList.append('-s %s' % snmpStatus)
3667N/A
3600N/A if snmpValidOIDs:
3600N/A STAFCmdParamsList.append('-n %s' % snmpValidOIDs)
3667N/A
3600N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3667N/A
3600N/A STAFCmd='SNMPSet'
3667N/A
3643N/A if is_windows_platform(location):
3643N/A separator=';'
3643N/A else:
3643N/A separator=':'
3667N/A
4153N/A opends_jarfile='%s/%s' % (DIRECTORY_INSTANCE_BIN,SNMP_OPENDS_JARFILE)
3816N/A snmpPath='%s/snmp' % remote.java
3629N/A jdmk_jarfile='%s/jdmkrt.jar' % snmpPath
3667N/A
5116N/A if emma_jarfile:
3667N/A cp = 'CLASSPATH=%s%s%s%s%s%s.' \
3667N/A % (opends_jarfile,separator,jdmk_jarfile,separator,emma_jarfile,separator)
3667N/A else:
3667N/A cp = 'CLASSPATH=%s%s%s%s.' \
3667N/A % (opends_jarfile,separator,jdmk_jarfile,separator)
3667N/A
4458N/A env = ['%s' % cp]
3600N/A </script>
3667N/A
3600N/A <message>
3600N/A '%s %s' % (STAFCmd, STAFCmdParams)
3600N/A </message>
3667N/A
3600N/A <call function="'runCommand'" >
3667N/A {
3600N/A 'name' : 'SNMP Set' ,
3600N/A 'command' : '%s/bin/java' % JAVA_HOME ,
3600N/A 'arguments' : '%s %s' % (STAFCmd, STAFCmdParams) ,
3600N/A 'location' : location ,
3949N/A 'path' : '%s/snmp' % remote.java ,
3949N/A 'envCmd' : env ,
3600N/A 'expectedRC' : expectedRC
3600N/A }
3600N/A </call>
3667N/A
3600N/A <return>
3600N/A STAXResult
3600N/A </return>
3667N/A
3600N/A </sequence>
3600N/A </function>
3600N/A
3600N/A <!-- SNMP Trap listener -->
3600N/A <function name="SNMPTrapListener" scope="local">
3600N/A <function-prolog>
3600N/A This function performs a SNMP Set request
3600N/A </function-prolog>
3600N/A <function-map-args>
3600N/A <function-arg-def name="location"
3600N/A type="optional"
3600N/A default="STAF_REMOTE_HOSTNAME">
3600N/A <function-arg-description>
3600N/A Location of target host
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname"/>
3600N/A </function-arg-def>
3600N/A <function-arg-def name="snmpHost" type="required">
3600N/A <function-arg-description>
3600N/A Directory server SNMP port number
3667N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="hostname"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpTrapPort" type="required">
3600N/A <function-arg-description>
3600N/A Directory server SNMP port number
3667N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="Port number"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpTrapCommunity" type="required">
3600N/A <function-arg-description>
3667N/A SNMP trap community
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3600N/A <function-arg-def name="snmpTrapNumber" type="required">
3600N/A <function-arg-description>
3667N/A Number of expected traps
3600N/A </function-arg-description>
3600N/A <function-arg-property name="type" value="string"/>
3600N/A </function-arg-def>
3670N/A <function-arg-def name="outputFile" type="required">
3670N/A <function-arg-description>
3670N/A File to which the output should be written
3670N/A </function-arg-description>
3670N/A <function-arg-property name="type" value="filename"/>
3670N/A </function-arg-def>
3600N/A <function-arg-def name="expectedRC" type="optional" default="0">
3600N/A <function-arg-description>
3600N/A Expected return code value. Default value is 0
3600N/A Wildcard 'noCheck' to not check the RC
3600N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="integer"/>
3600N/A </function-arg-def>
4458N/A <function-arg-def name="knownIssue" type="optional" default="None">
4458N/A <function-arg-description>
4458N/A Known issue. Corresponds to an issue number.
4458N/A </function-arg-description>
4458N/A </function-arg-def>
3600N/A </function-map-args>
3667N/A
3600N/A <sequence>
3685N/A <script>
3685N/A if is_windows_platform(location):
4458N/A jstaf_jarfile='%s\\bin\\JSTAF.jar' % REMOTE_STAF_ROOT
3685N/A else:
4458N/A jstaf_jarfile='%s/lib/JSTAF.jar' % REMOTE_STAF_ROOT
3685N/A </script>
3667N/A
3600N/A <!-- Build the command -->
3600N/A <script>
3600N/A STAFCmdParamsList=[]
3600N/A STAFCmdParams=''
3667N/A
3600N/A if snmpHost:
3667N/A STAFCmdParamsList.append('-h %s' % snmpHost)
3667N/A
3600N/A if snmpTrapPort:
3600N/A STAFCmdParamsList.append('-p %s' % snmpTrapPort)
3667N/A
3600N/A if snmpTrapCommunity:
3600N/A STAFCmdParamsList.append('-c %s' % snmpTrapCommunity)
3667N/A
3600N/A if snmpTrapNumber:
3600N/A STAFCmdParamsList.append('-t %s' % snmpTrapNumber)
3667N/A
3600N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3667N/A
3600N/A STAFCmd='SNMPTrapListener'
3667N/A
3643N/A if is_windows_platform(location):
3643N/A separator=';'
3643N/A else:
3643N/A separator=':'
3667N/A
3816N/A snmpPath='%s/snmp' % remote.java
3629N/A jdmk_jarfile='%s/jdmkrt.jar' % snmpPath
4458N/A cp = 'CLASSPATH=%s%s%s%s.' \
4458N/A % (jdmk_jarfile,separator,jstaf_jarfile,separator)
3667N/A
4458N/A env = ['%s' % cp]
3600N/A </script>
3667N/A
3600N/A <message>
3600N/A '%s %s' % (STAFCmd, STAFCmdParams)
3600N/A </message>
3756N/A
3600N/A <call function="'runCommand'" >
3667N/A {
3600N/A 'name' : 'SNMP Trap Listener' ,
3600N/A 'command' : '%s/bin/java' % JAVA_HOME ,
3600N/A 'arguments' : '%s %s' % (STAFCmd, STAFCmdParams) ,
3600N/A 'location' : location ,
3670N/A 'path' : snmpPath ,
3949N/A 'envCmd' : env ,
3670N/A 'outputFile' : outputFile ,
4458N/A 'expectedRC' : expectedRC ,
4458N/A 'knownIssue' : knownIssue
3600N/A }
3600N/A </call>
3667N/A
3600N/A <return>
3600N/A STAXResult
3600N/A </return>
3667N/A
3600N/A </sequence>
3600N/A </function>
3667N/A
3667N/A <!-- Restart SNMP Connection Handler -->
3667N/A <function name="restartSNMPConnectionHandler" scope="local">
3667N/A <function-prolog>
3667N/A This function restart the SNMP Connection Handler using dsconfig
3667N/A </function-prolog>
3667N/A <function-map-args>
3667N/A <function-arg-def name="location"
3667N/A type="optional"
3667N/A default="STAF_REMOTE_HOSTNAME">
3667N/A <function-arg-description>
3667N/A Location of target host
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="hostname" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="dsPath"
3667N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3667N/A <function-arg-description>
3667N/A Pathname to installation root
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="filepath" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="dsInstanceHost"
3667N/A type="optional"
3667N/A default="STAF_REMOTE_HOSTNAME">
3667N/A <function-arg-description>
3667N/A Directory server hostname or IP address
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="hostname" />
3667N/A </function-arg-def>
3853N/A <function-arg-def name="dsInstanceAdminPort"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_ADMIN_PORT">
3667N/A <function-arg-description>
3853N/A Directory server admin port number
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="Port number" />
3667N/A </function-arg-def>
3667N/A
3667N/A <function-arg-def name="dsInstanceDn" type="required">
3667N/A <function-arg-description>
3667N/A Bind DN
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="DN" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="dsInstancePswd" type="required">
3667N/A <function-arg-description>
3667N/A Bind password
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="expectedRC" type="optional" default="0">
3667N/A <function-arg-description>
3667N/A Expected return code value. Default value is 0.
3667N/A Wildcard 'noCheck' to not check the RC
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string" />
3667N/A </function-arg-def>
3951N/A <function-arg-def name="knownIssue" type="optional" default="None">
3951N/A <function-arg-description>
3951N/A Known issue. Corresponds to an issue number.
3951N/A </function-arg-description>
3951N/A </function-arg-def>
3667N/A </function-map-args>
3667N/A
3667N/A <sequence>
3667N/A <!-- Build the command -->
3667N/A <script>
3667N/A STAFCmdParamsList=[]
3667N/A STAFCmdParams=''
3667N/A
3667N/A if dsPath:
3667N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3667N/A
3667N/A if dsInstanceHost:
3667N/A STAFCmdParamsList.append('-h %s' % dsInstanceHost)
3667N/A
3853N/A if dsInstanceAdminPort:
3853N/A STAFCmdParamsList.append('-p %s' % dsInstanceAdminPort)
3667N/A
3667N/A if dsInstanceDn:
3667N/A STAFCmdParamsList.append('-D "%s"' % dsInstanceDn)
3667N/A
3667N/A if dsInstancePswd:
3667N/A STAFCmdParamsList.append('-w "%s"' % dsInstancePswd)
3667N/A
3667N/A STAFCmdParamsList.append('-n')
3853N/A STAFCmdParamsList.append('-X')
3667N/A
3667N/A STAFCmdParamsList.append('set-connection-handler-prop')
3667N/A STAFCmdParamsList.append('--handler-name "SNMP Connection Handler"')
3667N/A
3667N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3667N/A
3667N/A STAFCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt)
3667N/A </script>
3667N/A
3667N/A <call function="'runCommand'">
3667N/A {
3667N/A 'name' : 'Disable the SNMP Connection Handler' ,
3667N/A 'location' : location ,
3667N/A 'command' : STAFCmd ,
3667N/A 'arguments' : '%s --set enabled:false' % STAFCmdParams ,
3667N/A 'expectedRC': expectedRC
3667N/A }
3667N/A </call>
3667N/A
3667N/A <call function="'runCommand'">
3667N/A {
3667N/A 'name' : 'Enable the SNMP Connection Handler' ,
3667N/A 'location' : location ,
3667N/A 'command' : STAFCmd ,
3667N/A 'arguments' : '%s --set enabled:true' % STAFCmdParams ,
3951N/A 'expectedRC': expectedRC ,
3951N/A 'knownIssue': knownIssue
3667N/A }
3667N/A </call>
3667N/A
3667N/A <return>
3667N/A STAXResult
3667N/A </return>
3667N/A
3667N/A </sequence>
3667N/A </function>
3667N/A
3667N/A <!-- Compare SNMP values -->
3667N/A <function name="compareSNMPValues" scope="local">
3667N/A <function-prolog>
3667N/A This function compare SNMP Values
3667N/A </function-prolog>
3667N/A <function-map-args>
3667N/A <function-arg-def name="location"
3667N/A type="optional"
3667N/A default="STAF_REMOTE_HOSTNAME">
3667N/A <function-arg-description>
3667N/A Location of target host
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="hostname" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="snmpHost"
3667N/A type="optional"
3667N/A default="STAF_REMOTE_HOSTNAME">
3667N/A <function-arg-description>
3667N/A Directory server hostname or IP address
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="hostname" />
3667N/A </function-arg-def>
3667N/A <function-arg-def name="snmpPort" type="required">
3667N/A <function-arg-description>
3667N/A Directory server SNMP port number
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="Port number"/>
3667N/A </function-arg-def>
3667N/A <function-arg-def name="snmpCommunity" type="required">
3667N/A <function-arg-description>
3667N/A SNMP community/context
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="string"/>
3667N/A </function-arg-def>
3671N/A <function-arg-def name="index" type="required">
3671N/A <function-arg-description>
3671N/A Index for the out/in bytes check
3671N/A </function-arg-description>
3671N/A <function-arg-property name="type" value="string"/>
3671N/A </function-arg-def>
4238N/A <function-arg-def name="knownIssue" type="optional" default="None">
4238N/A <function-arg-description>
4238N/A Known issue. Corresponds to an issue number.
4238N/A </function-arg-description>
4238N/A </function-arg-def>
3667N/A <function-arg-def name="expectedRC" type="optional" default="0">
3667N/A <function-arg-description>
3667N/A Expected return code value. Default value is 0
3667N/A Wildcard 'noCheck' to not check the RC
3667N/A </function-arg-description>
3667N/A <function-arg-property name="type" value="integer"/>
3667N/A </function-arg-def>
3667N/A </function-map-args>
3670N/A
3667N/A <sequence>
3667N/A <message>
3667N/A 'get the current mib values'
3667N/A </message>
3667N/A
3667N/A <call function="'SNMPGet'">
3667N/A {
3667N/A 'location' : location ,
3667N/A 'snmpVersion' : '1',
3667N/A 'snmpHost' : snmpHost ,
3667N/A 'snmpPort' : snmpPort ,
3667N/A 'snmpCommunity' : snmpCommunity ,
3667N/A 'snmpOIDs' : '' ,
3667N/A 'snmpStatus' : 'noError' ,
3667N/A 'snmpWalk' : 'True' ,
3667N/A 'expectedRC' : expectedRC
3667N/A }
3667N/A </call>
3667N/A
3667N/A <script>
3667N/A CURRENT_VALUES = {}
3667N/A CURRENT_VALUES = create_table_fromoutput(STAXResult[0][1])
3667N/A
3671N/A result = compare_snmp_values(DEFAULT_VALUES, CURRENT_VALUES, index)
3667N/A </script>
3667N/A
3667N/A <message>
3667N/A 'result: %s' % result
3667N/A </message>
3667N/A
4238N/A <call function="'searchString'">
3667N/A {
4238N/A 'expectedString' : 'ERROR' ,
4238N/A 'returnString' : result ,
4238N/A 'knownIssue' : knownIssue ,
4238N/A 'expectedRC' : 1
3667N/A }
3667N/A </call>
3667N/A
3667N/A <return>
3667N/A STAXResult
3667N/A </return>
3667N/A
3667N/A </sequence>
3667N/A </function>
3667N/A
3670N/A <!-- Check timer result -->
3670N/A <function name="checkTimerResult" scope="local">
3670N/A <function-prolog>
3670N/A This function compare SNMP Values
3670N/A </function-prolog>
3670N/A <function-map-args>
3670N/A <function-arg-def name="location"
3670N/A type="optional"
3670N/A default="STAF_REMOTE_HOSTNAME">
3670N/A <function-arg-description>
3670N/A Location of target host
3670N/A </function-arg-description>
3670N/A <function-arg-property name="type" value="hostname" />
3670N/A </function-arg-def>
3670N/A <function-arg-def name="outputFile" type="required">
3670N/A <function-arg-description>
3670N/A File containing output
3670N/A </function-arg-description>
3670N/A <function-arg-property name="type" value="string"/>
3670N/A </function-arg-def>
3670N/A <function-arg-def name="timerDuration" type="required">
3670N/A <function-arg-description>
3670N/A Timer duration
3670N/A </function-arg-description>
3670N/A <function-arg-property name="type" value="string"/>
3670N/A </function-arg-def>
3670N/A <function-arg-def name="timerRC" type="required">
3670N/A <function-arg-description>
3670N/A Return code value of the timer
3670N/A </function-arg-description>
3670N/A <function-arg-property name="type" value="integer"/>
3670N/A </function-arg-def>
3951N/A <function-arg-def name="issue" type="optional" default="None">
3951N/A <function-arg-description>
3951N/A Issue id. Corresponds to an issue number.
3951N/A </function-arg-description>
3951N/A </function-arg-def>
3670N/A </function-map-args>
3670N/A
3670N/A <sequence>
3671N/A
3670N/A <if expr="timerRC == 1 or timerRC == 0">
3670N/A <sequence>
3671N/A
3670N/A <if expr="timerRC == 0">
3670N/A <sequence>
3670N/A <tcstatus result="'pass'"></tcstatus>
3671N/A
3670N/A <message>
3670N/A 'Process TrapListener ended before timer duration: %s' \
3670N/A % timerDuration
3670N/A </message>
3671N/A
3670N/A <stafcmd name="'Delete file %s' % outputFile">
3670N/A <location>location</location>
3670N/A <service>'FS'</service>
3670N/A <request>'DELETE ENTRY %s CONFIRM' % outputFile</request>
3670N/A </stafcmd>
3670N/A </sequence>
3670N/A <else>
3670N/A <sequence>
3959N/A <if expr="issue == None">
3959N/A <tcstatus result="'fail'"/>
3959N/A <else>
3959N/A <sequence>
3959N/A <call function="'setKnownIssue'">
3959N/A { 'issueId' : issue }
3959N/A </call>
3959N/A </sequence>
3959N/A </else>
3959N/A </if>
3671N/A
3670N/A <message>
3670N/A 'Process TrapListener still running after timer duration: %s' \
3670N/A % timerDuration
3670N/A </message>
3671N/A
3670N/A <stafcmd name="'Get output from TrapListener'">
3670N/A <location>location</location>
3670N/A <service>'FS'</service>
3670N/A <request>'GET FILE %s' % outputFile</request>
3670N/A </stafcmd>
3671N/A
3670N/A <if expr="RC == 0">
3670N/A <sequence>
3670N/A <log message="1">'Output:%s' % STAFResult</log>
3671N/A
3670N/A <stafcmd name="'Delete file %s' % outputFile">
3670N/A <location>location</location>
3670N/A <service>'FS'</service>
3670N/A <request>'DELETE ENTRY %s CONFIRM' % outputFile</request>
3670N/A </stafcmd>
3670N/A </sequence>
3670N/A <else>
3670N/A <log message="1">
3670N/A 'STAF %s FS GET FILE %s failed with RC=%s Result=%s' % \
3670N/A (location, outputFile, RC, STAFResult)
3670N/A </log>
3670N/A </else>
3670N/A </if>
3671N/A
3670N/A <message>
3670N/A 'Delete event from the trap listener'
3670N/A </message>
3671N/A
3670N/A <call function="'DeleteEvent'">
3670N/A {
3670N/A 'location' : location ,
3670N/A 'name' : 'SNMPTrapListener/Ready'
3670N/A }
3670N/A </call>
3671N/A
3670N/A <message>
3670N/A 'Delete event from the trap listener'
3670N/A </message>
3671N/A
3670N/A <call function="'DeleteEvent'">
3670N/A {
3670N/A 'location' : location ,
3670N/A 'name' : 'SendTrap/Complete'
3670N/A }
3670N/A </call>
3670N/A </sequence>
3670N/A </else>
3670N/A </if>
3670N/A </sequence>
3670N/A <else>
3959N/A <tcstatus result="'fail'"></tcstatus>
3670N/A </else>
3670N/A </if>
3671N/A
3670N/A </sequence>
3670N/A </function>
3671N/A
3606N/A</stax>