2788N/A<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2788N/A<!DOCTYPE stax SYSTEM "/stax.dtd">
2788N/A<!--
2788N/A ! CDDL HEADER START
2788N/A !
2788N/A ! The contents of this file are subject to the terms of the
2788N/A ! Common Development and Distribution License, Version 1.0 only
2788N/A ! (the "License"). You may not use this file except in compliance
2788N/A ! with the License.
2788N/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.
2788N/A ! See the License for the specific language governing permissions
2788N/A ! and limitations under the License.
2788N/A !
2788N/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:
2788N/A ! Portions Copyright [yyyy] [name of copyright owner]
2788N/A !
2788N/A ! CDDL HEADER END
2788N/A !
5061N/A ! Copyright 2007-2010 Sun Microsystems, Inc.
6063N/A ! Portions Copyright 2011-2013 ForgeRock AS.
2788N/A ! -->
2788N/A<stax>
2788N/A
3853N/A <function name="_adminCommonArgs">
3853N/A <function-prolog>
3853N/A This function resolves common admin arguments
3853N/A </function-prolog>
3853N/A <function-no-args/>
3853N/A
3853N/A <script>
3853N/A if dsInstanceHost:
3853N/A STAFCmdParamsList.append('-h %s' % dsInstanceHost)
3853N/A
3853N/A if dsInstanceAdminPort:
3853N/A STAFCmdParamsList.append('-p %s' % dsInstanceAdminPort)
3853N/A STAFCmdParamsList.append('-X')
3853N/A
3853N/A if dsInstanceDn:
3853N/A STAFCmdParamsList.append('-D "%s"' % dsInstanceDn)
3853N/A
3853N/A if dsInstancePswd:
3853N/A STAFCmdParamsList.append('-w "%s"' % dsInstancePswd)
3853N/A
3853N/A </script>
3853N/A
3853N/A </function>
3853N/A
6304N/A <!-- This function upgrades DS using the upgrade script -->
6304N/A <function name="UpgradeDsWithScript" scope="local">
6304N/A <function-prolog>
6304N/A This function upgrades DS using the upgrade script
6304N/A </function-prolog>
6304N/A <function-map-args>
6304N/A <function-arg-def name="location"
6304N/A type="optional"
6304N/A default="STAF_REMOTE_HOSTNAME">
6304N/A <function-arg-description>
6304N/A Location of target host
6304N/A </function-arg-description>
6304N/A <function-arg-property name="type" value="hostname"/>
6304N/A </function-arg-def>
6304N/A <function-arg-def name="dsPath"
6304N/A type="optional"
6304N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
6304N/A <function-arg-description>
6304N/A Pathname to installation root
6304N/A </function-arg-description>
6304N/A <function-arg-property name="type" value="filepath"/>
6304N/A </function-arg-def>
6304N/A <function-arg-def name="dsHelp" type="optional">
6304N/A <function-arg-description>
6304N/A Help option
6304N/A </function-arg-description>
6304N/A <function-arg-property name="help" value="option"/>
6304N/A </function-arg-def>
6304N/A <function-arg-def name="expectedRC" type="optional" default="0">
6304N/A <function-arg-description>
6304N/A Expected return code value. Default value is 0.
6304N/A Wildcard 'noCheck' to not check the RC
6304N/A </function-arg-description>
6304N/A </function-arg-def>
6304N/A <function-arg-def name="knownIssue" type="optional" default="None">
6304N/A <function-arg-description>
6304N/A Known issue. Corresponds to an issue number.
6304N/A </function-arg-description>
6304N/A </function-arg-def>
6304N/A </function-map-args>
6304N/A
6304N/A <sequence>
6304N/A
6304N/A <!-- Build the Command -->
6304N/A <script>
6304N/A STAFCmdParamsList=[]
6304N/A STAFCmdParams=''
6387N/A </script>
6387N/A
6387N/A <!-- Check if 'Legal/license_to_accept.txt' exists -->
6387N/A <call function="'GetEntry'">
6387N/A {
6387N/A 'location' : location ,
6387N/A 'entry' : '%s/Legal/license_to_accept.txt' % dsPath ,
6387N/A 'attribute' : 'TYPE'
6387N/A }
6387N/A </call>
6387N/A <if expr="RC != 48">
6387N/A <!-- 'Legal/license_to_accept.txt' exists so add 'acceptLicense' option -->
6387N/A <script>
6387N/A STAFCmdParamsList.append('--acceptLicense')
6387N/A </script>
6387N/A </if>
6387N/A
6387N/A <if expr="UPGRADE_OPENDJNAME == 'OpenDJ-2.5.0-Xpress1'">
6387N/A <!-- Upgrade from 'OpenDJ-2.5.0-Xpress1' so add 'force' option -->
6387N/A <script>
6387N/A STAFCmdParamsList.append('--force')
6387N/A </script>
6387N/A </if>
6387N/A
6387N/A <script>
6304N/A if dsPath:
6387N/A STAFCmd='%s/upgrade%s' % (dsPath,fileExt)
6304N/A STAFCmdParamsList.append('-n')
6387N/A
6304N/A if dsHelp:
6304N/A STAFCmdParamsList.append('-H')
6304N/A
6304N/A STAFCmdParams=' '.join(STAFCmdParamsList)
6304N/A </script>
6304N/A
6304N/A <message>
6304N/A '%s %s' % (STAFCmd, STAFCmdParams)
6304N/A </message>
6304N/A <call function="'runCommand'">
6304N/A { 'location' : location,
6304N/A 'name' : 'Upgrade DS Script',
6304N/A 'command' : STAFCmd,
6304N/A 'arguments' : STAFCmdParams,
6304N/A 'path' : dsPath,
6304N/A 'expectedRC': expectedRC,
6304N/A 'knownIssue': knownIssue
6304N/A }
6304N/A </call>
6304N/A </sequence>
6304N/A </function>
6304N/A
2788N/A <!-- This function sets up DS using the setup script -->
4618N/A <function name="SetUpDsWithScript" scope="local">
2788N/A <function-prolog>
2788N/A This function sets up a Directory Server using a script
4865N/A </function-prolog>
2788N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
5764N/A <function-arg-def name="dsHost"
5764N/A type="optional"
5764N/A default="STAF_REMOTE_HOSTNAME">
5764N/A <function-arg-description>
5764N/A Hostname of target host
5764N/A </function-arg-description>
5764N/A <function-arg-property name="type" value="hostname"/>
5764N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filepath"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsPort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="Port number"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsAdminPort"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_ADMIN_PORT">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
3853N/A </function-arg-description>
3853N/A <function-arg-property name="type" value="Port number"/>
3853N/A </function-arg-def>
5551N/A <function-arg-def name="dsSslPort" type="optional">
5551N/A <function-arg-description>
5551N/A Directory server SSL port number
5551N/A </function-arg-description>
5551N/A <function-arg-property name="type" value="Port number"/>
5551N/A </function-arg-def>
2788N/A <function-arg-def name="dsJmxPort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server JMX port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="Port number"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBaseDN" type="optional">
2788N/A <function-arg-description>
2788N/A Base DN (only single base DN supported).
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="DN"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindDN" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPwd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPwdFile" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsEnableWindowsService" type="optional">
2788N/A <function-arg-description>
2788N/A Enable as a Windows Service
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsDoNotStart" type="optional">
2788N/A <function-arg-description>
2788N/A Do not start server after setup
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsHelp" type="optional">
2788N/A <function-arg-description>
2788N/A Help option
2788N/A </function-arg-description>
2788N/A <function-arg-property name="help" value="option"/>
3194N/A </function-arg-def>
4618N/A <function-arg-def name="expectedRC" type="optional" default="0">
4618N/A <function-arg-description>
4618N/A Expected return code value. Default value is 0.
4618N/A Wildcard 'noCheck' to not check the RC
4618N/A </function-arg-description>
4618N/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>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Build the Command -->
6387N/A
6387N/A <!-- Get the information about the server -->
6387N/A <call function="'GetVar'">
6397N/A { 'location' : dsHost,
6387N/A 'type' : 'shared',
6387N/A 'variable' : 'Job%s_ServerInfo' % STAXParentID
6387N/A }
6387N/A </call>
6387N/A
6387N/A <if expr="RC != 0">
6387N/A <script>
6387N/A STAFResult='{}'
6387N/A </script>
6387N/A </if>
6387N/A
2788N/A <script>
6387N/A jobInfo=eval(STAFResult)
6397N/A instPath = '%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)
6397N/A if jobInfo.has_key(instPath):
6397N/A serverInformation=jobInfo[instPath]
6387N/A dsVersion=serverInformation['server version']
6397N/A else:
6397N/A dsVersion='unknown'
6397N/A
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
6387N/A </script>
6387N/A
6387N/A <!-- Check if 'Legal/license_to_accept.txt' exists -->
6387N/A <call function="'GetEntry'">
6387N/A {
6387N/A 'location' : location ,
6387N/A 'entry' : '%s/Legal/license_to_accept.txt' % dsPath ,
6387N/A 'attribute' : 'TYPE'
6387N/A }
6387N/A </call>
6391N/A <if expr="RC != 48">
6391N/A <!-- 'Legal/license_to_accept.txt' exists -->
6391N/A <if expr="UPGRADE_OPENDJNAME != ''">
6391N/A <!-- UPGRADE MODE -->
6391N/A <if expr="UPGRADE_OPENDJNAME >= 'OpenDJ-2.5.0' and UPGRADE_OPENDJNAME != 'OpenDJ-2.5.0-Xpress1'">
6391N/A <!--Upgrade from a version >= '2.5.0' so add 'acceptLicense' option -->
6391N/A <script>
6391N/A STAFCmdParamsList.append('--acceptLicense')
6391N/A </script>
6391N/A </if>
6391N/A <else>
6391N/A <!-- STANDARD MODE -->
6391N/A <if expr="dsVersion >= '2.5.0' and dsVersion != '2.5.0-Xpress1'">
6391N/A <!-- Install a fresh version >= '2.5.0' so add 'acceptLicense' option -->
6391N/A <script>
6391N/A STAFCmdParamsList.append('--acceptLicense')
6391N/A </script>
6391N/A </if>
6391N/A </else>
6391N/A </if>
6387N/A </if>
6387N/A
6387N/A <script>
2788N/A if dsPath:
2788N/A STAFCmd='%s/setup%s' % (dsPath,fileExt)
6387N/A STAFCmdParamsList.append('--cli')
2788N/A STAFCmdParamsList.append('-n')
5764N/A
5764N/A if dsHost:
5764N/A STAFCmdParamsList.append('-h %s' % dsHost)
2788N/A
2788N/A if dsPort:
2788N/A STAFCmdParamsList.append('-p %s' % dsPort)
3853N/A
3853N/A if dsAdminPort:
3853N/A STAFCmdParamsList.append('--adminConnectorPort %s' % dsAdminPort)
3853N/A
5551N/A if dsSslPort:
5551N/A STAFCmdParamsList.append('-Z %s' % dsSslPort)
5551N/A STAFCmdParamsList.append('--generateSelfSignedCertificate')
5551N/A
2788N/A if dsJmxPort:
2788N/A STAFCmdParamsList.append('-x %s' % dsJmxPort)
2788N/A
2788N/A if dsBaseDN:
2788N/A STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
2788N/A
2788N/A if dsBindDN:
2788N/A STAFCmdParamsList.append('-D "%s"' % dsBindDN)
2788N/A
2788N/A if dsBindPwd:
2788N/A STAFCmdParamsList.append('-w "%s"' % dsBindPwd)
2788N/A
2788N/A if dsBindPwdFile:
2788N/A STAFCmdParamsList.append('-j "%s"' % dsBindPwdFile)
2788N/A
2788N/A if dsEnableWindowsService:
2788N/A STAFCmdParamsList.append('-e')
2788N/A
2788N/A if dsDoNotStart:
2788N/A STAFCmdParamsList.append('-O')
2788N/A
2788N/A if dsHelp:
2788N/A STAFCmdParamsList.append('-H')
4865N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A <call function="'runCommand'">
2788N/A { 'location' : location,
2788N/A 'name' : 'Setup DS Script',
2788N/A 'command' : STAFCmd,
2788N/A 'arguments' : STAFCmdParams,
3194N/A 'path' : dsPath,
4618N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
2788N/A }
2788N/A </call>
2788N/A </sequence>
2788N/A </function>
2788N/A
6103N/A <!-- This function uninstall DS using the uninstall script -->
6103N/A <function name="UninstallDsWithScript" scope="local">
6103N/A <function-prolog>
6103N/A This function sets up a Directory Server using a script
6103N/A </function-prolog>
6103N/A <function-map-args>
6103N/A <function-arg-def name="location"
6103N/A type="optional"
6103N/A default="STAF_REMOTE_HOSTNAME">
6103N/A <function-arg-description>
6103N/A Location of target host
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="hostname"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsHost"
6103N/A type="optional"
6103N/A default="STAF_REMOTE_HOSTNAME">
6103N/A <function-arg-description>
6103N/A Hostname of target host
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="hostname"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsPath"
6103N/A type="optional"
6103N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
6103N/A <function-arg-description>
6103N/A Pathname to installation root
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="filepath"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsPort" type="optional">
6103N/A <function-arg-description>
6103N/A Directory server port number
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="Port number"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsAdminPort"
6103N/A type="optional"
6103N/A default="DIRECTORY_INSTANCE_ADMIN_PORT">
6103N/A <function-arg-description>
6103N/A Directory server admin port number
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="Port number"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsSslPort" type="optional">
6103N/A <function-arg-description>
6103N/A Directory server SSL port number
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="Port number"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsJmxPort" type="optional">
6103N/A <function-arg-description>
6103N/A Directory server JMX port number
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="Port number"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsBaseDN" type="optional">
6103N/A <function-arg-description>
6103N/A Base DN (only single base DN supported).
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="DN"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsBindDN" type="optional">
6103N/A <function-arg-description>
6103N/A Bind DN
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="DN"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsBindPwd" type="optional">
6103N/A <function-arg-description>
6103N/A Bind password
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="string"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsBindPwdFile" type="optional">
6103N/A <function-arg-description>
6103N/A Bind password file
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="filename"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsEnableWindowsService" type="optional">
6103N/A <function-arg-description>
6103N/A Enable as a Windows Service
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="boolean"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsDoNotStart" type="optional">
6103N/A <function-arg-description>
6103N/A Do not start server after setup
6103N/A </function-arg-description>
6103N/A <function-arg-property name="type" value="boolean"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="dsHelp" type="optional">
6103N/A <function-arg-description>
6103N/A Help option
6103N/A </function-arg-description>
6103N/A <function-arg-property name="help" value="option"/>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="expectedRC" type="optional" default="0">
6103N/A <function-arg-description>
6103N/A Expected return code value. Default value is 0.
6103N/A Wildcard 'noCheck' to not check the RC
6103N/A </function-arg-description>
6103N/A </function-arg-def>
6103N/A <function-arg-def name="knownIssue" type="optional" default="None">
6103N/A <function-arg-description>
6103N/A Known issue. Corresponds to an issue number.
6103N/A </function-arg-description>
6103N/A </function-arg-def>
6103N/A </function-map-args>
6103N/A
6103N/A <sequence>
6103N/A
6103N/A <!-- Build the Command -->
6103N/A <script>
6103N/A STAFCmdParamsList=[]
6103N/A STAFCmdParams=''
6103N/A
6103N/A if dsPath:
6103N/A STAFCmd='%s/uninstall%s' % (dsPath,fileExt)
6103N/A STAFCmdParamsList.append('--cli')
6103N/A STAFCmdParamsList.append('--remove-all')
6103N/A STAFCmdParamsList.append('-n')
6103N/A
6103N/A if dsHost:
6103N/A STAFCmdParamsList.append('-h %s' % dsHost)
6103N/A
6103N/A if dsBindDN:
6103N/A STAFCmdParamsList.append('-I "%s"' % dsBindDN)
6103N/A
6103N/A if dsBindPwd:
6103N/A STAFCmdParamsList.append('-w "%s"' % dsBindPwd)
6103N/A
6103N/A if dsBindPwdFile:
6103N/A STAFCmdParamsList.append('-j "%s"' % dsBindPwdFile)
6103N/A
6103N/A if dsHelp:
6103N/A STAFCmdParamsList.append('-H')
6103N/A
6103N/A STAFCmdParams=' '.join(STAFCmdParamsList)
6103N/A </script>
6103N/A
6103N/A <message>
6103N/A '%s %s' % (STAFCmd, STAFCmdParams)
6103N/A </message>
6103N/A <call function="'runCommand'">
6103N/A { 'location' : location,
6103N/A 'name' : 'Setup DS Script',
6103N/A 'command' : STAFCmd,
6103N/A 'arguments' : STAFCmdParams,
6103N/A 'path' : dsPath,
6103N/A 'expectedRC': expectedRC,
6103N/A 'knownIssue': knownIssue
6103N/A }
6103N/A </call>
6103N/A </sequence>
6103N/A </function>
6103N/A
2788N/A <!-- This function starts DS using the start-ds script -->
2788N/A <function name="StartDsWithScript">
2788N/A <function-prolog>
2788N/A This function starts a Directory Server
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsVersion" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server version
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsSystemInfo" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server system info
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsNoDetach" type="optional">
2788N/A <function-arg-description>
2788N/A Do not detach directory server from process
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsHelp" type="optional">
2788N/A <function-arg-description>
2788N/A Help option
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBuildInfo" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server build information
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
3194N/A </function-arg-def>
6984N/A <function-arg-def name="dsDebugPort" type="optional" default="DEBUG_PORT">
6984N/A <function-arg-description>
6984N/A Directory Server debug port
6984N/A </function-arg-description>
6984N/A <function-arg-property name="type" value="Port number"/>
6984N/A </function-arg-def>
3194N/A <function-arg-def name="expectedRC" type="optional" default="0">
3194N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
3194N/A </function-arg-description>
3194N/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>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Build the Command -->
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/start-ds%s' % (dsBinPath,fileExt)
2788N/A
2788N/A if dsVersion:
2788N/A STAFCmdParamsList.append('-V')
2788N/A
2788N/A if dsSystemInfo:
2788N/A STAFCmdParamsList.append('-s')
2788N/A
2788N/A if dsNoDetach:
2788N/A STAFCmdParamsList.append('-N')
2788N/A
2788N/A if dsHelp:
2788N/A STAFCmdParamsList.append('-H')
2788N/A
2788N/A if dsBuildInfo:
2788N/A STAFCmdParamsList.append('-F')
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
5073N/A
5073N/A <!-- Check if 'emma.jar' exists -->
5073N/A <call function="'GetEntry'">
5073N/A {
5073N/A 'location' : STAF_REMOTE_HOSTNAME ,
5073N/A 'entry' : '%s/lib/emma.jar' % dsPath ,
5073N/A 'attribute' : 'TYPE'
5073N/A }
5073N/A </call>
5073N/A <if expr="RC != 48 and CurrentTestPath.has_key('group')">
5073N/A <!-- 'emma.jar' exists so we can configure the coverage dump file -->
5073N/A <sequence>
5073N/A <script>
5073N/A resultsCoveragePath = os.path.join(LOGS_ROOT,'coverage')
5073N/A resultsPath = os.path.join(resultsCoveragePath,CurrentTestPath['group'])
5073N/A remoteCoveragePath = os.path.join(remote.temp,'coverage')
5073N/A ecPath = os.path.join(remoteCoveragePath,CurrentTestPath['group'])
5073N/A </script>
5073N/A
5073N/A <call function="'createFolder'">
5116N/A { 'location' : STAXServiceMachine,
5073N/A 'foldername' : resultsCoveragePath
5073N/A }
5073N/A </call>
5073N/A <call function="'createFolder'">
5073N/A { 'location' : STAF_REMOTE_HOSTNAME,
5073N/A 'foldername' : remoteCoveragePath
5073N/A }
5073N/A </call>
5073N/A <call function="'createFolder'">
5073N/A { 'location' : STAF_REMOTE_HOSTNAME,
5073N/A 'foldername' : ecPath
5073N/A }
5073N/A </call>
5073N/A
5073N/A <call function="'listFolderByExtension'" >
5073N/A {
5073N/A 'location' : STAF_REMOTE_HOSTNAME,
5073N/A 'foldername' : ecPath,
5073N/A 'extension' : 'ec'
5073N/A }
5073N/A </call>
5073N/A
5073N/A <script>
5073N/A existingECs=STAXResult
5073N/A newCoverageEC=os.path.join(ecPath,'coverage%s.ec' % len(existingECs))
5073N/A
5073N/A coveragefh = open( '%s/emma.properties.%s' % (local.temp,len(existingECs)), 'w' )
5073N/A coveragefh.write( 'coverage.out.file=%s\n' % newCoverageEC )
5073N/A coveragefh.write( 'verbosity.level=silent\n')
5073N/A coveragefh.write( 'coverage.out.merge=true\n')
5073N/A coveragefh.close()
5073N/A </script>
5073N/A
5073N/A <call function="'copyFile'">
5073N/A { 'srcfile' : '%s/emma.properties.%s' % (local.temp,len(existingECs)),
5073N/A 'destfile' : '%s/classes/emma.properties' % dsPath,
5073N/A 'remotehost' : STAF_REMOTE_HOSTNAME }
5073N/A </call>
5073N/A
5073N/A <call function="'copyFile'">
5073N/A { 'location' : STAF_REMOTE_HOSTNAME,
5073N/A 'srcfile' : '%s/coverage.em' % dsPath,
5073N/A 'destfile' : '%s/coverage.em' % remoteCoveragePath,
5073N/A 'remotehost' : STAF_REMOTE_HOSTNAME }
5073N/A </call>
5073N/A
5073N/A <call function="'copyFile'">
5073N/A { 'location' : STAF_REMOTE_HOSTNAME,
5073N/A 'srcfile' : '%s/coverage.em' % dsPath,
5073N/A 'destfile' : '%s/coverage.em' % resultsCoveragePath,
5073N/A 'remotehost' : STAF_REMOTE_HOSTNAME }
5073N/A </call>
5073N/A </sequence>
5073N/A </if>
5073N/A
6984N/A <message>'DEBUG PORT: %s' % dsDebugPort</message>
6984N/A
6984N/A <script>
6984N/A if dsDebugPort != '' and STAFCmdParams == '':
6987N/A envCmd = [ 'OPENDJ_JAVA_ARGS=-agentlib:jdwp=transport=dt_socket,address=%s,server=y,suspend=n' % dsDebugPort ]
6984N/A else:
6984N/A envCmd = []
6984N/A </script>
5073N/A
2788N/A <call function="'runCommand'">
2788N/A { 'location' : location,
2788N/A 'command' : STAFCmd,
2788N/A 'arguments' : STAFCmdParams,
3194N/A 'location' : location,
3951N/A 'expectedRC': expectedRC,
6984N/A 'knownIssue': knownIssue,
6984N/A 'envCmd' : envCmd
2788N/A }
2788N/A </call>
3194N/A <return>STAXResult</return>
2788N/A
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <!-- This function stops DS using the stop-ds script -->
2788N/A <function name="StopDsWithScript">
2788N/A <function-prolog>
2788N/A This function starts a Directory Server using the script
4865N/A </function-prolog>
4865N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server hostname or IP address
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsAdminPort" type="optional">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsUseSSL" type="optional">
2788N/A <function-arg-description>
2788N/A Use SSL for secure communication with the server
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsUseStartTLS" type="optional">
2788N/A <function-arg-description>
2788N/A Use StartTLS for secure communication with the server
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindDN" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="DN"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPwd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPwdFile" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filepath"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsSaslOption" type="optional">
2788N/A <function-arg-description>
2788N/A SASL bind options
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsProxyAuthZID" type="optional">
2788N/A <function-arg-description>
2788N/A Use the proxied authorization control with the given authorization ID
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsStopReason" type="optional">
2788N/A <function-arg-description>
2788N/A Reason the server is being stopped or restarted
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsRestart" type="optional">
2788N/A <function-arg-description>
2788N/A Attempt to automatically restart the server once it has stopped
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsStopTime" type="optional">
2788N/A <function-arg-description>
2788N/A Time to begin the shutdown in YYYYMMDDhhmmss format (local time)
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="timestamp"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsTrustAll" type="optional">
2788N/A <function-arg-description>
2788N/A Trust all server SSL certificates
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsKeyStoreFile" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate keystore path
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsKeyStorePwd" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate keystore PIN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsKeyStorePwdFile" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate keystore PIN file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsTrustStoreFile" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate trust store path
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsTrustStorePwd" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate trust store PIN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsTrustStorePwdFile" type="optional">
2788N/A <function-arg-description>
2788N/A Certificate trust store PIN file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsHelp" type="optional">
2788N/A <function-arg-description>
2788N/A Help option
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="noOfLoops"
4865N/A type="optional"
4865N/A default="10">
4865N/A <function-arg-description>
4865N/A Number of iterations (for isStopped())
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="noOfMilliSeconds"
4865N/A type="optional"
4865N/A default="2000">
4865N/A <function-arg-description>
4865N/A Number of seconds to wait between iterations (for isStopped())
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="seconds"/>
4865N/A </function-arg-def>
3194N/A <function-arg-def name="expectedRC" type="optional" default="0">
3194N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
3194N/A </function-arg-description>
3194N/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>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Build the Command -->
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/stop-ds%s' % (dsBinPath,fileExt)
2788N/A
2788N/A if dsHost:
2788N/A STAFCmdParamsList.append('-h %s' % dsHost)
2788N/A
3853N/A if dsAdminPort:
3853N/A STAFCmdParamsList.append('-p %s' % dsAdminPort)
3853N/A STAFCmdParamsList.append('-X')
3853N/A
2788N/A if dsUseSSL:
2788N/A STAFCmdParamsList.append('-Z')
2788N/A
2788N/A if dsUseStartTLS:
2788N/A STAFCmdParamsList.append('-q')
2788N/A
2788N/A if dsBindDN:
2788N/A STAFCmdParamsList.append('-D "%s"' % dsBindDN)
2788N/A
2788N/A if dsBindPwd:
2788N/A STAFCmdParamsList.append('-w "%s"' % dsBindPwd)
2788N/A
2788N/A if dsBindPwdFile:
2788N/A STAFCmdParamsList.append('-j "%s"' % dsBindPwdFile)
2788N/A
2788N/A if dsSaslOption:
2788N/A STAFCmdParamsList.append('-o "%s"' % dsSaslOption)
2788N/A
2788N/A if dsProxyAuthZID:
2788N/A STAFCmdParamsList.append('-Y "%s"' % dsProxyAuthZID)
2788N/A
2788N/A if dsStopReason:
2788N/A STAFCmdParamsList.append('-r "%s"' % dsStopReason)
2788N/A
2788N/A if dsRestart:
2788N/A STAFCmdParamsList.append('-R')
2788N/A
2788N/A if dsStopTime:
2788N/A STAFCmdParamsList.append('-t "%s"' % dsStopTime)
2788N/A
2788N/A if dsKeyStoreFile:
2788N/A STAFCmdParamsList.append('-K "%s"' % dsKeyStoreFile)
2788N/A
2788N/A if dsKeyStorePwd:
2788N/A STAFCmdParamsList.append('-W "%s"' % dsKeyStorePwd)
2788N/A
2788N/A if dsKeyStorePwdFile:
2788N/A STAFCmdParamsList.append('-u "%s"' % dsKeyStorePwdFile)
2788N/A
2788N/A if dsTrustStoreFile:
2788N/A STAFCmdParamsList.append('-P "%s"' % dsTrustStoreFile)
2788N/A
2788N/A if dsTrustStorePwd:
2788N/A STAFCmdParamsList.append('-T "%s"' % dsTrustStorePwd)
2788N/A
2788N/A if dsTrustStorePwdFile:
2788N/A STAFCmdParamsList.append('-U "%s"' % dsTrustStorePwdFile)
2788N/A
2788N/A if dsHelp:
2788N/A STAFCmdParamsList.append('-H')
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
5815N/A
5815N/A from java.util import Date
5815N/A stop_current_time = Date()
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A
2788N/A <call function="'runCommand'">
2788N/A { 'location' : location,
2788N/A 'name' : 'Stop DS Script',
2788N/A 'command' : STAFCmd,
3194N/A 'arguments' : STAFCmdParams,
3951N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
2788N/A }
2788N/A </call>
6103N/A <script>
6103N/A savSTAXResult = STAXResult
6103N/A </script>
6103N/A
6103N/A <if expr="dsRestart == None and (expectedRC == 0 or expectedRC == 'noCheck')">
4865N/A <!--- Check that DS stopped -->
5061N/A <if expr="IPS_PKG == True">
5061N/A <call function="'isStopped'">
5061N/A { 'location' : location,
5061N/A 'dsPath' : '%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
5061N/A 'noOfLoops' : noOfLoops,
5061N/A 'noOfMilliSeconds' : 6000
5061N/A }
5061N/A </call>
5061N/A <else>
5061N/A <call function="'isStopped'">
5061N/A { 'location' : location,
5061N/A 'dsPath' : dsPath,
5061N/A 'noOfLoops' : noOfLoops,
5061N/A 'noOfMilliSeconds' : noOfMilliSeconds
5061N/A }
5061N/A </call>
5061N/A </else>
5061N/A </if>
4865N/A </if>
5815N/A
5815N/A <!-- Get Errors log -->
5815N/A <message>
5815N/A 'Getting tail of error log on %s/logs/errors' % dsPath
5815N/A </message>
5815N/A <call function="'getFile'">
5815N/A { 'location' : location,
5815N/A 'filename' : '%s/logs/errors' % dsPath
5815N/A }
5815N/A </call>
5815N/A <script>
5816N/A tail_logfile(STAXResult,stop_current_time)
5815N/A </script>
6103N/A
6103N/A <return>
6103N/A savSTAXResult
6103N/A </return>
2788N/A </sequence>
2788N/A </function>
2788N/A
5073N/A <!-- Import-ldif Function -->
5912N/A <function name="ImportLdifWithScript" scope="local">
2788N/A <function-prolog>
5073N/A This function performs an import of an ldif file
2788N/A </function-prolog>
2788N/A <function-map-args>
5073N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="dsInstanceAdminPort" type="optional">
5073N/A <function-arg-description>
5073N/A Directory server admin port number
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="integer"/>
5073N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="ldifFile" type="optional">
2788N/A <function-arg-description>
2788N/A The name of the ldif file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="backEnd"
5073N/A type="optional"
5073N/A default="DIRECTORY_INSTANCE_BE">
2788N/A <function-arg-description>
2788N/A Optional the name of the database backend
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="wrapColumn" type="optional">
5073N/A <function-arg-description>
5073N/A Column at which to wrap long lines
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="integer"/>
5073N/A </function-arg-def>
5184N/A <function-arg-def name="startTask" type="optional">
5073N/A <function-arg-description>
5073N/A Optional exclude attributes
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="string"/>
5073N/A </function-arg-def>
5073N/A <function-arg-def name="isCompressed" type="optional">
5073N/A <function-arg-description>
5073N/A Optional exported ldif data file compressed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="isEncrypted" type="optional">
5073N/A <function-arg-description>
5073N/A Optional exported ldif data file encrypted
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="boolean"/>
5073N/A </function-arg-def>
5073N/A <function-arg-def name="append" type="optional">
5073N/A <function-arg-description>
5073N/A Optional append exported ldif data
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="skipSchemaValidation" type="optional">
5073N/A <function-arg-description>
5073N/A Optional do not perform any schema validation
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="boolean"/>
5073N/A </function-arg-def>
5073N/A <function-arg-def name="templateFile" type="optional">
5073N/A <function-arg-description>
5073N/A Optional path to a MakeLDIF template to generate the import data.
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="boolean"/>
5073N/A </function-arg-def>
5073N/A <function-arg-def name="skipFile" type="optional">
5073N/A <function-arg-description>
5073N/A Optional identify entries that were skipped during the import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="overwriteFile" type="optional">
5073N/A <function-arg-description>
5073N/A Optional overwrite the specified skip file or reject file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="replaceExisting" type="optional">
5073N/A <function-arg-description>
5073N/A Optional replace existing data with the content from the import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="rejectFile" type="optional">
5073N/A <function-arg-description>
5073N/A Optional file to hold any rejected entries during the import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="excludeBranches" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude branches
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="includeBranches" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional include branches
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="excludeAttributes" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude attributes
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="includeAttributes" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional include attributes
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="excludeFilters" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude filters
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="includeFilters" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude filters
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
5073N/A <function-arg-def name="isSignedHash" type="optional" default="'False'">
5073N/A <function-arg-description>
5073N/A Optional generate a signed hash of the export data
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="boolean"/>
5073N/A </function-arg-def>
5073N/A <function-arg-def name="extraParams" type="optional" default="''">
5073N/A <function-arg-description>
5073N/A Optional extra parameters for specific test cases
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="string"/>
5073N/A </function-arg-def>
2788N/A <function-arg-def name="numLdapCheckTries" type="optional" default="10">
2788N/A <function-arg-description>
2788N/A Number of ldap check tries when checking if task is complete
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="sleepBetweenLdapCheckTries" type="optional" default="2000">
2788N/A <function-arg-description>
2788N/A Sleep time in milliseconds between ldap check tries
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
3289N/A <function-arg-def name="expectedRC" type="optional" default="0">
3289N/A <function-arg-description>
3289N/A Expected return code value. Default value is 0
3289N/A Wildcard 'noCheck' to not check the RC
3289N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/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>
4865N/A </function-arg-def>
5073N/A <function-arg-def name="schedulePattern" type="optional">
5073N/A <function-arg-description>
5073N/A Indicates the task is recurring and will be scheduled
5073N/A according to the value argument expressed in crontab(5)
5073N/A compatible time/date pattern
5073N/A </function-arg-description>
5073N/A <function-arg-property name="type" value="string"/>
5073N/A </function-arg-def>
5073N/A
2788N/A </function-map-args>
5073N/A
2788N/A <sequence>
5073N/A
2788N/A <!-- Local variables -->
2788N/A <script>
5073N/A STAFCmdParamsList=[]
5073N/A STAFCmdParams=''
2788N/A </script>
2788N/A
5073N/A <!-- Set common ldap arguments -->
5073N/A <call function="'_adminCommonArgs'" />
5073N/A
2788N/A <script>
5912N/A foldersToCreate = []
5912N/A
5073N/A if dsPath:
5073N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
5073N/A STAFCmd='%s/import-ldif%s' % (dsBinPath,fileExt)
5073N/A
5073N/A if dsInstancePort:
5073N/A STAFCmdParamsList.append('-p %s' % dsInstancePort)
5073N/A
5073N/A if ldifFile:
5073N/A STAFCmdParamsList.append('-l %s' % ldifFile)
5073N/A
5073N/A if startTask:
5073N/A STAFCmdParamsList.append('-t %s' % startTask)
5073N/A
5073N/A if append:
5073N/A STAFCmdParamsList.append('-a')
5073N/A
5073N/A if backEnd:
5073N/A STAFCmdParamsList.append('-n %s' % backEnd)
5073N/A
5073N/A if skipSchemaValidation:
5073N/A STAFCmdParamsList.append('-S')
5073N/A
5073N/A if skipFile:
5912N/A foldersToCreate.append(os.path.dirname(skipFile))
5073N/A STAFCmdParamsList.append('--skipFile %s' % skipFile)
5073N/A
5073N/A if rejectFile:
5912N/A foldersToCreate.append(os.path.dirname(rejectFile))
5073N/A STAFCmdParamsList.append('-R %s' % rejectFile)
5073N/A
5073N/A if overwriteFile:
5073N/A STAFCmdParamsList.append('-O')
5073N/A
5073N/A if templateFile:
5073N/A STAFCmdParamsList.append('-A %s' % templateFile)
5073N/A
5073N/A if replaceExisting:
5073N/A STAFCmdParamsList.append('-r')
5073N/A
5073N/A if schedulePattern:
5073N/A STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
5073N/A
5073N/A if isCompressed:
5073N/A STAFCmdParamsList.append('-c')
5073N/A
5073N/A if isEncrypted:
5073N/A STAFCmdParamsList.append('-y')
5073N/A
5073N/A if wrapColumn:
5073N/A STAFCmdParamsList.append('--wrapColumn %s' % wrapColumn)
5073N/A
5073N/A if excludeBranches:
5073N/A for branch in excludeBranches:
5073N/A STAFCmdParamsList.append('-B "%s"' % branch )
5073N/A
5073N/A if includeBranches:
5073N/A for branch in includeBranches:
5073N/A STAFCmdParamsList.append('-b "%s"' % branch )
5073N/A
5073N/A if excludeAttributes:
5073N/A for attribute in excludeAttributes:
5073N/A STAFCmdParamsList.append('-e "%s"' % attribute)
5073N/A
5073N/A if includeAttributes:
5073N/A for attribute in includeAttributes:
5073N/A STAFCmdParamsList.append('-i "%s"' % attribute)
5073N/A
5073N/A if includeFilters:
5073N/A for attribute in includeFilters:
5073N/A STAFCmdParamsList.append('-I "%s"' % attribute)
5073N/A
5073N/A if excludeFilters:
5073N/A for attribute in excludeFilters:
5073N/A STAFCmdParamsList.append('-E "%s"' % attribute )
5073N/A
5073N/A if extraParams:
5073N/A STAFCmdParamsList.append('%s' % extraParams)
5073N/A
5073N/A STAFCmdParams=' '.join(STAFCmdParamsList)
5073N/A
2788N/A </script>
5073N/A
5912N/A <call function="'createMultiFolders'">
5912N/A { 'location' : location,
5912N/A 'folderslist' : foldersToCreate
5912N/A }
5912N/A </call>
5912N/A
5073N/A <message>
5073N/A '%s %s' % (STAFCmd, STAFCmdParams)
5073N/A </message>
5912N/A
5073N/A <message>
5073N/A 'Start import-ldif'
5073N/A </message>
5073N/A
2788N/A
5073N/A <call function="'runCommand'">
5073N/A { 'location' : location,
5073N/A 'name' : 'Import Script',
5073N/A 'command' : STAFCmd,
5073N/A 'arguments' : STAFCmdParams,
5073N/A 'expectedRC' : expectedRC,
5073N/A 'knownIssue' : knownIssue
5073N/A }
2788N/A </call>
3269N/A
3269N/A <script>
5815N/A savSTAXResult = STAXResult
5073N/A resultString = STAXResult[0][1]
3269N/A </script>
5073N/A
5073N/A <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None">
2788N/A <sequence>
5073N/A <message>
5073N/A 'Check import-ldif task successfully completed'
5073N/A </message>
5073N/A
5073N/A <call function="'checkTaskExecution'">
5073N/A {
5073N/A 'dsPath' : dsPath,
5073N/A 'dsInstanceAdminPort' : dsInstanceAdminPort,
5073N/A 'dsInstanceHost' : dsInstanceHost ,
5073N/A 'dsInstanceDn' : dsInstanceDn ,
5073N/A 'dsInstancePswd' : dsInstancePswd ,
5073N/A 'outputToCheck' : resultString
5073N/A }
3289N/A </call>
2788N/A </sequence>
2788N/A </if>
5073N/A <return>
5073N/A savSTAXResult
5073N/A </return>
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <!-- Check Import Function -->
5476N/A <function name="checkImport" scope="local">
2788N/A <function-prolog>
2788N/A This function verifies an import of an ldif file
2788N/A </function-prolog>
2788N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsHost"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_HOST">
2788N/A <function-arg-description>
2788N/A Directory server hostname or IP address
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="dsPort"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_PORT">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="Port number"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsAdminPort"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_ADMIN_PORT">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
3853N/A </function-arg-description>
3853N/A <function-arg-property name="type" value="Port number"/>
3853N/A </function-arg-def>
3853N/A <function-arg-def name="dsDn"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_DN">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="dsPswd"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_PSWD">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
5476N/A <function-arg-def name="dsBaseDN" type="optional">
5476N/A <function-arg-description>
5476N/A The baseDN for the search operation
5476N/A </function-arg-description>
5476N/A <function-arg-property name="type" value="dn"/>
5476N/A </function-arg-def>
2788N/A <function-arg-def name="expectedEntries" type="required">
2788N/A <function-arg-description>
2788N/A Entries expected to be present after import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="missingEntries"
3853N/A type="optional"
3853N/A default="'NULL'">
2788N/A <function-arg-description>
2788N/A Optional entries expected to be missing after import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="expectedAttributes"
3853N/A type="optional"
3853N/A default="'NULL'">
2788N/A <function-arg-description>
2788N/A Optional attributes expected to be present after import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="missingAttributes"
3853N/A type="optional"
3853N/A default="'NULL'">
2788N/A <function-arg-description>
2788N/A Optional attributes expected to be missing after import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
2788N/A </function-arg-def>
5476N/A <function-arg-def name="expectedNoEntries"
5476N/A type="optional"
5476N/A default="None">
5476N/A <function-arg-description>
5476N/A Optional no of entries expected after import
5476N/A </function-arg-description>
5476N/A <function-arg-property name="type" value="integer"/>
5476N/A </function-arg-def>
3853N/A <function-arg-def name="suffix"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_SFX">
2788N/A <function-arg-description>
2788N/A Optional main suffix for the import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="startDS" type="optional" default="'yes'">
2788N/A <function-arg-description>
2788N/A Optional start the Directory Server after import
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="list"/>
2788N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
2788N/A myhost=dsHost
2788N/A myport=dsPort
3853N/A myadminport=dsAdminPort
2788N/A mydn=dsDn
2788N/A mypswd=dsPswd
5476N/A mybasedn=dsBaseDN
2788N/A </script>
2788N/A
2788N/A <!-- Assume that if DS is not started then there is no need to stop it -->
2788N/A <script>
2788N/A if startDS == 'yes':
2788N/A stopDS='yes'
2788N/A else:
2788N/A stopDS='no'
2788N/A </script>
2788N/A
2788N/A <!-- Do we need to start the DS -->
2788N/A <if expr="startDS == 'yes'">
2788N/A <sequence>
2788N/A <!-- StartDS -->
2788N/A <call function="'StartDsWithScript'">
2788N/A { 'location' : myLocation,
2788N/A 'dsPath' : myPath }
2788N/A </call>
2788N/A
2788N/A <!-- Wait for DS to start -->
2788N/A <call function="'isAlive'">
2788N/A { 'location' : myLocation,
2788N/A 'dsPath' : myPath,
2788N/A 'dsInstanceHost' : myhost ,
2788N/A 'dsInstancePort' : myport ,
2788N/A 'dsInstanceDn' : mydn ,
2788N/A 'dsInstancePswd' : mypswd ,
4153N/A 'noOfLoops' : 10 ,
2788N/A 'noOfMilliSeconds' : 2000 }
2788N/A </call>
2788N/A
2788N/A </sequence>
2788N/A </if>
5476N/A
5476N/A <!-- Count number of expected entries after import -->
5476N/A <if expr="expectedNoEntries != None">
5476N/A
5476N/A <sequence>
5476N/A <message>'Expected number of entries is %s' % expectedNoEntries</message>
5476N/A
5476N/A <call function="'ldapSearchWithScript'">
5540N/A { 'location' : myLocation ,
5540N/A 'dsPath' : myPath,
5540N/A 'dsInstanceHost' : myhost ,
5476N/A 'dsInstancePort' : myport ,
5476N/A 'dsInstanceDn' : mydn ,
5476N/A 'dsInstancePswd' : mypswd ,
5476N/A 'dsBaseDN' : mybasedn ,
5476N/A 'dsFilter' : 'objectclass=*',
5476N/A 'dsAttributes' : 'dn',
5476N/A 'dsCountEntries' : True
5476N/A }
5476N/A </call>
5476N/A
5476N/A <script>
5476N/A returnString = STAXResult[0][1]
5476N/A </script>
5476N/A
5476N/A <call function="'searchString'">
5476N/A { 'expectedString' : 'Total number of matching entries: %s' % expectedNoEntries,
5476N/A 'returnString' : returnString ,
5476N/A 'expectedRC' : expectedRC ,
5476N/A }
5476N/A </call>
5476N/A
5476N/A </sequence>
5476N/A </if>
5476N/A
2788N/A <!-- Search for expected entries -->
2788N/A <iterate var="expectedEntry" in="expectedEntries">
2788N/A <sequence>
5476N/A <call function="'ldapSearchWithScript'">
5540N/A { 'location' : myLocation ,
5540N/A 'dsPath' : myPath,
5540N/A 'dsInstanceHost' : myhost ,
2788N/A 'dsInstancePort' : myport ,
2788N/A 'dsInstanceDn' : mydn ,
2788N/A 'dsInstancePswd' : mypswd ,
2788N/A 'dsBaseDN' : '%s' % expectedEntry ,
4673N/A 'dsScope' : 'base' ,
4673N/A 'dsFilter' : 'objectclass=*',
5476N/A 'dsAttributes' : 'dn'
2788N/A }
2788N/A </call>
2788N/A </sequence>
2788N/A </iterate>
2788N/A
2788N/A <!-- Search for missing entries -->
2788N/A <iterate var="missingEntry" in="missingEntries">
2788N/A <sequence>
2788N/A <if expr="missingEntry == 'NULL'">
2788N/A <break/>
2788N/A </if>
2788N/A <call function="'SearchObject'">
2788N/A { 'location' : myLocation ,
2788N/A 'dsPath' : myPath,
2788N/A 'dsInstanceHost' : myhost ,
2788N/A 'dsInstancePort' : myport ,
2788N/A 'dsInstanceDn' : mydn ,
2788N/A 'dsInstancePswd' : mypswd ,
2788N/A 'dsBaseDN' : '%s' % missingEntry ,
4673N/A 'dsScope' : 'base' ,
2788N/A 'dsFilter' : 'objectclass=*' ,
4673N/A 'attributes' : 'dn' ,
2788N/A 'expectedRC' : 32
2788N/A }
2788N/A </call>
2788N/A </sequence>
2788N/A </iterate>
2788N/A
2788N/A <!-- Do we need to stop the Directory Server -->
2788N/A <if expr="stopDS == 'yes'">
2788N/A <!-- StopDS -->
2788N/A <call function="'StopDsWithScript'">
3853N/A { 'location' : myLocation ,
3853N/A 'dsPath' : myPath,
3853N/A 'dsHost' : myhost ,
3853N/A 'dsAdminPort' : myadminport ,
3853N/A 'dsBindDN' : mydn ,
3853N/A 'dsBindPwd' : mypswd }
4865N/A </call>
2788N/A </if>
2788N/A </sequence>
2788N/A </function>
2788N/A
4865N/A <!-- Export-ldif Function -->
5912N/A <function name="exportLdifWithScript" scope="local">
2788N/A <function-prolog>
2788N/A This function performs an on line export task of an ldif file
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceAdminPort" type="optional">
4865N/A <function-arg-description>
4865N/A Directory server admin port number
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="ldifFile" type="optional">
2788N/A <function-arg-description>
2788N/A The name of the ldif file
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backEnd" type="optional" default="DIRECTORY_INSTANCE_BE">
2788N/A <function-arg-description>
2788N/A Optional the name of the database backend
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="wrapColumn" type="optional">
4865N/A <function-arg-description>
4865N/A Column at which to wrap long lines
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
5184N/A <function-arg-def name="startTask" type="optional">
4865N/A <function-arg-description>
4865N/A Optional exclude attributes
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="isCompressed" type="optional">
2788N/A <function-arg-description>
2788N/A Optional exported ldif data file compressed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="isEncrypted" type="optional">
2788N/A <function-arg-description>
2788N/A Optional exported ldif data file encrypted
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="append" type="optional">
2788N/A <function-arg-description>
2788N/A Optional append exported ldif data
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="excludeBranches" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude branches
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="includeBranches" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional include branches
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="excludeAttributes" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude attributes
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="includeAttributes" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional include attributes
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="excludeFilters" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude filters
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="includeFilters" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional exclude filters
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="option"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="isSignedHash" type="optional" default="'False'">
2788N/A <function-arg-description>
2788N/A Optional generate a signed hash of the export data
2788N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="boolean"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="extraParams" type="optional" default="''">
4865N/A <function-arg-description>
4865N/A Optional extra parameters for specific test cases
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
3406N/A <function-arg-def name="expectedRC" type="optional" default="0">
3406N/A <function-arg-description>
3406N/A Expected return code value. Default value is 0
3406N/A Wildcard 'noCheck' to not check the RC
3406N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="schedulePattern" type="optional">
4865N/A <function-arg-description>
4865N/A Indicates the task is recurring and will be scheduled
4865N/A according to the value argument expressed in crontab(5)
4865N/A compatible time/date pattern
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="string"/>
3406N/A </function-arg-def>
3951N/A
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
4865N/A STAFCmdParamsList=[]
4865N/A STAFCmdParams=''
2788N/A </script>
2788N/A
4865N/A <!-- Set common ldap arguments -->
4865N/A <call function="'_adminCommonArgs'" />
2788N/A
2788N/A <script>
5912N/A foldersToCreate = []
5912N/A
4865N/A if dsPath:
4865N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
4865N/A STAFCmd='%s/export-ldif%s' % (dsBinPath,fileExt)
4865N/A
4865N/A if dsInstancePort:
4865N/A STAFCmdParamsList.append('-p %s' % dsInstancePort)
4865N/A
4865N/A if ldifFile:
5912N/A foldersToCreate.append(os.path.dirname(ldifFile))
4865N/A STAFCmdParamsList.append('-l %s' % ldifFile)
4865N/A
4865N/A if startTask:
4865N/A STAFCmdParamsList.append('-t %s' % startTask)
2788N/A
4865N/A if append:
4865N/A STAFCmdParamsList.append('-a')
4865N/A
4865N/A if backEnd:
4865N/A STAFCmdParamsList.append('-n %s' % backEnd)
2788N/A
4865N/A if schedulePattern:
4865N/A STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
4865N/A
4865N/A if isCompressed:
4865N/A STAFCmdParamsList.append('-c')
4865N/A
4865N/A if isEncrypted:
4865N/A STAFCmdParamsList.append('-y')
2788N/A
4865N/A if wrapColumn:
4865N/A STAFCmdParamsList.append('--wrapColumn %s' % wrapColumn)
4865N/A
4865N/A if excludeBranches:
4865N/A for branch in excludeBranches:
4865N/A STAFCmdParamsList.append('-B "%s"' % branch )
4865N/A
4865N/A if includeBranches:
4865N/A for branch in includeBranches:
4865N/A STAFCmdParamsList.append('-b "%s"' % branch )
4865N/A
4865N/A if excludeAttributes:
4865N/A for attribute in excludeAttributes:
4865N/A STAFCmdParamsList.append('-e "%s"' % attribute)
4865N/A
4865N/A if includeAttributes:
2788N/A for attribute in includeAttributes:
4865N/A STAFCmdParamsList.append('-i "%s"' % attribute)
2788N/A
4865N/A if includeFilters:
4865N/A for filter in includeFilters:
4865N/A STAFCmdParamsList.append('-I "%s"' % filter)
4865N/A
4865N/A if excludeFilters:
2788N/A for filter in excludeFilters:
4865N/A STAFCmdParamsList.append('-E "%s"' % filter)
2788N/A
4865N/A if extraParams:
4865N/A STAFCmdParamsList.append('%s' % extraParams)
4865N/A
4865N/A STAFCmdParams=' '.join(STAFCmdParamsList)
4865N/A
2788N/A </script>
4865N/A
5912N/A <call function="'createMultiFolders'">
5912N/A { 'location' : location,
5912N/A 'folderslist' : foldersToCreate
5912N/A }
5912N/A </call>
5912N/A
4865N/A <message>
4865N/A '%s %s' % (STAFCmd, STAFCmdParams)
4865N/A </message>
5912N/A
4865N/A <message>
5073N/A 'Start export-ldif'
4865N/A </message>
2788N/A
4865N/A
4865N/A <call function="'runCommand'">
4865N/A { 'location' : location,
4865N/A 'name' : 'Export Script',
4865N/A 'command' : STAFCmd,
4865N/A 'arguments' : STAFCmdParams,
4865N/A 'expectedRC' : expectedRC
4865N/A }
2788N/A </call>
3269N/A
3269N/A <script>
4865N/A savSTAXResult=STAXResult
4865N/A
4865N/A resultString = STAXResult[0][1]
3269N/A </script>
4865N/A
4865N/A <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None">
2788N/A <sequence>
4865N/A <message>
5073N/A 'Check export-ldif task successfully completed'
4865N/A </message>
4865N/A
4865N/A <call function="'checkTaskExecution'">
4865N/A {
4865N/A 'dsPath' : dsPath,
4865N/A 'dsInstanceAdminPort' : dsInstanceAdminPort,
4865N/A 'dsInstanceHost' : dsInstanceHost ,
4865N/A 'dsInstanceDn' : dsInstanceDn ,
4865N/A 'dsInstancePswd' : dsInstancePswd ,
4865N/A 'outputToCheck' : resultString
4865N/A }
4865N/A </call>
2788N/A </sequence>
2788N/A </if>
4865N/A
4865N/A <return>
4865N/A savSTAXResult
4865N/A </return>
2788N/A </sequence>
2788N/A </function>
2788N/A
2788N/A <!-- Backup Function -->
5912N/A <function name="backup" scope="local">
2788N/A <function-prolog>
2788N/A This function performs an off line backup
2788N/A </function-prolog>
2788N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceHost" type="optional">
2849N/A <function-arg-description>
2849N/A Directory server hostname or IP address
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="hostname"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="dsInstanceAdminPort" type="optional">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="Port number"/>
2849N/A </function-arg-def>
2849N/A <function-arg-def name="dsInstanceDn" type="optional">
2849N/A <function-arg-description>
2849N/A Bind DN
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
2849N/A <function-arg-def name="dsInstancePswd" type="optional">
2849N/A <function-arg-description>
2849N/A Bind password
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="backEnd" type="optional" default="DIRECTORY_INSTANCE_BE">
2788N/A <function-arg-description>
2788N/A Optional the name of the database backend
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backupDir" type="required">
2788N/A <function-arg-description>
2788N/A The directory where the backup files will be placed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="extraParams" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional extra parameters for specific test cases
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2849N/A <function-arg-def name="startTask" type="optional">
2849N/A <function-arg-description>
2849N/A Start time for task
2849N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
2951N/A <function-arg-def name="expectedRC" type="optional" default="0">
2951N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
2951N/A </function-arg-description>
2951N/A <function-arg-property name="type" value="integer"/>
4865N/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>
4162N/A <function-arg-def name="schedulePattern" type="optional">
4162N/A <function-arg-description>
4162N/A Indicates the task is recurring and will be scheduled
4162N/A according to the value argument expressed in crontab(5)
4162N/A compatible time/date pattern
4162N/A </function-arg-description>
4162N/A <function-arg-property name="type" value="string"/>
4162N/A </function-arg-def>
4162N/A <function-arg-def name="backupID" type="optional">
4162N/A <function-arg-description>
4162N/A Use the provided identifier for the backup
4162N/A </function-arg-description>
4162N/A <function-arg-property name="type" value="string"/>
4162N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <script>
2849N/A STAFCmdParamsList=[]
2849N/A STAFCmdParams=''
2849N/A </script>
2849N/A
4865N/A <!-- Set common ldap arguments -->
4865N/A <call function="'_adminCommonArgs'" />
2849N/A
4865N/A <script>
5912N/A foldersToCreate = []
5912N/A
2849N/A if dsPath:
2849N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2849N/A STAFCmd='%s/backup%s' % (dsBinPath,fileExt)
2849N/A
2849N/A if backupDir:
5912N/A foldersToCreate.append(os.path.dirname(backupDir))
2849N/A STAFCmdParamsList.append('-d %s' % backupDir)
2849N/A
2849N/A if backEnd:
2849N/A STAFCmdParamsList.append('-n %s' % backEnd)
2849N/A
2849N/A if extraParams:
2849N/A STAFCmdParamsList.append('%s' % extraParams)
2849N/A
4162N/A if startTask:
2849N/A STAFCmdParamsList.append('-t %s' % startTask)
4162N/A
4162N/A if backupID:
4162N/A STAFCmdParamsList.append('-I %s' % backupID)
4162N/A
4464N/A if schedulePattern:
4464N/A STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
4162N/A
2849N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2849N/A
2788N/A </script>
5912N/A
5912N/A <call function="'createMultiFolders'">
5912N/A { 'location' : location,
5912N/A 'folderslist' : foldersToCreate
5912N/A }
5912N/A </call>
5912N/A
2788N/A <message>
2849N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
4865N/A
5912N/A <message>
5912N/A 'Start backup'
5912N/A </message>
5912N/A
2788N/A <call function="'runCommand'">
2849N/A { 'location' : location,
2849N/A 'name' : 'Backup Script',
2849N/A 'command' : STAFCmd,
3194N/A 'arguments' : STAFCmdParams,
3951N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
2849N/A }
4865N/A </call>
3194N/A
2849N/A <return>
3194N/A STAXResult
3194N/A </return>
2788N/A </sequence>
4865N/A </function>
2849N/A
2788N/A <!-- Backup Task Function -->
5544N/A <function name="backupTask" scope="local">
2788N/A <function-prolog>
2788N/A This function performs an on line backup task
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="backupDir" type="required">
2788N/A <function-arg-description>
2788N/A Path to the target directory for the backup file(s)
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filepath"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backEnd" type="optional" default="DIRECTORY_INSTANCE_BE">
2788N/A <function-arg-description>
2788N/A Optional the name of the database backend
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="backupAll" type="optional" default="'False'">
2788N/A <function-arg-description>
2788N/A Optional back up all backends in the server
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backupIncremental" type="optional">
2788N/A <function-arg-description>
2788N/A Optional perform an incremental backup rather than a full backup
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backupIncrementalId" type="optional">
2788N/A <function-arg-description>
2788N/A Optional use the provided identifier for the backup
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="Compress" type="optional" default="'FALSE'">
2788N/A <function-arg-description>
2788N/A Optional backup contents compressed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="Encrypt" type="optional" default="'FALSE'">
2788N/A <function-arg-description>
2788N/A Optional backup contents encrypted
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="signHash" type="optional" default="'FALSE'">
2788N/A <function-arg-description>
2788N/A Optional generate a signed hash of the backup data
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="hash" type="optional" default="'FALSE'">
2788N/A <function-arg-description>
2788N/A Optional generate a hash of the backup data
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
3406N/A <function-arg-def name="expectedRC" type="optional" default="0">
3406N/A <function-arg-description>
3406N/A Expected return code value. Default value is 0
3406N/A Wildcard 'noCheck' to not check the RC
3406N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3406N/A </function-arg-def>
2788N/A </function-map-args>
3406N/A
2788N/A <sequence>
2788N/A
4865N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
5544N/A m = md5_hash()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='backup-task-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
2788N/A </script>
2788N/A
2788N/A <!-- Build the backup task configuration object -->
2788N/A <script>
5540N/A if not os.path.exists(os.path.dirname(backupDir)):
5540N/A os.makedirs(os.path.dirname(backupDir))
5540N/A
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('objectclass: ds-task-backup')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.BackupTask')
2788N/A ldifLines.append('ds-backup-id: %s' % taskID)
2788N/A
2788N/A ldifLines.append('ds-task-backup-backend-id: %s' % backEnd )
2788N/A ldifLines.append('ds-backup-directory-path: %s' % backupDir )
2788N/A ldifLines.append('ds-task-backup-all: %s' % backupAll )
2788N/A ldifLines.append('ds-task-backup-compress: %s' % Compress )
2788N/A ldifLines.append('ds-task-backup-encrypt: %s' % Encrypt )
2788N/A ldifLines.append('ds-task-backup-sign-hash: %s' % signHash )
2788N/A ldifLines.append('ds-task-backup-hash: %s' % hash )
2788N/A
2788N/A if backupIncremental:
2788N/A ldifLines.append('ds-task-backup-incremental: %s' % backupIncremental )
2788N/A
2788N/A if backupIncrementalId:
2788N/A ldifLines.append('ds-task-backup-incremental-base-id: %s' % backupIncrementalId )
2788N/A </script>
2788N/A
2788N/A <!-- Write out the backup-task ldif -->
2788N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
2788N/A </script>
2788N/A
2788N/A <!-- Copy the backup-task ldif to remote host -->
2788N/A <message>'Copy backup task ldif file.'</message>
2788N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
2788N/A </call>
2788N/A
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Backup Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
3406N/A 'dsTaskLdif' : taskLdif,
3406N/A 'expectedRC' : expectedRC }
2788N/A </call>
3269N/A
3269N/A <script>
3269N/A STAFCmdRC=STAXResult[0]
3269N/A </script>
3269N/A
2788N/A <!-- Check that the ldap task is completed -->
2788N/A <if expr="STAFCmdRC == 0">
2788N/A <sequence>
4865N/A <call function="'CheckLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'dsTaskDn' : taskDN,
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd }
4865N/A </call>
4865N/A <message>'Check CheckLdapTask returns RC=0'</message>
4865N/A <call function="'checktestRC'">
3406N/A { 'returncode' : RC ,
3406N/A 'result' : STAXResult }
4865N/A </call>
2788N/A </sequence>
4865N/A </if>
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2849N/A
2788N/A <!-- Restore Function -->
2788N/A <function name="restore">
2788N/A <function-prolog>
2788N/A This function performs an off line restore
2788N/A </function-prolog>
2788N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceHost" type="optional">
2849N/A <function-arg-description>
2849N/A Directory server hostname or IP address
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="hostname"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="dsInstanceAdminPort" type="optional">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="Port number"/>
2849N/A </function-arg-def>
2849N/A <function-arg-def name="dsInstanceDn" type="optional">
2849N/A <function-arg-description>
2849N/A Bind DN
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
2849N/A <function-arg-def name="dsInstancePswd" type="optional">
2849N/A <function-arg-description>
2849N/A Bind password
2849N/A </function-arg-description>
2849N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="backupDir" type="required">
2788N/A <function-arg-description>
2788N/A The directory where the backup files will be placed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="extraParams" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Optional extra parameters for specific test cases
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2849N/A <function-arg-def name="startTask" type="optional">
2849N/A <function-arg-description>
2849N/A Start time for task
2849N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
2951N/A <function-arg-def name="expectedRC" type="optional" default="0">
2951N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
2951N/A </function-arg-description>
2951N/A <function-arg-property name="type" value="integer"/>
4865N/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>
4162N/A <function-arg-def name="schedulePattern" type="optional">
4162N/A <function-arg-description>
4162N/A Indicates the task is recurring and will be scheduled
4162N/A according to the value argument expressed in crontab(5)
4162N/A compatible time/date pattern
4162N/A </function-arg-description>
4162N/A <function-arg-property name="type" value="string"/>
4162N/A </function-arg-def>
4162N/A <function-arg-def name="backupID" type="optional">
4162N/A <function-arg-description>
4162N/A Use the provided identifier for the backup
4162N/A </function-arg-description>
4162N/A <function-arg-property name="type" value="string"/>
4162N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A <sequence>
2849N/A
2849N/A
2788N/A <script>
2849N/A STAFCmdParamsList=[]
2849N/A STAFCmdParams=''
2849N/A </script>
2849N/A
2849N/A <!-- Set common ldap arguments -->
4865N/A <call function="'_adminCommonArgs'" />
2849N/A
4865N/A <script>
2849N/A if dsPath:
2849N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2849N/A STAFCmd='%s/restore%s' % (dsBinPath,fileExt)
2849N/A
2849N/A if backupDir:
2849N/A STAFCmdParamsList.append('-d %s' % backupDir)
2849N/A
2849N/A if extraParams:
2849N/A STAFCmdParamsList.append('%s' % extraParams)
2788N/A
2849N/A if startTask:
2849N/A STAFCmdParamsList.append('-t %s' % startTask)
4162N/A
4464N/A if backupID:
4464N/A STAFCmdParamsList.append('-I %s' % backupID)
4464N/A
4162N/A if schedulePattern:
4162N/A STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
4162N/A
2849N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2849N/A
2849N/A </script>
2788N/A <message>
2849N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2849N/A
2788N/A <call function="'runCommand'">
2849N/A { 'location' : location,
2849N/A 'name' : 'Restore Script',
2849N/A 'command' : STAFCmd,
3194N/A 'arguments' : STAFCmdParams,
3951N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
3194N/A }
4865N/A </call>
3194N/A
2849N/A <return>
3194N/A STAXResult
3194N/A </return>
3194N/A </sequence>
2788N/A </function>
2788N/A
2788N/A <!-- Restore Task Function -->
2788N/A <function name="restoreTask">
2788N/A <function-prolog>
2788N/A This function performs an on line restore task of a backup file
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="backupDir" type="required">
2788N/A <function-arg-description>
2788N/A The name of the backup directory
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="backupId" type="optional">
2788N/A <function-arg-description>
2788N/A Optional the name of the backupId
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="verify" type="optional" default="'FALSE'">
2788N/A <function-arg-description>
2788N/A Optional verify the contents of the backup but do not restore it
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="boolean"/>
2788N/A </function-arg-def>
3406N/A <function-arg-def name="expectedRC" type="optional" default="0">
3406N/A <function-arg-description>
3406N/A Expected return code value. Default value is 0
3406N/A Wildcard 'noCheck' to not check the RC
3406N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3406N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
3611N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
3611N/A try:
3611N/A import hashlib
3611N/A m = hashlib.md5()
3611N/A except ImportError:
3611N/A import md5
3611N/A m = md5.new()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='restore-task-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
4865N/A </script>
2788N/A
2788N/A <!-- Build the restore task configuration object -->
2788N/A <script>
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('objectclass: ds-task-restore')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.RestoreTask')
2788N/A ldifLines.append('ds-task-id: %s' % taskID)
2788N/A
2788N/A ldifLines.append('ds-backup-directory-path: %s' % backupDir )
2788N/A ldifLines.append('ds-task-restore-verify-only: %s' % verify )
2788N/A
2788N/A if backupId:
2788N/A ldifLines.append('ds-backup-id: %s' % backupId )
2788N/A </script>
2788N/A
2788N/A <!-- Write out the restore-task ldif -->
2788N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
2788N/A </script>
2788N/A
2788N/A <!-- Copy the restore-task ldif to remote host -->
2788N/A <message>'Copy restore task ldif file.'</message>
2788N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
2788N/A </call>
2788N/A
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Restore Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
3406N/A 'dsTaskLdif' : taskLdif,
3406N/A 'expectedRC' : expectedRC }
2788N/A </call>
3269N/A
3269N/A <script>
3269N/A STAFCmdRC=STAXResult[0]
3269N/A </script>
3269N/A
2788N/A <!-- Check that the ldap task is completed -->
2788N/A <if expr="STAFCmdRC == 0">
2788N/A <sequence>
4865N/A <call function="'CheckLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'dsTaskDn' : taskDN,
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd }
4865N/A </call>
4865N/A <message>'Check CheckLdapTask returns RC=0'</message>
4865N/A <call function="'checktestRC'">
3406N/A { 'returncode' : RC ,
3406N/A 'result' : STAXResult }
4865N/A </call>
4865N/A </sequence>
2788N/A </if>
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <!-- Shutdown Task Function -->
2788N/A <function name="shutdownTask">
2788N/A <function-prolog>
2788N/A This function performs an on line export task for shutdown of the directory
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
4865N/A <function-arg-def name="noOfLoops"
4865N/A type="optional"
4865N/A default="10">
4865N/A <function-arg-description>
4865N/A Number of iterations (for isStopped())
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="noOfMilliSeconds"
4865N/A type="optional"
4865N/A default="2000">
4865N/A <function-arg-description>
4865N/A Number of seconds to wait between iterations (for isStopped())
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="seconds"/>
4865N/A </function-arg-def>
3406N/A <function-arg-def name="expectedRC" type="optional" default="0">
3406N/A <function-arg-description>
3406N/A Expected return code value. Default value is 0
3406N/A Wildcard 'noCheck' to not check the RC
3406N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3406N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
3611N/A try:
3611N/A import hashlib
3611N/A m = hashlib.md5()
3611N/A except ImportError:
3611N/A import md5
3611N/A m = md5.new()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='shutdown-task-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
4865N/A </script>
2788N/A
2788N/A
2788N/A <!-- Build the shutdown task configuration object -->
2788N/A <script>
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('objectclass: ds-task-shutdown')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.ShutdownTask')
2788N/A ldifLines.append('ds-task-id: %s' % taskID)
2788N/A </script>
2788N/A
2788N/A <!-- Write out the shutdown-task ldif -->
2788N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
2788N/A </script>
2788N/A
2788N/A <!-- Copy the shutdown-task ldif to remote host -->
2788N/A <message>'Copy shutdown task ldif (%s) to %s' % (tmpTaskLdif,taskLdif)</message>
2788N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
2788N/A </call>
2788N/A
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Export Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
3406N/A 'dsTaskLdif' : taskLdif,
3406N/A 'expectedRC' : expectedRC }
2788N/A </call>
3269N/A
3269N/A <script>
3269N/A STAFCmdRC=STAXResult[0]
3269N/A </script>
4865N/A
4865N/A <if expr="expectedRC == 0">
4865N/A <!--- Check that DS stopped -->
5061N/A <if expr="IPS_PKG == True">
5061N/A <call function="'isStopped'">
5061N/A { 'location' : location,
5061N/A 'dsPath' : '%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
5061N/A 'noOfLoops' : noOfLoops,
5061N/A 'noOfMilliSeconds' : noOfMilliSeconds
5061N/A }
5061N/A </call>
5061N/A <else>
5061N/A <call function="'isStopped'">
5061N/A { 'location' : location,
5061N/A 'dsPath' : dsPath,
5061N/A 'noOfLoops' : noOfLoops,
5061N/A 'noOfMilliSeconds' : noOfMilliSeconds
5061N/A }
5061N/A </call>
5061N/A </else>
5061N/A </if>
4865N/A </if>
4865N/A
2788N/A <return>STAFCmdRC</return>
2788N/A
2788N/A </sequence>
2788N/A </function>
2788N/A
2788N/A <!-- Restart Task Function -->
2788N/A <function name="restartTask">
2788N/A <function-prolog>
2788N/A This function performs an on line export task for restart of the directory
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
3406N/A <function-arg-def name="expectedRC" type="optional" default="0">
3406N/A <function-arg-description>
3406N/A Expected return code value. Default value is 0
3406N/A Wildcard 'noCheck' to not check the RC
3406N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3406N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
3611N/A try:
3611N/A import hashlib
3611N/A m = hashlib.md5()
3611N/A except ImportError:
3611N/A import md5
3611N/A m = md5.new()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='restart-task-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
4865N/A </script>
2788N/A
2788N/A <!-- Build the restart task configuration object -->
2788N/A <script>
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('objectclass: ds-task-shutdown')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.ShutdownTask')
2788N/A ldifLines.append('ds-task-restart-server: true')
2788N/A ldifLines.append('ds-task-id: %s' % taskID)
2788N/A </script>
2788N/A
2788N/A <!-- Write out the restart-task ldif -->
2788N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
2788N/A </script>
2788N/A
2788N/A <!-- Copy the restart-task ldif to remote host -->
2788N/A <message>'Copy restart task ldif (%s) to %s' % (tmpTaskLdif,taskLdif)</message>
2788N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
2788N/A </call>
2788N/A
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Export Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
3406N/A 'dsTaskLdif' : taskLdif,
3406N/A 'expectedRC' : expectedRC }
2788N/A </call>
2788N/A
3269N/A <script>
3269N/A STAFCmdRC=STAXResult[0]
3269N/A </script>
3269N/A
2788N/A <!--- Check that DS started -->
2788N/A <if expr="STAFCmdRC == 0">
2788N/A <sequence>
2788N/A <call function="'isAlive'">
4153N/A { 'noOfLoops' : 10 ,
2788N/A 'noOfMilliSeconds' : 2000 }
4865N/A </call>
2788N/A </sequence>
2788N/A </if>
2788N/A
2788N/A <return>STAFCmdRC</return>
2788N/A
2788N/A </sequence>
2788N/A </function>
2788N/A
2788N/A <!-- Add Schema Task Function -->
2788N/A <function name="addSchemaTask">
2788N/A
2788N/A <function-prolog>
2788N/A This function performs a dynamic schema add task
2788N/A </function-prolog>
2788N/A
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="ldifFile" type="required">
2788N/A <function-arg-description>
2788N/A The name of the ldif file that contains the schema updates
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
4865N/A <sequence>
2788N/A
4865N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
3611N/A try:
3611N/A import hashlib
3611N/A m = hashlib.md5()
3611N/A except ImportError:
3611N/A import md5
3611N/A m = md5.new()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='schema-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
4865N/A </script>
2788N/A
2788N/A <!-- Build the schema task configuration object -->
4865N/A <script>
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('objectclass: ds-task-add-schema-file')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.AddSchemaFileTask')
2788N/A ldifLines.append('ds-task-id: %s' % taskID)
2788N/A
2788N/A ldifLines.append('ds-task-schema-file-name: %s' % ldifFile )
4865N/A </script>
2788N/A
2788N/A
2788N/A <!-- Write out the schema-task ldif -->
4865N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
4865N/A </script>
2788N/A
2788N/A <!-- Copy the schema-task ldif to remote host -->
4865N/A <message>
4618N/A 'Copy schema task ldif file %s to %s.' % (tmpTaskLdif,taskLdif)
4865N/A </message>
4865N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
4865N/A </call>
2788N/A
2788N/A <!-- Copy the schema update ldif to remote host's config/schema directory -->
4865N/A <message>'Copy schema update ldif file.'</message>
4865N/A <call function="'copyFile'">
2788N/A { 'location' : myLocation,
3816N/A 'srcfile' : '%s/schema/ldifs/%s' % (remote.data,ldifFile),
2788N/A 'destfile' : '%s/%s/config/schema/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,ldifFile),
2788N/A 'remotehost' : myLocation }
4865N/A </call>
2788N/A
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Schema Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
2788N/A 'dsTaskLdif' : taskLdif }
2788N/A </call>
2788N/A
2788N/A <!-- Check that the ldap task is completed -->
2788N/A <call function="'CheckLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'dsTaskDn' : taskDN,
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd }
2788N/A </call>
2788N/A
2788N/A </sequence>
4865N/A </function>
2788N/A
2788N/A <!-- Add Leave Lockdown Task Function -->
2788N/A <function name="leaveLockdownTask">
2788N/A
2788N/A <function-prolog>
2788N/A This function performs a leave lockdown task
2788N/A </function-prolog>
2788N/A
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstanceDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsInstancePswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="taskID" type="optional">
2788N/A <function-arg-description>
2788N/A The identifier for the task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
4865N/A <sequence>
2788N/A
4865N/A <script>
2788N/A myLocation=location
2788N/A myPath=dsPath
3611N/A
3611N/A try:
3611N/A import hashlib
3611N/A m = hashlib.md5()
3611N/A except ImportError:
3611N/A import md5
3611N/A m = md5.new()
3611N/A m.update(location)
3611N/A m.update(dsPath)
3611N/A taskLdifFile='leaveShutdownTask-%s.ldif' % m.hexdigest()
3816N/A taskLdif='%s/%s' % (remote.temp,taskLdifFile)
3816N/A tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
2788N/A taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
4865N/A </script>
2788N/A
2788N/A <!-- Build the schema task configuration object -->
4865N/A <script>
2788N/A ldifLines=[]
2788N/A ldifLines.append('dn: %s' % taskDN)
2788N/A ldifLines.append('objectclass: top')
2788N/A ldifLines.append('objectclass: ds-task')
2788N/A ldifLines.append('ds-task-class-name: org.opends.server.tasks.LeaveLockdownModeTask')
2788N/A ldifLines.append('ds-task-id: %s' % taskID)
4865N/A </script>
2788N/A
2788N/A
2788N/A <!-- Write out the task ldif -->
4865N/A <script>
2788N/A outfile = open(tmpTaskLdif,"w")
2788N/A
2788N/A for line in ldifLines:
2788N/A outfile.write("%s\n" % line)
2788N/A
2788N/A outfile.close()
4865N/A </script>
2788N/A
2788N/A <!-- Copy the task ldif to remote host -->
4865N/A <message>'Copy task ldif file.'</message>
4865N/A <call function="'copyFile'">
2788N/A { 'location' : STAXServiceMachine,
2788N/A 'srcfile' : tmpTaskLdif,
2788N/A 'destfile' : taskLdif,
2788N/A 'remotehost' : myLocation }
4865N/A </call>
2788N/A
2788N/A <!-- Copy the schema update ldif to remote host's config/schema directory -->
2788N/A <!--
2788N/A <message>'Copy update ldif file.'</message>
2788N/A <call function="'copyFile'">
2788N/A { 'location' : myLocation,
3816N/A 'srcfile' : '%s/schema/ldifs/%s' % (remote.data,ldifFile),
2788N/A 'destfile' : '%s/%s/config/schema/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,ldifFile),
2788N/A 'remotehost' : myLocation }
2788N/A </call>
2788N/A -->
2788N/A <!-- Start the task using ldap task interface -->
2788N/A <call function="'StartLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'taskLabel' : 'Online Schema Task',
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd,
2788N/A 'dsTaskLdif' : taskLdif }
2788N/A </call>
2788N/A
2788N/A <!-- Check that the ldap task is completed -->
2788N/A <call function="'CheckLdapTask'">
2788N/A { 'location' : myLocation,
3269N/A 'dsPath' : myPath,
2788N/A 'dsTaskDn' : taskDN,
2788N/A 'dsHost' : dsInstanceHost,
2788N/A 'dsPort' : dsInstancePort,
2788N/A 'dsBindDn' : dsInstanceDn,
2788N/A 'dsBindPswd' : dsInstancePswd }
2788N/A </call>
2788N/A
2788N/A </sequence>
2788N/A </function>
2788N/A
2788N/A <function name="StartLdapTask">
2788N/A <function-prolog>
2788N/A This function starts a task using the ldap task interface
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="taskLabel" type="required">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsPort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsTaskLdif" type="required">
2788N/A <function-arg-description>
2788N/A Ldif file for task
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
4865N/A </function-arg-def>
3289N/A <function-arg-def name="expectedRC" type="optional" default="0">
3289N/A <function-arg-description>
3289N/A Expected return code value. Default value is 0.
3289N/A Wildcard 'noCheck' to not check the RC
3289N/A </function-arg-description>
3289N/A </function-arg-def>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
2788N/A myLocation=location
2788N/A </script>
2788N/A
2788N/A <!-- Build the Modify Command -->
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/ldapmodify%s' % (dsBinPath,fileExt)
2788N/A
2788N/A STAFCmdParamsList.append('-a')
3853N/A
2788N/A if dsHost:
2788N/A STAFCmdParamsList.append('-h %s' % dsHost)
2788N/A
2788N/A if dsPort:
2788N/A STAFCmdParamsList.append('-p %s' % dsPort)
2788N/A
2788N/A if dsBindDn:
2788N/A STAFCmdParamsList.append('-D "%s"' % dsBindDn)
2788N/A
2788N/A if dsBindPswd:
2788N/A STAFCmdParamsList.append('-w "%s"' % dsBindPswd)
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A
2788N/A <!-- Perform Task with ldapmodify -->
2788N/A <process name="taskLabel">
2788N/A <location>'%s' % myLocation</location>
2788N/A <command>'%s' % STAFCmd</command>
2788N/A <parms>'%s' % STAFCmdParams</parms>
2788N/A <workdir>'%s' % dsBinPath</workdir>
2788N/A <envs>
2788N/A ['PATH=/bin:/usr/bin:%s' % dsBinPath, 'JAVA_HOME=%s' % JAVA_HOME]
2788N/A </envs>
2788N/A <stdin>'%s' % dsTaskLdif</stdin>
2788N/A <stderr mode="'stdout'"/>
2788N/A <returnstdout/>
2788N/A </process>
2788N/A
2788N/A <script>
2788N/A STAFCmdRC=RC
2788N/A STAFCmdResult=STAXResult
2788N/A </script>
2788N/A
3289N/A <call function="'checktestRC'">
3289N/A { 'returncode' : STAFCmdRC,
3289N/A 'result' : STAFCmdResult,
3289N/A 'expected' : expectedRC
3289N/A }
2788N/A </call>
2788N/A
2788N/A <return>[STAFCmdRC, STAFCmdResult[0][1]]</return>
2788N/A
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <function name="CheckLdapTask">
2788N/A <function-prolog>
2788N/A This function checks a task using the ldap task interface
2788N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsTaskDn" type="required">
2788N/A <function-arg-description>
2788N/A Dn of the task to be performed
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="pathname"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsHost" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server host name
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsPort" type="optional">
2788N/A <function-arg-description>
2788N/A Directory server port number
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindDn" type="optional">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPswd" type="optional">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="noOfLoops" type="optional" default="10">
2788N/A <function-arg-description>
2788N/A Number of ldap check tries when checking if task is complete
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="sleepMilliSeconds" type="optional" default="2000">
2788N/A <function-arg-description>
2788N/A Sleep time in milliseconds between ldap check tries
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="integer"/>
3194N/A </function-arg-def>
2788N/A
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Local variables -->
2788N/A <script>
2788N/A myLocation=location
2788N/A </script>
2788N/A
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/ldapsearch%s' % (dsBinPath,fileExt)
2788N/A
2788N/A if dsHost:
2788N/A STAFCmdParamsList.append('-h %s' % dsHost)
2788N/A
2788N/A if dsPort:
2788N/A STAFCmdParamsList.append('-p %s' % dsPort)
2788N/A
2788N/A if dsBindDn:
2788N/A STAFCmdParamsList.append('-D "%s"' % dsBindDn)
2788N/A
2788N/A if dsBindPswd:
2788N/A STAFCmdParamsList.append('-w "%s"' % dsBindPswd)
2788N/A
2788N/A if dsTaskDn:
2788N/A STAFCmdParamsList.append('-b "%s"' % dsTaskDn)
2788N/A
2788N/A dsScope='base'
2788N/A STAFCmdParamsList.append('-s %s' % dsScope)
2788N/A
2788N/A dsFilter='"objectclass=*"'
2788N/A STAFCmdParamsList.append('%s' % dsFilter)
2788N/A
2788N/A dsAttribute='ds-task-state'
2788N/A STAFCmdParamsList.append('%s' % dsAttribute)
2788N/A
2788N/A dsAttribute='ds-task-log-message'
2788N/A STAFCmdParamsList.append('%s' % dsAttribute)
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
4865N/A <script>
2788N/A successPattern = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
2788N/A stopErrPattern = re.compile('ds-task-state: STOPPED_BY_ERROR')
2788N/A myCounter=1
2788N/A </script>
2788N/A
2788N/A <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
2788N/A <script>taskRC=1</script>
2788N/A <loop from="1" to="noOfLoops" while="taskRC != 0">
2788N/A <sequence>
2788N/A
2788N/A <message>
2788N/A 'LOOP number %s - %s %s' % (myCounter, STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A
2788N/A <!-- Search for task status -->
2788N/A
2788N/A <call function="'runCommand'">
3289N/A { 'name' : 'Search On line Import Task',
3289N/A 'command' : STAFCmd,
3289N/A 'arguments' : STAFCmdParams,
3289N/A 'location' : myLocation,
3289N/A 'expectedRC' : 'noCheck'
2788N/A }
2788N/A </call>
2788N/A
2788N/A <script>
2788N/A STAFCmdRC=RC
2788N/A STAFCmdResult=STAXResult
2788N/A myCounter=myCounter+1
2788N/A </script>
2788N/A
2788N/A <if expr='re.search(successPattern, STAFCmdResult[0][1]) != None'>
2788N/A <sequence>
2788N/A <script>taskRC=0</script>
2788N/A <message>
2788N/A '%s' % STAFCmdResult
2788N/A </message>
2788N/A <return>[taskRC, STAFCmdResult[0][1]]</return>
2788N/A </sequence>
4865N/A <elseif expr='re.search(stopErrPattern, STAFCmdResult[0][1]) != None'>
4865N/A <sequence>
4865N/A <message level="'error'">
2788N/A '%s' % STAFCmdResult
4865N/A </message>
4865N/A <return>[taskRC, STAFCmdResult[0][1]]</return>
4865N/A </sequence>
4865N/A </elseif>
4865N/A <else>
4865N/A <message level="'Warning'">
2788N/A '%s' % STAFCmdResult
4865N/A </message>
4865N/A </else>
2788N/A </if>
2788N/A
2788N/A <message>
2788N/A 'Sleeping for %s ms' % sleepMilliSeconds
2788N/A </message>
2788N/A
2788N/A <call function="'Sleep'">
2788N/A { 'sleepForMilliSeconds' : sleepMilliSeconds }
2788N/A </call>
2788N/A
2788N/A </sequence>
2788N/A </loop>
2788N/A
2788N/A <return>[taskRC, STAFCmdResult[0][1]]</return>
2788N/A
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <!-- This function shows server status using the status script -->
2788N/A <function name="StatusWithScript">
2788N/A <function-prolog>
2788N/A This function shows server status using the status script
4865N/A </function-prolog>
2788N/A <function-map-args>
3853N/A <function-arg-def name="location"
3853N/A type="optional"
3853N/A default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
3853N/A <function-arg-def name="dsPath"
3853N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filepath"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindDN" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Bind DN
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsBindPwd" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Bind password
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="dsHelp" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Help option
2788N/A </function-arg-description>
2788N/A <function-arg-property name="help" value="option"/>
3194N/A </function-arg-def>
3194N/A <function-arg-def name="expectedRC" type="optional" default="0">
3194N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
3194N/A </function-arg-description>
3194N/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>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Build the Command -->
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A STAFCmdParamsList.append('-n')
3853N/A STAFCmdParamsList.append('-X')
3853N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/status%s' % (dsBinPath,fileExt)
2788N/A
2788N/A if dsBindDN:
2788N/A STAFCmdParamsList.append('-D "%s"' % dsBindDN)
2788N/A
2788N/A if dsBindPwd:
2788N/A STAFCmdParamsList.append('-w "%s"' % dsBindPwd)
2788N/A
2788N/A if dsHelp:
2788N/A STAFCmdParamsList.append('-H')
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A <call function="'runCommand'">
2788N/A { 'location' : location,
2788N/A 'name' : 'Status Script',
2788N/A 'command' : STAFCmd,
2788N/A 'arguments' : STAFCmdParams,
3194N/A 'path' : dsPath,
3951N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
2788N/A }
2788N/A </call>
3194N/A
3194N/A <return>STAXResult</return>
2788N/A
2788N/A </sequence>
2788N/A
2788N/A </function>
2788N/A
2788N/A <!-- This function executes the base64 encode decode utility with script -->
2788N/A <function name="Base64WithScript">
2788N/A <function-prolog>
2788N/A This function executes the base64 encode decode utility with script
4865N/A </function-prolog>
2788N/A <function-map-args>
2788N/A <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
2788N/A <function-arg-description>
2788N/A Location of target host
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="hostname"/>
2788N/A </function-arg-def>
4153N/A <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
2788N/A <function-arg-description>
2788N/A Pathname to installation root
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filepath"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="subcommand" type="required">
2788N/A <function-arg-description>
2788N/A The subcommand for base64 (encode or decode)
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="rawData" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The raw data to be base64 encoded
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="rawDataFile" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The path to a file containing the raw data to be base64 encoded
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="toEncodedFile" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The path to a file to which the base64-encoded data should be written
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="encodedData" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The base64-encoded data to be decoded
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="string"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="encodedDataFile" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The path to a file containing the base64-encoded data to be decoded
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
2788N/A </function-arg-def>
2788N/A <function-arg-def name="toRawFile" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A The path to a file to which the raw base64-decoded data should be written
2788N/A </function-arg-description>
2788N/A <function-arg-property name="type" value="filename"/>
4865N/A </function-arg-def>
2788N/A <function-arg-def name="toolHelp" type="optional" default="''">
2788N/A <function-arg-description>
2788N/A Help option
2788N/A </function-arg-description>
2788N/A <function-arg-property name="help" value="option"/>
3194N/A </function-arg-def>
3194N/A <function-arg-def name="expectedRC" type="optional" default="0">
3194N/A <function-arg-description>
3194N/A Expected return code value. Default value is 0.
3194N/A Wildcard 'noCheck' to not check the RC
3194N/A </function-arg-description>
3194N/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>
2788N/A </function-map-args>
2788N/A
2788N/A <sequence>
2788N/A
2788N/A <!-- Build the Command -->
2788N/A <script>
2788N/A STAFCmdParamsList=[]
2788N/A STAFCmdParams=''
2788N/A
2788N/A if dsPath:
2788N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
2788N/A STAFCmd='%s/base64%s' % (dsBinPath,fileExt)
2788N/A
2788N/A if subcommand:
2788N/A STAFCmdParamsList.append(subcommand)
2788N/A
2788N/A if rawData:
2788N/A STAFCmdParamsList.append('-d "%s"' % rawData)
2788N/A
2788N/A if rawDataFile:
2788N/A STAFCmdParamsList.append('-f "%s"' % rawDataFile)
2788N/A
2788N/A if toEncodedFile:
2788N/A STAFCmdParamsList.append('-o "%s"' % toEncodedFile)
2788N/A
2788N/A if encodedData:
2788N/A STAFCmdParamsList.append('-d "%s"' % encodedData)
2788N/A
2788N/A if encodedDataFile:
2788N/A STAFCmdParamsList.append('-f "%s"' % encodedDataFile)
2788N/A
2788N/A if toRawFile:
2788N/A STAFCmdParamsList.append('-o "%s"' % toRawFile)
2788N/A
2788N/A if toolHelp:
2788N/A STAFCmdParamsList.append('-H')
2788N/A
2788N/A STAFCmdParams=' '.join(STAFCmdParamsList)
2788N/A </script>
2788N/A
2788N/A <message>
2788N/A '%s %s' % (STAFCmd, STAFCmdParams)
2788N/A </message>
2788N/A <call function="'runCommand'">
2788N/A { 'location' : location,
2788N/A 'name' : 'Base 64 %s Script' % subcommand,
2788N/A 'command' : STAFCmd,
2788N/A 'arguments' : STAFCmdParams,
3194N/A 'path' : dsPath,
3951N/A 'expectedRC': expectedRC,
3951N/A 'knownIssue': knownIssue
2788N/A }
2788N/A </call>
3194N/A
3194N/A <return>STAXResult</return>
2788N/A
2788N/A </sequence>
2788N/A </function>
4865N/A
4865N/A <!-- manage-tasks Function -->
4865N/A <function name="manage-tasks" scope="local">
3142N/A <function-prolog>
4865N/A This function performs a manage-tasks command line
3142N/A </function-prolog>
3142N/A <function-map-args>
4865N/A <function-arg-def name="location"
3142N/A type="optional"
3142N/A default="STAF_REMOTE_HOSTNAME">
3142N/A <function-arg-description>
3142N/A Location of target host
3142N/A </function-arg-description>
3142N/A <function-arg-property name="type" value="hostname"/>
3142N/A </function-arg-def>
4865N/A <function-arg-def name="dsPath"
3142N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3142N/A <function-arg-description>
3142N/A Pathname to installation root
3142N/A </function-arg-description>
4865N/A </function-arg-def>
3318N/A <function-arg-def name="dsInstanceHost" type="optional">
3318N/A <function-arg-description>
3318N/A Directory server hostname or IP address
3318N/A </function-arg-description>
3318N/A <function-arg-property name="type" value="hostname"/>
4865N/A </function-arg-def>
3853N/A <function-arg-def name="dsInstanceAdminPort"
3853N/A type="optional"
3853N/A default="DIRECTORY_INSTANCE_ADMIN_PORT">
3853N/A <function-arg-description>
3853N/A Directory server admin port number
3318N/A </function-arg-description>
3318N/A <function-arg-property name="type" value="Port number"/>
4865N/A </function-arg-def>
3318N/A <function-arg-def name="dsInstanceDn" type="optional">
3318N/A <function-arg-description>
3318N/A Bind DN
3318N/A </function-arg-description>
3318N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
3318N/A <function-arg-def name="dsInstancePswd" type="optional">
3318N/A <function-arg-description>
3318N/A Bind password
3318N/A </function-arg-description>
3318N/A <function-arg-property name="type" value="string"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsBindPasswordFile" type="optional">
3327N/A <function-arg-description>
3327N/A Bind password file
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filename"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsKeyStorePath" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate keystore path
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filename"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsCertNickname" type="optional">
3327N/A <function-arg-description>
3327N/A Nickname of certificate for SSL client authentication
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsSaslOption" type="optional">
3327N/A <function-arg-description>
3327N/A SASL bind options
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsTrustStorePath" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate trust store path
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filename"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsUseStartTLS" type="optional">
3327N/A <function-arg-description>
3327N/A Use StartTLS to secure communication with the server
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsTrustStorePassword" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate trust store PIN
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsKeyStorePasswordFile" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate keystore PIN file
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filename"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsTrustStorePasswordFile" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate trust store PIN file
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filename"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsKeyStorePassword" type="optional">
3327N/A <function-arg-description>
3327N/A Certificate keystore PIN
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsTrustAll" type="optional">
3327N/A <function-arg-description>
3327N/A Trust all server SSL certificates
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsUseSSL" type="optional">
3327N/A <function-arg-description>
3327N/A Use SSL for secure communication with the server
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsCancel" type="optional">
3327N/A <function-arg-description>
3327N/A Specify the task ID to cancel
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsInfo" type="optional">
3327N/A <function-arg-description>
3327N/A Display information for a particular task
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsSummary" type="optional">
3327N/A <function-arg-description>
3327N/A Display information for a particular task
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
3318N/A <function-arg-def name="dsQuiet" type="optional">
3327N/A <function-arg-description>
3327N/A Use quiet mode (no output)
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsVersion" type="optional">
3327N/A <function-arg-description>
3327N/A Display Directory Server version information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsHelp" type="optional">
3327N/A <function-arg-description>
3327N/A Display this usage information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3318N/A </function-arg-def>
3318N/A <function-arg-def name="expectedRC" type="optional" default="0">
3318N/A <function-arg-description>
3318N/A Expected return code value. Default value is 0.
3318N/A Wildcard 'noCheck' to not check the RC
3318N/A </function-arg-description>
3318N/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>
3318N/A </function-map-args>
3318N/A
3318N/A <sequence>
3318N/A
3318N/A <!-- Build the Command -->
3318N/A
3318N/A <script>
3318N/A STAFCmdParamsList=[]
3318N/A STAFCmdParams=''
3318N/A </script>
3318N/A
3318N/A <!-- Set common ldap arguments -->
4865N/A <call function="'_adminCommonArgs'" />
3318N/A
4865N/A <script>
3318N/A if dsPath:
3318N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3318N/A STAFCmd='%s/manage-tasks%s' % (dsBinPath,fileExt)
3853N/A
3853N/A
3327N/A
3327N/A if dsBindPasswordFile:
3327N/A STAFCmdParamsList.append('-j %s' % dsBindPasswordFile)
3327N/A
3327N/A if dsKeyStorePath:
3327N/A STAFCmdParamsList.append('-K %s' % dsKeyStorePath)
3327N/A
3327N/A if dsCertNickname:
3327N/A STAFCmdParamsList.append('-N %s' % dsCertNickname)
3327N/A
3327N/A if dsSaslOption:
3327N/A STAFCmdParamsList.append('-o %s' % dsSaslOption)
3327N/A
3327N/A if dsTrustStorePath:
3327N/A STAFCmdParamsList.append('-P %s' % dsTrustStorePath)
3327N/A
3327N/A if dsUseStartTLS:
3327N/A STAFCmdParamsList.append('-q')
3327N/A
3327N/A if dsTrustStorePassword:
3327N/A STAFCmdParamsList.append('-T %s' % dsTrustStorePassword)
3327N/A
3327N/A if dsKeyStorePasswordFile:
3327N/A STAFCmdParamsList.append('-u %s' % dsKeyStorePasswordFile)
3327N/A
3327N/A if dsTrustStorePasswordFile:
3327N/A STAFCmdParamsList.append('-U %s' % dsTrustStorePasswordFile)
3327N/A
3327N/A if dsKeyStorePassword:
3327N/A STAFCmdParamsList.append('-W %s' % dsKeyStorePassword)
3853N/A
3327N/A if dsUseSSL:
3327N/A STAFCmdParamsList.append('-Z')
3327N/A
3327N/A if dsCancel:
3327N/A STAFCmdParamsList.append('-c %s' % dsCancel)
3327N/A
3327N/A if dsInfo:
3327N/A STAFCmdParamsList.append('-i %s' % dsInfo)
3327N/A
3327N/A if dsSummary:
3327N/A STAFCmdParamsList.append('-s')
3327N/A
3318N/A if dsQuiet:
3318N/A STAFCmdParamsList.append('-n')
3327N/A
3327N/A if dsVersion:
3327N/A STAFCmdParamsList.append('-V')
3327N/A
3327N/A if dsHelp:
3327N/A STAFCmdParamsList.append('-H')
3327N/A
3318N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3318N/A
3318N/A </script>
3318N/A <message>
3318N/A '%s %s' % (STAFCmd, STAFCmdParams)
3318N/A </message>
3318N/A
3318N/A <call function="'runCommand'">
3949N/A { 'location' : location,
3949N/A 'envCmd' : [ 'LANG=C' , 'LC_ALL=C' ] ,
3949N/A 'name' : 'manage-tasks Script',
3949N/A 'command' : STAFCmd,
3949N/A 'arguments' : STAFCmdParams,
3951N/A 'expectedRC' : expectedRC,
3951N/A 'knownIssue' : knownIssue
3318N/A }
3318N/A </call>
3318N/A <return>
3318N/A STAXResult
4865N/A </return>
3327N/A </sequence>
3327N/A </function>
3327N/A
3327N/A <!-- This function execute the rebuild-index tool -->
5064N/A <function name="rebuildIndexWithScript">
3327N/A <function-prolog>
3327N/A This function execute the rebuild-index tool
3327N/A </function-prolog>
3327N/A <function-map-args>
3327N/A <function-arg-def name="location"
3327N/A type="optional"
3327N/A default="STAF_REMOTE_HOSTNAME">
3327N/A <function-arg-description>
3327N/A Location of target host
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="hostname"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsPath"
3327N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3327N/A <function-arg-description>
3327N/A Pathname to installation root
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filepath"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceHost" type="optional">
4865N/A <function-arg-description>
4865N/A Directory server hostname or IP address
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="hostname"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceAdminPort" type="optional">
4865N/A <function-arg-description>
4865N/A Directory server adminport number
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="Port number"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstanceDn" type="optional">
4865N/A <function-arg-description>
4865N/A Bind DN
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="DN"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="dsInstancePswd" type="optional">
4865N/A <function-arg-description>
4865N/A Bind password
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsBaseDN" type="required">
3327N/A <function-arg-description>
3327N/A Specify the base DN for which to perform the verification
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="dn"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsIndexList" type="optional">
3327N/A <function-arg-description>
3327N/A Specify the name of indexes for which to perform the verification
3327N/A This should be passed as a python array like
3327N/A [ 'uid','telephonenumber' ]
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="array"/>
3327N/A </function-arg-def>
4865N/A <function-arg-def name="dsRebuildAll" type="optional">
4865N/A <function-arg-description>
4865N/A Rebuild all indexes
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
6063N/A <function-arg-def name="dsRebuildDegraded" type="optional">
6063N/A <function-arg-description>
6063N/A Rebuild all degraded indexes
6063N/A </function-arg-description>
6063N/A <function-arg-property name="type" value="dn"/>
6063N/A </function-arg-def>
6063N/A <function-arg-def name="dsClearDegradedState" type="optional">
6063N/A <function-arg-description>
6063N/A Clear degraded state
6063N/A </function-arg-description>
6063N/A <function-arg-property name="type" value="dn"/>
6063N/A </function-arg-def>
4865N/A <function-arg-def name="dsTmpDir" type="optional">
4865N/A <function-arg-description>
4865N/A Path to temporary directory for index scratch files
4865N/A Default value is import-tmp
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="dn"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsHelp" type="optional">
3327N/A <function-arg-description>
3327N/A Display this usage information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsVersion" type="optional">
3327N/A <function-arg-description>
3327N/A Display Directory Server version information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
4865N/A <function-arg-def name="startTask" type="optional">
4865N/A <function-arg-description>
4865N/A Start time for task
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="schedulePattern" type="optional">
4865N/A <function-arg-description>
4865N/A Indicates the task is recurring and will be scheduled
4865N/A according to the value argument expressed in crontab(5)
4865N/A compatible time/date pattern
4865N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="expectedRC" type="optional" default="0">
3327N/A <function-arg-description>
3327N/A Expected return code value. Default value is 0.
3327N/A Wildcard 'noCheck' to not check the RC
3327N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
4865N/A </function-arg-def>
4865N/A <function-arg-def name="knownIssue" type="optional" default="None">
4865N/A <function-arg-description>
4865N/A Known issue. Corresponds to an issue number.
4865N/A </function-arg-description>
3327N/A </function-arg-def>
3327N/A </function-map-args>
3327N/A <sequence>
4865N/A <!-- Local variables -->
3327N/A <script>
3327N/A STAFCmdParamsList=[]
3327N/A STAFCmdParams=''
4865N/A </script>
4865N/A
4865N/A <!-- Set common ldap arguments -->
4865N/A <call function="'_adminCommonArgs'" />
4865N/A
4865N/A <!-- Build the Command -->
4865N/A <script>
3327N/A if dsPath:
3327N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3327N/A STAFCmd='%s/rebuild-index%s' % (dsBinPath,fileExt)
3327N/A
3327N/A if dsBaseDN:
3327N/A STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
4865N/A
4865N/A if dsRebuildAll:
4865N/A STAFCmdParamsList.append('--rebuildAll')
4865N/A
6063N/A if dsRebuildDegraded:
6063N/A STAFCmdParamsList.append('--rebuildDegraded')
6063N/A
6063N/A if dsClearDegradedState:
6063N/A STAFCmdParamsList.append('--clearDegradedState')
6063N/A
3327N/A if dsIndexList:
3327N/A STAFCmdParamsList.append('-i %s' % (' -i '.join(dsIndexList)))
4865N/A
4865N/A if dsTmpDir:
4865N/A STAFCmdParamsList.append('--tmpdirectory %s' % dsTmpDir)
4865N/A
4865N/A if startTask:
4865N/A STAFCmdParamsList.append('-t %s' % startTask)
4865N/A
4865N/A if schedulePattern:
4865N/A STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
4865N/A
3327N/A if dsHelp:
3327N/A STAFCmdParamsList.append('-H')
3327N/A
3327N/A if dsVersion:
3327N/A STAFCmdParamsList.append('-V')
3327N/A
3327N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3327N/A </script>
3327N/A
3327N/A <call function="'runCommand'">
3327N/A {
3327N/A 'name' : 'Rebuild index script',
3327N/A 'command' : STAFCmd,
3327N/A 'arguments' : STAFCmdParams,
3327N/A 'location' : location,
5061N/A 'expectedRC' : expectedRC,
5061N/A 'knownIssue' : knownIssue
3327N/A }
3327N/A </call>
4865N/A
4865N/A <script>
5064N/A savSTAXResult=STAXResult
5064N/A
4865N/A resultString = STAXResult[0][1]
4865N/A </script>
4865N/A
4865N/A <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None">
4865N/A <sequence>
4865N/A <message>
5064N/A 'Check rebuild-index task successfully completed'
4865N/A </message>
4865N/A
4865N/A <call function="'checkTaskExecution'">
4865N/A {
4865N/A 'dsPath' : dsPath,
4865N/A 'dsInstanceAdminPort' : dsInstanceAdminPort,
4865N/A 'dsInstanceHost' : dsInstanceHost ,
4865N/A 'dsInstanceDn' : dsInstanceDn ,
4865N/A 'dsInstancePswd' : dsInstancePswd ,
4865N/A 'outputToCheck' : resultString
4865N/A }
4865N/A </call>
4865N/A </sequence>
4865N/A </if>
5064N/A
5064N/A <return>savSTAXResult</return>
3327N/A </sequence>
3327N/A </function>
3327N/A
3327N/A <!-- This function execute the verify-index tool -->
3327N/A <function name="verifyIndexWithScript" scope="local">
3327N/A <function-prolog>
3327N/A This function execute the verify-index tool
3327N/A </function-prolog>
3327N/A <function-map-args>
3327N/A <function-arg-def name="location"
3327N/A type="optional"
3327N/A default="STAF_REMOTE_HOSTNAME">
3327N/A <function-arg-description>
3327N/A Location of target host
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="hostname"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsPath"
3327N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3327N/A <function-arg-description>
3327N/A Pathname to installation root
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filepath"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsBaseDN" type="required">
3327N/A <function-arg-description>
3327N/A Specify the base DN for which to perform the verification
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="dn"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsIndexList" type="optional">
3327N/A <function-arg-description>
3327N/A Specify the name of indexes for which to perform the verification
3327N/A This should be passed as a python array like
3327N/A [ 'uid','telephonenumber' ]
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="array"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsClean" type="optional">
3327N/A <function-arg-description>
3327N/A Verify that an index is clean
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsCountErrors" type="optional">
3327N/A <function-arg-description>
3327N/A Count the number of errors found during the verification
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsHelp" type="optional">
3327N/A <function-arg-description>
3327N/A Display this usage information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsVersion" type="optional">
3327N/A <function-arg-description>
3327N/A Display Directory Server version information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="expectedRC" type="optional" default="0">
3327N/A <function-arg-description>
3327N/A Expected return code value. Default value is 0.
3327N/A Wildcard 'noCheck' to not check the RC
3327N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3327N/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>
3327N/A </function-map-args>
3327N/A <sequence>
3327N/A <!-- Build the Command -->
3327N/A <script>
3327N/A STAFCmdParamsList=[]
3327N/A STAFCmdParams=''
3327N/A
3327N/A if dsPath:
3327N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3327N/A STAFCmd='%s/verify-index%s' % (dsBinPath,fileExt)
3327N/A
3327N/A if dsBaseDN:
3327N/A STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
3327N/A
3327N/A if dsIndexList:
3327N/A STAFCmdParamsList.append('-i %s' % (' -i '.join(dsIndexList)))
3327N/A
3327N/A if dsClean:
3327N/A STAFCmdParamsList.append('-c')
3327N/A
3327N/A if dsCountErrors:
3327N/A STAFCmdParamsList.append('--countErrors ')
3327N/A
3327N/A if dsHelp:
3327N/A STAFCmdParamsList.append('-H')
3327N/A
3327N/A if dsVersion:
3327N/A STAFCmdParamsList.append('-V')
3327N/A
3327N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3327N/A </script>
3327N/A
3327N/A <call function="'runCommand'">
3327N/A {
3327N/A 'name' : 'Verify index script',
3327N/A 'command' : STAFCmd,
3327N/A 'arguments' : STAFCmdParams,
3327N/A 'location' : location,
3951N/A 'expectedRC' : expectedRC,
5061N/A 'knownIssue' : knownIssue
3327N/A }
3327N/A </call>
3327N/A
3327N/A <return>STAXResult</return>
3327N/A </sequence>
3327N/A </function>
3327N/A
3327N/A <!-- This function execute the list-backends tool -->
3327N/A <function name="listBackendsWithScript" scope="local">
3327N/A <function-prolog>
3327N/A This function execute the list-backends tool
3327N/A </function-prolog>
3327N/A <function-map-args>
3327N/A <function-arg-def name="location"
3327N/A type="optional"
3327N/A default="STAF_REMOTE_HOSTNAME">
3327N/A <function-arg-description>
3327N/A Location of target host
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="hostname"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsPath"
3327N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3327N/A <function-arg-description>
3327N/A Pathname to installation root
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filepath"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsBaseDN" type="optional">
3327N/A <function-arg-description>
3327N/A Specify the baseDN from which the list-backends utility
3327N/A should list the backend ID
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="dn"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsBackendID" type="optional">
3327N/A <function-arg-description>
3327N/A Specify the backend ID from which the tool should display
3327N/A the associated base DN
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="array"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsHelp" type="optional">
3327N/A <function-arg-description>
3327N/A Display this usage information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsVersion" type="optional">
3327N/A <function-arg-description>
3327N/A Display Directory Server version information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="expectedRC" type="optional" default="0">
3327N/A <function-arg-description>
3327N/A Expected return code value. Default value is 0.
3327N/A Wildcard 'noCheck' to not check the RC
3327N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3327N/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>
3327N/A </function-map-args>
3327N/A <sequence>
3327N/A <!-- Build the Command -->
3327N/A <script>
3327N/A STAFCmdParamsList=[]
3327N/A STAFCmdParams=''
3327N/A
3327N/A if dsPath:
3327N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3327N/A STAFCmd='%s/list-backends%s' % (dsBinPath,fileExt)
3327N/A
3327N/A if dsBaseDN:
3327N/A STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
3327N/A
3327N/A if dsBackendID:
3327N/A STAFCmdParamsList.append('-n %s' % dsBackendID)
3327N/A
3327N/A if dsHelp:
3327N/A STAFCmdParamsList.append('-H')
3327N/A
3327N/A if dsVersion:
3327N/A STAFCmdParamsList.append('-V')
3327N/A
3327N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3327N/A </script>
3327N/A
3327N/A <call function="'runCommand'">
3327N/A {
3327N/A 'name' : 'List backends script',
3327N/A 'command' : STAFCmd,
3327N/A 'arguments' : STAFCmdParams,
3327N/A 'location' : location,
3951N/A 'expectedRC' : expectedRC,
3951N/A 'knownIssue' : knownIssue
3327N/A }
3327N/A </call>
3327N/A
3327N/A <return>STAXResult</return>
3327N/A </sequence>
3327N/A </function>
3327N/A
3327N/A <!-- This function execute the dbtest tool -->
3327N/A <function name="dbtestWithScript" scope="local">
3327N/A <function-prolog>
3327N/A This function execute the dbtest tool
3327N/A </function-prolog>
3327N/A <function-map-args>
3327N/A <function-arg-def name="location"
3327N/A type="optional"
3327N/A default="STAF_REMOTE_HOSTNAME">
3327N/A <function-arg-description>
3327N/A Location of target host
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="hostname"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsPath"
3327N/A type="optional"
4153N/A default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
3327N/A <function-arg-description>
3327N/A Pathname to installation root
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="filepath"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="subcommand" type="required">
3327N/A <function-arg-description>
3327N/A The subcommand for dbtest
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsBaseDN" type="optional">
3327N/A <function-arg-description>
3327N/A Base DN of the entry container to debug
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="dn"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsBackendID" type="optional">
3327N/A <function-arg-description>
3327N/A Backend ID of the local DB backend to debug
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsDatabaseName" type="optional">
3327N/A <function-arg-description>
3327N/A Name of the database container to debug
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsMinKeyValue" type="optional">
3327N/A <function-arg-description>
3327N/A Only show records with keys that should be ordered after the
3327N/A provided value using the comparator for the database container
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsMaxKeyValue" type="optional">
3327N/A <function-arg-description>
3327N/A Only show records with keys that should be ordered before the
3327N/A provided value using the comparator for the database container
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsSkipDecode" type="optional">
3327N/A <function-arg-description>
3327N/A Skip decoding the local database to their appropriate types.
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsMinDataSize" type="optional">
3327N/A <function-arg-description>
3327N/A Only show records whose data is no smaller than the provided value
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsMaxDataSize" type="optional">
3327N/A <function-arg-description>
3327N/A Only show records whose data is no larger than the provided value
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="string"/>
4865N/A </function-arg-def>
3327N/A <function-arg-def name="dsHelp" type="optional">
3327N/A <function-arg-description>
3327N/A Display this usage information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="dsVersion" type="optional">
3327N/A <function-arg-description>
3327N/A Display Directory Server version information
3327N/A </function-arg-description>
3327N/A <function-arg-property name="type" value="option"/>
3327N/A </function-arg-def>
3327N/A <function-arg-def name="expectedRC" type="optional" default="0">
3327N/A <function-arg-description>
3327N/A Expected return code value. Default value is 0.
3327N/A Wildcard 'noCheck' to not check the RC
3327N/A </function-arg-description>
4865N/A <function-arg-property name="type" value="integer"/>
3327N/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>
3327N/A </function-map-args>
3327N/A <sequence>
3327N/A <!-- Build the Command -->
3327N/A <script>
3327N/A STAFCmdParamsList=[]
3327N/A STAFCmdParams=''
3327N/A
3327N/A if dsPath:
3327N/A dsBinPath='%s/%s' % (dsPath,fileFolder)
3327N/A STAFCmd='%s/dbtest%s' % (dsBinPath,fileExt)
3327N/A
3327N/A if subcommand:
3327N/A STAFCmdParamsList.append(subcommand)
3327N/A
3327N/A if dsBaseDN:
3327N/A STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
3327N/A
3327N/A if dsBackendID:
3327N/A STAFCmdParamsList.append('-n %s' % dsBackendID)
3327N/A
3327N/A if dsDatabaseName:
3327N/A STAFCmdParamsList.append('-d %s' % dsDatabaseName)
3327N/A
3327N/A if dsMinKeyValue:
3327N/A STAFCmdParamsList.append('-k %s' % dsMinKeyValue)
3327N/A
3327N/A if dsMaxKeyValue:
3338N/A STAFCmdParamsList.append('-K %s' % dsMaxKeyValue)
3327N/A
3327N/A if dsSkipDecode:
3327N/A STAFCmdParamsList.append('-p')
3327N/A
3327N/A if dsMinDataSize:
3327N/A STAFCmdParamsList.append('-s %s' % dsMinDataSize)
3327N/A
3327N/A if dsMaxDataSize:
3327N/A STAFCmdParamsList.append('-S %s' % dsMaxDataSize)
3327N/A
3327N/A if dsHelp:
3327N/A STAFCmdParamsList.append('-H')
3327N/A
3327N/A if dsVersion:
3327N/A STAFCmdParamsList.append('-V')
3327N/A
3327N/A STAFCmdParams=' '.join(STAFCmdParamsList)
3327N/A </script>
3327N/A
3327N/A <call function="'runCommand'">
3327N/A {
3327N/A 'name' : 'Dbtest script',
3327N/A 'command' : STAFCmd,
3327N/A 'arguments' : STAFCmdParams,
3327N/A 'location' : location,
3951N/A 'expectedRC' : expectedRC,
3951N/A 'knownIssue': knownIssue
3327N/A }
3327N/A </call>
3327N/A
3327N/A <return>STAXResult</return>
3327N/A </sequence>
3327N/A </function>
2788N/A</stax>