From 4e7101fd2097719f302d0948d855f23fff6059f8 Mon Sep 17 00:00:00 2001
From: Christophe Sovant <christophe.sovant@forgerock.com>
Date: Mon, 26 Oct 2009 15:18:37 +0000
Subject: [PATCH] Frontport of 2.2 tests to the trunk
---
opends/tests/staf-tests/shared/functions/dsadm.xml | 1459 +++++++++++++++++++--------------------------------------
1 files changed, 491 insertions(+), 968 deletions(-)
diff --git a/opends/tests/staf-tests/shared/functions/dsadm.xml b/opends/tests/staf-tests/shared/functions/dsadm.xml
index 7792f1e..1fb0532 100755
--- a/opends/tests/staf-tests/shared/functions/dsadm.xml
+++ b/opends/tests/staf-tests/shared/functions/dsadm.xml
@@ -55,7 +55,7 @@
<function name="SetUpDsWithScript" scope="local">
<function-prolog>
This function sets up a Directory Server using a script
- </function-prolog>
+ </function-prolog>
<function-map-args>
<function-arg-def name="location"
type="optional"
@@ -92,7 +92,7 @@
Directory server JMX port number
</function-arg-description>
<function-arg-property name="type" value="Port number"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBaseDN" type="optional">
<function-arg-description>
Base DN (only single base DN supported).
@@ -104,13 +104,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBindPwd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBindPwdFile" type="optional">
<function-arg-description>
Bind password file
@@ -128,7 +128,7 @@
Do not start server after setup
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsHelp" type="optional">
<function-arg-description>
Help option
@@ -190,7 +190,7 @@
if dsHelp:
STAFCmdParamsList.append('-H')
-
+
STAFCmdParams=' '.join(STAFCmdParamsList)
</script>
@@ -222,7 +222,7 @@
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
</function-arg-def>
- <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
+ <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<function-arg-description>
Pathname to installation root
</function-arg-description>
@@ -233,7 +233,7 @@
Directory server version
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsSystemInfo" type="optional">
<function-arg-description>
Directory server system info
@@ -324,8 +324,8 @@
<function name="StopDsWithScript">
<function-prolog>
This function starts a Directory Server using the script
- </function-prolog>
- <function-map-args>
+ </function-prolog>
+ <function-map-args>
<function-arg-def name="location"
type="optional"
default="STAF_REMOTE_HOSTNAME">
@@ -359,7 +359,7 @@
Use SSL for secure communication with the server
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsUseStartTLS" type="optional">
<function-arg-description>
Use StartTLS for secure communication with the server
@@ -395,19 +395,19 @@
Use the proxied authorization control with the given authorization ID
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsStopReason" type="optional">
<function-arg-description>
Reason the server is being stopped or restarted
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsRestart" type="optional">
<function-arg-description>
Attempt to automatically restart the server once it has stopped
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsStopTime" type="optional">
<function-arg-description>
Time to begin the shutdown in YYYYMMDDhhmmss format (local time)
@@ -431,7 +431,7 @@
Certificate keystore PIN
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsKeyStorePwdFile" type="optional">
<function-arg-description>
Certificate keystore PIN file
@@ -449,7 +449,7 @@
Certificate trust store PIN
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsTrustStorePwdFile" type="optional">
<function-arg-description>
Certificate trust store PIN file
@@ -462,6 +462,22 @@
</function-arg-description>
<function-arg-property name="type" value="option"/>
</function-arg-def>
+ <function-arg-def name="noOfLoops"
+ type="optional"
+ default="10">
+ <function-arg-description>
+ Number of iterations (for isStopped())
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="noOfMilliSeconds"
+ type="optional"
+ default="2000">
+ <function-arg-description>
+ Number of seconds to wait between iterations (for isStopped())
+ </function-arg-description>
+ <function-arg-property name="type" value="seconds"/>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0.
@@ -561,9 +577,17 @@
'knownIssue': knownIssue
}
</call>
- <call function="'Sleep'">
- { 'sleepForMilliSeconds' : 10000 }
- </call>
+
+ <if expr="expectedRC == 0">
+ <!--- Check that DS stopped -->
+ <call function="'isStopped'">
+ { 'location' : location,
+ 'dsPath' : dsPath,
+ 'noOfLoops' : noOfLoops,
+ 'noOfMilliSeconds' : noOfMilliSeconds
+ }
+ </call>
+ </if>
</sequence>
</function>
@@ -596,7 +620,7 @@
Backend ID for the backend to import
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="extraParams" type="optional" default="''">
<function-arg-description>
Optional extra parameters for specific test cases
@@ -615,13 +639,13 @@
</function-arg-description>
<function-arg-property name="type" value="string" />
</function-arg-def>
- </function-map-args>
+ </function-map-args>
<sequence>
- <script>
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
- </script>
+ </script>
<message>
'%s/import-ldif%s -l %s -n %s %s' % (dsBinPath,fileExt,ldifFile,backEnd,extraParams)
@@ -643,7 +667,7 @@
<function name="ImportLdifWithScript">
<function-prolog>
This function performs an offline import of an ldif file using the script
- </function-prolog>
+ </function-prolog>
<function-map-args>
<function-arg-def name="location"
type="optional"
@@ -659,13 +683,13 @@
<function-arg-description>
Pathname to installation root
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceHost" type="optional">
<function-arg-description>
Directory server hostname or IP address
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceAdminPort" type="optional">
<function-arg-description>
Directory server adminport number
@@ -677,14 +701,14 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="dsLdifFile" type="required">
+ </function-arg-def>
+ <function-arg-def name="dsLdifFile" type="optional">
<function-arg-description>
Path to the LDIF file to be imported
</function-arg-description>
@@ -701,25 +725,25 @@
Append to an existing database rather than overwriting it
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsReplaceExisting" type="optional">
<function-arg-description>
Replace existing entries when appending to the database
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBackEnd" type="optional">
<function-arg-description>
Backend ID for the backend to import
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBranchDN" type="optional">
<function-arg-description>
Base DN of a branch to include in the LDIF import
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsIncludeBranch" type="optional">
<function-arg-description>
Base DN of a branch to include in the LDIF import
@@ -731,7 +755,7 @@
Base DN of a branch to exclude from the LDIF import
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsIncludeAttribute" type="optional">
<function-arg-description>
Attribute to include in the LDIF import
@@ -761,7 +785,7 @@
Write rejected entries to the specified file
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsOverWriteRejects" type="optional">
<function-arg-description>
Overwrite an existing rejects file rather than appending to it
@@ -773,7 +797,7 @@
Seed for the MakeLDIF random number generator
</function-arg-description>
<function-arg-property name="type" value="seed"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsSkipSchemaValidation" type="optional">
<function-arg-description>
Skip schema validation during the LDIF import
@@ -803,12 +827,12 @@
Display usage information
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="startTask" type="optional">
<function-arg-description>
Start time for task
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
@@ -842,9 +866,9 @@
</script>
<!-- Set common ldap arguments -->
- <call function="'_adminCommonArgs'" />
+ <call function="'_adminCommonArgs'" />
- <script>
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/import-ldif%s' % (dsBinPath,fileExt)
@@ -947,7 +971,7 @@
<function-prolog>
This function performs an on line import task of an ldif file
</function-prolog>
- <function-map-args>
+ <function-map-args>
<function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
<function-arg-description>
Location of target host
@@ -977,13 +1001,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -1043,7 +1067,7 @@
Optional replace existing data
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="excludeBranches" type="optional" default="''">
<function-arg-description>
Optional exclude branches
@@ -1073,7 +1097,7 @@
Optional exclude filters
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="includeFilters" type="optional" default="''">
<function-arg-description>
Optional exclude filters
@@ -1085,26 +1109,26 @@
Number of ldap check tries when checking if task is complete
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="sleepBetweenLdapCheckTries" type="optional" default="2000">
<function-arg-description>
Sleep time in milliseconds between ldap check tries
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
Known issue. Corresponds to an issue number.
</function-arg-description>
<function-arg-property name="type" value="string" />
- </function-arg-def>
+ </function-arg-def>
</function-map-args>
<sequence>
@@ -1150,7 +1174,7 @@
ldifLines.append('ds-task-import-replace-existing: %s' % replaceExisting )
</script>
- <script>
+ <script>
for branch in excludeBranches:
ldifLines.append('ds-task-import-exclude-branch: %s' % branch )
@@ -1261,7 +1285,7 @@
Directory server hostname or IP address
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsPort"
type="optional"
default="DIRECTORY_INSTANCE_PORT">
@@ -1285,7 +1309,7 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsPswd"
type="optional"
default="DIRECTORY_INSTANCE_PSWD">
@@ -1293,7 +1317,7 @@
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="expectedEntries" type="required">
<function-arg-description>
Entries expected to be present after import
@@ -1315,7 +1339,7 @@
Optional attributes expected to be present after import
</function-arg-description>
<function-arg-property name="type" value="list"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="missingAttributes"
type="optional"
default="'NULL'">
@@ -1441,162 +1465,13 @@
'dsAdminPort' : myadminport ,
'dsBindDN' : mydn ,
'dsBindPwd' : mypswd }
- </call>
+ </call>
</if>
</sequence>
</function>
-
- <function name="exportLdif">
- <function-prolog>
- This function performs an export to an ldif file on or off line
- </function-prolog>
- <function-map-args>
- <function-arg-def name="location"
- type="optional"
- default="STAF_REMOTE_HOSTNAME">
- <function-arg-description>
- Location of target host
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
- <function-arg-def name="dsPath"
- type="optional"
- default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
- <function-arg-description>
- Pathname to installation root
- </function-arg-description>
- <function-arg-property name="type" value="pathname"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceHost" type="optional">
- <function-arg-description>
- Directory server hostname or IP address
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceAdminPort" type="optional">
- <function-arg-description>
- Directory server admin port number
- </function-arg-description>
- <function-arg-property name="type" value="Port number"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceDn" type="optional">
- <function-arg-description>
- Bind DN
- </function-arg-description>
- <function-arg-property name="type" value="DN"/>
- </function-arg-def>
- <function-arg-def name="dsInstancePswd" type="optional">
- <function-arg-description>
- Bind password
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="ldifFile" type="required">
- <function-arg-description>
- The name of the ldif file to be written
- </function-arg-description>
- <function-arg-property name="type" value="filename"/>
- </function-arg-def>
- <function-arg-def name="backEnd" type="optional" default="DIRECTORY_INSTANCE_BE">
- <function-arg-description>
- The name of the database backend
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="extraParams" type="optional" default="''">
- <function-arg-description>
- Optional extra parameters for specific test cases
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="startTask" type="optional">
- <function-arg-description>
- Start time for task
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="expectedRC" type="optional" default="0">
- <function-arg-description>
- Expected return code value. Default value is 0.
- Wildcard 'noCheck' to not check the RC
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="knownIssue" type="optional" default="None">
- <function-arg-description>
- Known issue. Corresponds to an issue number.
- </function-arg-description>
- <function-arg-property name="type" value="string" />
- </function-arg-def>
- <function-arg-def name="schedulePattern" type="optional">
- <function-arg-description>
- Indicates the task is recurring and will be scheduled
- according to the value argument expressed in crontab(5)
- compatible time/date pattern
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- </function-map-args>
-
- <sequence>
-
-
- <script>
- STAFCmdParamsList=[]
- STAFCmdParams=''
- </script>
-
- <!-- Set common ldap arguments -->
- <call function="'_adminCommonArgs'" />
-
- <script>
- if dsPath:
- dsBinPath='%s/%s' % (dsPath,fileFolder)
- STAFCmd='%s/export-ldif%s' % (dsBinPath,fileExt)
-
- if ldifFile:
- STAFCmdParamsList.append('-l %s' % ldifFile)
-
- if backEnd:
- STAFCmdParamsList.append('-n %s' % backEnd)
-
- if extraParams:
- STAFCmdParamsList.append('%s' % extraParams)
-
- if startTask:
- STAFCmdParamsList.append('-t %s' % startTask)
-
- if schedulePattern:
- STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
-
- STAFCmdParams=' '.join(STAFCmdParamsList)
-
- </script>
- <message>
- '%s %s' % (STAFCmd, STAFCmdParams)
- </message>
-
- <call function="'runCommand'">
- { 'location' : location,
- 'name' : 'Export Script',
- 'command' : STAFCmd,
- 'arguments' : STAFCmdParams,
- 'expectedRC': expectedRC,
- 'knownIssue': knownIssue
- }
- </call>
- <return>
- STAXResult
- </return>
- </sequence>
- </function>
-
-
-
-
- <!-- Export Task Function -->
- <function name="exportLdifTask">
+ <!-- Export-ldif Function -->
+ <function name="exportLdifWithScript">
<function-prolog>
This function performs an on line export task of an ldif file
</function-prolog>
@@ -1625,18 +1500,24 @@
</function-arg-description>
<function-arg-property name="type" value="integer"/>
</function-arg-def>
+ <function-arg-def name="dsInstanceAdminPort" type="optional">
+ <function-arg-description>
+ Directory server admin port number
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
<function-arg-def name="dsInstanceDn" type="optional">
<function-arg-description>
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -1655,24 +1536,36 @@
</function-arg-description>
<function-arg-property name="type" value="string"/>
</function-arg-def>
- <function-arg-def name="isCompressed" type="optional" default="'FALSE'">
+ <function-arg-def name="wrapColumn" type="optional">
+ <function-arg-description>
+ Column at which to wrap long lines
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="startTask" type="optional" default="'0'">
+ <function-arg-description>
+ Optional exclude attributes
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="isCompressed" type="optional">
<function-arg-description>
Optional exported ldif data file compressed
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
</function-arg-def>
- <function-arg-def name="isEncrypted" type="optional" default="'FALSE'">
+ <function-arg-def name="isEncrypted" type="optional">
<function-arg-description>
Optional exported ldif data file encrypted
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
</function-arg-def>
- <function-arg-def name="append" type="optional" default="'FALSE'">
+ <function-arg-def name="append" type="optional">
<function-arg-description>
Optional append exported ldif data
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="excludeBranches" type="optional" default="''">
<function-arg-description>
Optional exclude branches
@@ -1702,25 +1595,39 @@
Optional exclude filters
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="includeFilters" type="optional" default="''">
<function-arg-description>
Optional exclude filters
</function-arg-description>
<function-arg-property name="type" value="option"/>
</function-arg-def>
- <function-arg-def name="isSignedHash" type="optional" default="'FALSE'">
+ <function-arg-def name="isSignedHash" type="optional" default="'False'">
<function-arg-description>
Optional generate a signed hash of the export data
</function-arg-description>
- <function-arg-property name="type" value="option"/>
+ <function-arg-property name="type" value="boolean"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional" default="''">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
</function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="schedulePattern" type="optional">
+ <function-arg-description>
+ Indicates the task is recurring and will be scheduled
+ according to the value argument expressed in crontab(5)
+ compatible time/date pattern
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
</function-arg-def>
</function-map-args>
@@ -1729,120 +1636,124 @@
<!-- Local variables -->
<script>
- myLocation=location
- myPath=dsPath
-
- try:
- import hashlib
- m = hashlib.md5()
- except ImportError:
- import md5
- m = md5.new()
- m.update(location)
- m.update(dsPath)
- taskLdifFile='export-task-%s.ldif' % m.hexdigest()
- taskLdif='%s/%s' % (remote.temp,taskLdifFile)
- tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
-
- <!-- Build the export task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-export')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.ExportTask')
- ldifLines.append('ds-task-id: %s' % taskID)
-
- ldifLines.append('ds-task-export-backend-id: %s' % backEnd )
- ldifLines.append('ds-task-export-ldif-file: %s' % ldifFile )
- ldifLines.append('ds-task-export-compress-ldif: %s' % isCompressed )
- ldifLines.append('ds-task-export-encrypt-ldif: %s' % isEncrypted )
- ldifLines.append('ds-task-export-sign-hash: %s' % isSignedHash )
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
</script>
+ <!-- Set common ldap arguments -->
+ <call function="'_adminCommonArgs'" />
+
<script>
+ if dsPath:
+ dsBinPath='%s/%s' % (dsPath,fileFolder)
+ STAFCmd='%s/export-ldif%s' % (dsBinPath,fileExt)
+
+ if dsInstancePort:
+ STAFCmdParamsList.append('-p %s' % dsInstancePort)
+
+ if ldifFile:
+ STAFCmdParamsList.append('-l %s' % ldifFile)
+
+ if startTask:
+ STAFCmdParamsList.append('-t %s' % startTask)
+
+ if append:
+ STAFCmdParamsList.append('-a')
+
+ if backEnd:
+ STAFCmdParamsList.append('-n %s' % backEnd)
+
+ if schedulePattern:
+ STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
+
+ if isCompressed:
+ STAFCmdParamsList.append('-c')
+
+ if isEncrypted:
+ STAFCmdParamsList.append('-y')
+
+ if wrapColumn:
+ STAFCmdParamsList.append('--wrapColumn %s' % wrapColumn)
+
+ if excludeBranches:
for branch in excludeBranches:
- ldifLines.append('ds-task-export-exclude-branch: %s' % branch )
+ STAFCmdParamsList.append('-B "%s"' % branch )
+ if includeBranches:
for branch in includeBranches:
- ldifLines.append('ds-task-export-include-branch: %s' % branch )
+ STAFCmdParamsList.append('-b "%s"' % branch )
+ if excludeAttributes:
for attribute in excludeAttributes:
- ldifLines.append('ds-task-export-exclude-attribute: %s' % attribute )
+ STAFCmdParamsList.append('-e "%s"' % attribute)
+ if includeAttributes:
for attribute in includeAttributes:
- ldifLines.append('ds-task-export-include-attribute: %s' % attribute )
+ STAFCmdParamsList.append('-i "%s"' % attribute)
- for filter in excludeFilters:
- ldifLines.append('ds-task-export-exclude-filter: %s' % filter)
-
+ if includeFilters:
for filter in includeFilters:
- ldifLines.append('ds-task-export-include-filter: %s' % filter)
- </script>
-
- <!-- Write out the export-task ldif -->
- <script>
- outfile = open(tmpTaskLdif,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
- <!-- Copy the export-task ldif to remote host -->
- <message>'Copy export task ldif (%s) to %s' % (tmpTaskLdif,taskLdif)</message>
- <call function="'copyFile'">
- { 'location' : STAXServiceMachine,
- 'srcfile' : tmpTaskLdif,
- 'destfile' : taskLdif,
- 'remotehost' : myLocation }
- </call>
+ STAFCmdParamsList.append('-I "%s"' % filter)
- <!-- Start the task using ldap task interface -->
- <call function="'StartLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'taskLabel' : 'Online Export Task',
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd,
- 'dsTaskLdif' : taskLdif,
- 'expectedRC' : expectedRC }
+ if excludeFilters:
+ for filter in excludeFilters:
+ STAFCmdParamsList.append('-E "%s"' % filter)
+
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+
+ </script>
+
+ <message>
+ '%s %s' % (STAFCmd, STAFCmdParams)
+ </message>
+ <message>
+ 'Start exportLdifTask'
+ </message>
+
+
+ <call function="'runCommand'">
+ { 'location' : location,
+ 'name' : 'Export Script',
+ 'command' : STAFCmd,
+ 'arguments' : STAFCmdParams,
+ 'expectedRC' : expectedRC
+ }
</call>
<script>
- STAFCmdRC=STAXResult[0]
+ savSTAXResult=STAXResult
+
+ resultString = STAXResult[0][1]
</script>
-
- <!-- Check that the task is completed -->
- <if expr="STAFCmdRC == 0">
+
+ <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None">
<sequence>
- <call function="'CheckLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'dsTaskDn' : taskDN,
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd }
- </call>
- <message>'Check CheckLdapTask returns RC=0'</message>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <message>
+ 'Check export ldif task successfully completed'
+ </message>
+
+ <call function="'checkTaskExecution'">
+ {
+ 'dsPath' : dsPath,
+ 'dsInstanceAdminPort' : dsInstanceAdminPort,
+ 'dsInstanceHost' : dsInstanceHost ,
+ 'dsInstanceDn' : dsInstanceDn ,
+ 'dsInstancePswd' : dsInstancePswd ,
+ 'outputToCheck' : resultString
+ }
+ </call>
</sequence>
</if>
+
+ <return>
+ savSTAXResult
+ </return>
</sequence>
</function>
-
-
<!-- Backup Function -->
<function name="backup">
<function-prolog>
@@ -1865,12 +1776,12 @@
</function-arg-description>
<function-arg-property name="type" value="pathname"/>
</function-arg-def>
- <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-def name="dsInstanceHost" type="optional">
<function-arg-description>
Directory server hostname or IP address
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceAdminPort" type="optional">
<function-arg-description>
Directory server admin port number
@@ -1882,13 +1793,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="backEnd" type="optional" default="DIRECTORY_INSTANCE_BE">
<function-arg-description>
Optional the name of the database backend
@@ -1906,20 +1817,20 @@
Optional extra parameters for specific test cases
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="startTask" type="optional">
<function-arg-description>
Start time for task
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
<function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
Known issue. Corresponds to an issue number.
@@ -1949,10 +1860,10 @@
STAFCmdParams=''
</script>
- <!-- Set common ldap arguments -->
- <call function="'_adminCommonArgs'" />
+ <!-- Set common ldap arguments -->
+ <call function="'_adminCommonArgs'" />
- <script>
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/backup%s' % (dsBinPath,fileExt)
@@ -1981,7 +1892,7 @@
<message>
'%s %s' % (STAFCmd, STAFCmdParams)
</message>
-
+
<call function="'runCommand'">
{ 'location' : location,
'name' : 'Backup Script',
@@ -1990,13 +1901,13 @@
'expectedRC': expectedRC,
'knownIssue': knownIssue
}
- </call>
+ </call>
<return>
STAXResult
</return>
</sequence>
- </function>
+ </function>
<!-- Backup Task Function -->
<function name="backupTask">
@@ -2033,18 +1944,18 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="backupDir" type="required">
<function-arg-description>
Path to the target directory for the backup file(s)
@@ -2057,7 +1968,7 @@
</function-arg-description>
<function-arg-property name="type" value="string"/>
</function-arg-def>
- <function-arg-def name="backupAll" type="optional" default="'FALSE'">
+ <function-arg-def name="backupAll" type="optional" default="'False'">
<function-arg-description>
Optional back up all backends in the server
</function-arg-description>
@@ -2104,13 +2015,13 @@
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
</function-map-args>
<sequence>
- <script>
+ <script>
myLocation=location
myPath=dsPath
@@ -2192,7 +2103,7 @@
<!-- Check that the ldap task is completed -->
<if expr="STAFCmdRC == 0">
<sequence>
- <call function="'CheckLdapTask'">
+ <call function="'CheckLdapTask'">
{ 'location' : myLocation,
'dsPath' : myPath,
'dsTaskDn' : taskDN,
@@ -2200,14 +2111,14 @@
'dsPort' : dsInstancePort,
'dsBindDn' : dsInstanceDn,
'dsBindPswd' : dsInstancePswd }
- </call>
- <message>'Check CheckLdapTask returns RC=0'</message>
- <call function="'checktestRC'">
+ </call>
+ <message>'Check CheckLdapTask returns RC=0'</message>
+ <call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
- </call>
+ </call>
</sequence>
- </if>
+ </if>
</sequence>
</function>
@@ -2235,12 +2146,12 @@
</function-arg-description>
<function-arg-property name="type" value="pathname"/>
</function-arg-def>
- <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-def name="dsInstanceHost" type="optional">
<function-arg-description>
Directory server hostname or IP address
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceAdminPort" type="optional">
<function-arg-description>
Directory server admin port number
@@ -2252,13 +2163,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="backupDir" type="required">
<function-arg-description>
The directory where the backup files will be placed
@@ -2270,20 +2181,20 @@
Optional extra parameters for specific test cases
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="startTask" type="optional">
<function-arg-description>
Start time for task
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
<function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
Known issue. Corresponds to an issue number.
@@ -2314,9 +2225,9 @@
</script>
<!-- Set common ldap arguments -->
- <call function="'_adminCommonArgs'" />
+ <call function="'_adminCommonArgs'" />
- <script>
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/restore%s' % (dsBinPath,fileExt)
@@ -2351,7 +2262,7 @@
'expectedRC': expectedRC,
'knownIssue': knownIssue
}
- </call>
+ </call>
<return>
STAXResult
@@ -2394,12 +2305,12 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -2411,7 +2322,7 @@
The name of the backup directory
</function-arg-description>
<function-arg-property name="type" value="pathname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="backupId" type="optional">
<function-arg-description>
Optional the name of the backupId
@@ -2429,7 +2340,7 @@
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
</function-map-args>
@@ -2451,7 +2362,7 @@
taskLdif='%s/%s' % (remote.temp,taskLdifFile)
tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ </script>
<!-- Build the restore task configuration object -->
<script>
@@ -2509,7 +2420,7 @@
<!-- Check that the ldap task is completed -->
<if expr="STAFCmdRC == 0">
<sequence>
- <call function="'CheckLdapTask'">
+ <call function="'CheckLdapTask'">
{ 'location' : myLocation,
'dsPath' : myPath,
'dsTaskDn' : taskDN,
@@ -2517,13 +2428,13 @@
'dsPort' : dsInstancePort,
'dsBindDn' : dsInstanceDn,
'dsBindPswd' : dsInstancePswd }
- </call>
- <message>'Check CheckLdapTask returns RC=0'</message>
- <call function="'checktestRC'">
+ </call>
+ <message>'Check CheckLdapTask returns RC=0'</message>
+ <call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
- </call>
- </sequence>
+ </call>
+ </sequence>
</if>
</sequence>
@@ -2564,25 +2475,41 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
</function-arg-description>
<function-arg-property name="type" value="string"/>
</function-arg-def>
+ <function-arg-def name="noOfLoops"
+ type="optional"
+ default="10">
+ <function-arg-description>
+ Number of iterations (for isStopped())
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="noOfMilliSeconds"
+ type="optional"
+ default="2000">
+ <function-arg-description>
+ Number of seconds to wait between iterations (for isStopped())
+ </function-arg-description>
+ <function-arg-property name="type" value="seconds"/>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
</function-map-args>
@@ -2605,7 +2532,7 @@
taskLdif='%s/%s' % (remote.temp,taskLdifFile)
tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ </script>
<!-- Build the shutdown task configuration object -->
@@ -2654,7 +2581,18 @@
<script>
STAFCmdRC=STAXResult[0]
</script>
-
+
+ <if expr="expectedRC == 0">
+ <!--- Check that DS stopped -->
+ <call function="'isStopped'">
+ { 'location' : location,
+ 'dsPath' : dsPath,
+ 'noOfLoops' : noOfLoops,
+ 'noOfMilliSeconds' : noOfMilliSeconds
+ }
+ </call>
+ </if>
+
<return>STAFCmdRC</return>
</sequence>
@@ -2695,13 +2633,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -2713,7 +2651,7 @@
Expected return code value. Default value is 0
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
</function-map-args>
@@ -2736,7 +2674,7 @@
taskLdif='%s/%s' % (remote.temp,taskLdifFile)
tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ </script>
<!-- Build the restart task configuration object -->
<script>
@@ -2792,7 +2730,7 @@
<call function="'isAlive'">
{ 'noOfLoops' : 10 ,
'noOfMilliSeconds' : 2000 }
- </call>
+ </call>
</sequence>
</if>
@@ -2838,12 +2776,12 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -2855,12 +2793,12 @@
The name of the ldif file that contains the schema updates
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
</function-map-args>
- <sequence>
+ <sequence>
- <script>
+ <script>
myLocation=location
myPath=dsPath
@@ -2876,10 +2814,10 @@
taskLdif='%s/%s' % (remote.temp,taskLdifFile)
tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ </script>
<!-- Build the schema task configuration object -->
- <script>
+ <script>
ldifLines=[]
ldifLines.append('dn: %s' % taskDN)
ldifLines.append('objectclass: top')
@@ -2889,38 +2827,38 @@
ldifLines.append('ds-task-id: %s' % taskID)
ldifLines.append('ds-task-schema-file-name: %s' % ldifFile )
- </script>
+ </script>
<!-- Write out the schema-task ldif -->
- <script>
+ <script>
outfile = open(tmpTaskLdif,"w")
for line in ldifLines:
outfile.write("%s\n" % line)
outfile.close()
- </script>
+ </script>
<!-- Copy the schema-task ldif to remote host -->
- <message>
+ <message>
'Copy schema task ldif file %s to %s.' % (tmpTaskLdif,taskLdif)
- </message>
- <call function="'copyFile'">
+ </message>
+ <call function="'copyFile'">
{ 'location' : STAXServiceMachine,
'srcfile' : tmpTaskLdif,
'destfile' : taskLdif,
'remotehost' : myLocation }
- </call>
+ </call>
<!-- Copy the schema update ldif to remote host's config/schema directory -->
- <message>'Copy schema update ldif file.'</message>
- <call function="'copyFile'">
+ <message>'Copy schema update ldif file.'</message>
+ <call function="'copyFile'">
{ 'location' : myLocation,
'srcfile' : '%s/schema/ldifs/%s' % (remote.data,ldifFile),
'destfile' : '%s/%s/config/schema/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME,ldifFile),
'remotehost' : myLocation }
- </call>
+ </call>
<!-- Start the task using ldap task interface -->
<call function="'StartLdapTask'">
@@ -2946,7 +2884,7 @@
</call>
</sequence>
- </function>
+ </function>
<!-- Add Leave Lockdown Task Function -->
<function name="leaveLockdownTask">
@@ -2985,12 +2923,12 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="taskID" type="optional">
<function-arg-description>
The identifier for the task
@@ -2999,9 +2937,9 @@
</function-arg-def>
</function-map-args>
- <sequence>
+ <sequence>
- <script>
+ <script>
myLocation=location
myPath=dsPath
@@ -3017,37 +2955,37 @@
taskLdif='%s/%s' % (remote.temp,taskLdifFile)
tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ </script>
<!-- Build the schema task configuration object -->
- <script>
+ <script>
ldifLines=[]
ldifLines.append('dn: %s' % taskDN)
ldifLines.append('objectclass: top')
ldifLines.append('objectclass: ds-task')
ldifLines.append('ds-task-class-name: org.opends.server.tasks.LeaveLockdownModeTask')
ldifLines.append('ds-task-id: %s' % taskID)
- </script>
+ </script>
<!-- Write out the task ldif -->
- <script>
+ <script>
outfile = open(tmpTaskLdif,"w")
for line in ldifLines:
outfile.write("%s\n" % line)
outfile.close()
- </script>
+ </script>
<!-- Copy the task ldif to remote host -->
- <message>'Copy task ldif file.'</message>
- <call function="'copyFile'">
+ <message>'Copy task ldif file.'</message>
+ <call function="'copyFile'">
{ 'location' : STAXServiceMachine,
'srcfile' : tmpTaskLdif,
'destfile' : taskLdif,
'remotehost' : myLocation }
- </call>
+ </call>
<!-- Copy the schema update ldif to remote host's config/schema directory -->
<!--
@@ -3083,194 +3021,6 @@
</call>
</sequence>
- </function>
-
- <!-- Total Update Task Function -->
- <function name="TotalUpdateTask">
-
- <function-prolog>
- This function performs a total update of a replication domain
- </function-prolog>
-
- <function-map-args>
- <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
- <function-arg-description>
- Location of target host
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
- <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
- <function-arg-description>
- Pathname to installation root
- </function-arg-description>
- <function-arg-property name="type" value="pathname"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceHost" type="optional">
- <function-arg-description>
- Directory server host name
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="dsInstancePort" type="optional">
- <function-arg-description>
- Directory server port number
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceDn" type="optional">
- <function-arg-description>
- Bind DN
- </function-arg-description>
- <function-arg-property name="type" value="dn"/>
- </function-arg-def>
- <function-arg-def name="dsInstancePswd" type="optional">
- <function-arg-description>
- Bind password
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="taskID" type="optional">
- <function-arg-description>
- The identifier for the task
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="domainDN" type="required">
- <function-arg-description>
- The dn of the domain to be replicated
- </function-arg-description>
- <function-arg-property name="type" value="dn"/>
- </function-arg-def>
- <function-arg-def name="replicaServerID" type="required">
- <function-arg-description>
- The id of the replica server
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- </function-map-args>
-
- <sequence>
-
- <script>
- myLocation=location
- myPath=dsPath
-
- try:
- import hashlib
- m = hashlib.md5()
- except ImportError:
- import md5
- m = md5.new()
- m.update(location)
- m.update(dsPath)
- taskLdifFile='totalupdate-task-%s.ldif' % m.hexdigest()
- taskLdif='%s/%s' % (remote.temp,taskLdifFile)
- tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
-
- <!-- Build the total update task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-initialize-from-remote-replica')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.InitializeTask')
- ldifLines.append('ds-task-id: %s' % taskID)
- ldifLines.append('ds-task-initialize-domain-dn: %s' % domainDN)
- ldifLines.append('ds-task-initialize-replica-server-id: %s' % replicaServerID)
- </script>
-
- <!-- Write out the totalupdate-task ldif -->
- <script>
- outfile = open(tmpTaskLdif,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
- <!-- Copy the totalupdate-task ldif to remote host -->
- <message>'Copy totalupdate task ldif file.'</message>
- <call function="'copyFile'">
- { 'location' : STAXServiceMachine,
- 'srcfile' : tmpTaskLdif,
- 'destfile' : taskLdif,
- 'remotehost' : myLocation }
- </call>
-
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message level="'error'">
- 'Copy of totalupdate task failed (STAXCode=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
- <!-- Start the task using ldap task interface -->
- <call function="'StartLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'taskLabel' : 'Online Total Update Task',
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd,
- 'dsTaskLdif' : taskLdif }
- </call>
-
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message>
- 'Start of totalupdate task failed (Code=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
- <!-- Check that the ldap task is completed -->
- <call function="'CheckLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'dsTaskDn' : taskDN,
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd }
- </call>
-
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message>
- 'Check of totalupdate task failed (Code=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
- <script>
- STAXCode=0
- STAXReason='%s: Success' % STAXCurrentFunction
- </script>
-
- <return>[STAXCode, STAXReason]</return>
-
- </sequence>
-
</function>
<function name="StartLdapTask">
@@ -3313,7 +3063,7 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBindPswd" type="optional">
<function-arg-description>
Bind password
@@ -3325,7 +3075,7 @@
Ldif file for task
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0.
@@ -3443,7 +3193,7 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="dn"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBindPswd" type="optional">
<function-arg-description>
Bind password
@@ -3455,7 +3205,7 @@
Number of ldap check tries when checking if task is complete
</function-arg-description>
<function-arg-property name="type" value="integer"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="sleepMilliSeconds" type="optional" default="2000">
<function-arg-description>
Sleep time in milliseconds between ldap check tries
@@ -3510,7 +3260,7 @@
STAFCmdParams=' '.join(STAFCmdParamsList)
</script>
- <script>
+ <script>
successPattern = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
stopErrPattern = re.compile('ds-task-state: STOPPED_BY_ERROR')
myCounter=1
@@ -3550,19 +3300,19 @@
</message>
<return>[taskRC, STAFCmdResult[0][1]]</return>
</sequence>
- <elseif expr='re.search(stopErrPattern, STAFCmdResult[0][1]) != None'>
- <sequence>
- <message level="'error'">
+ <elseif expr='re.search(stopErrPattern, STAFCmdResult[0][1]) != None'>
+ <sequence>
+ <message level="'error'">
'%s' % STAFCmdResult
- </message>
- <return>[taskRC, STAFCmdResult[0][1]]</return>
- </sequence>
- </elseif>
- <else>
- <message level="'Warning'">
+ </message>
+ <return>[taskRC, STAFCmdResult[0][1]]</return>
+ </sequence>
+ </elseif>
+ <else>
+ <message level="'Warning'">
'%s' % STAFCmdResult
- </message>
- </else>
+ </message>
+ </else>
</if>
<message>
@@ -3586,7 +3336,7 @@
<function name="StatusWithScript">
<function-prolog>
This function shows server status using the status script
- </function-prolog>
+ </function-prolog>
<function-map-args>
<function-arg-def name="location"
type="optional"
@@ -3609,13 +3359,13 @@
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBindPwd" type="optional" default="''">
<function-arg-description>
Bind password
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsHelp" type="optional" default="''">
<function-arg-description>
Help option
@@ -3686,7 +3436,7 @@
<function name="Base64WithScript">
<function-prolog>
This function executes the base64 encode decode utility with script
- </function-prolog>
+ </function-prolog>
<function-map-args>
<function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
<function-arg-description>
@@ -3705,13 +3455,13 @@
The subcommand for base64 (encode or decode)
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="rawData" type="optional" default="''">
<function-arg-description>
The raw data to be base64 encoded
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="rawDataFile" type="optional" default="''">
<function-arg-description>
The path to a file containing the raw data to be base64 encoded
@@ -3741,7 +3491,7 @@
The path to a file to which the raw base64-decoded data should be written
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="toolHelp" type="optional" default="''">
<function-arg-description>
Help option
@@ -3818,219 +3568,14 @@
</sequence>
</function>
-
-
- <!-- Rebuild index Task Function -->
- <function name="rebuildIndexTask">
- <function-prolog>
- This function performs an on line rebuild index task
- </function-prolog>
- <function-map-args>
- <function-arg-def name="location"
- type="optional"
- default="STAF_REMOTE_HOSTNAME">
- <function-arg-description>
- Location of target host
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
- <function-arg-def name="dsPath"
- type="optional"
- default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
- <function-arg-description>
- Pathname to installation root
- </function-arg-description>
- <function-arg-property name="type" value="pathname"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceHost" type="optional">
- <function-arg-description>
- Directory server host name
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="dsInstancePort" type="optional">
- <function-arg-description>
- Directory server port number
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- <function-arg-def name="dsInstanceDn" type="optional">
- <function-arg-description>
- Bind DN
- </function-arg-description>
- <function-arg-property name="type" value="dn"/>
- </function-arg-def>
- <function-arg-def name="dsInstancePswd" type="optional">
- <function-arg-description>
- Bind password
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="taskID" type="optional">
- <function-arg-description>
- The identifier for the task
- </function-arg-description>
- <function-arg-property name="type" value="string"/>
- </function-arg-def>
- <function-arg-def name="baseDN" type="required">
- <function-arg-description>
- The base Dn for which the index will be rebuilt
- </function-arg-description>
- <function-arg-property name="type" value="dn"/>
- </function-arg-def>
- <function-arg-def name="attributes" type="required">
- <function-arg-description>
- List of the attributes to re-index: e.g. ['cn','l']
- </function-arg-description>
- <function-arg-property name="type" value="list"/>
- </function-arg-def>
- <function-arg-def name="maxThreads"
- type="optional"
- default="5">
- <function-arg-description>
- Number of threads that should be used for the rebuild operation
- </function-arg-description>
- <function-arg-property name="type" value="integer"/>
- </function-arg-def>
- </function-map-args>
-
- <sequence>
-
- <script>
- myLocation=location
- myPath=dsPath
-
- try:
- import hashlib
- m = hashlib.md5()
- except ImportError:
- import md5
- m = md5.new()
- m.update(location)
- m.update(dsPath)
- taskLdifFile='rebuildIndex-task-%s.ldif' % m.hexdigest()
- taskLdif='%s/%s' % (remote.temp,taskLdifFile)
- tmpTaskLdif='%s/%s' % (local.temp,taskLdifFile)
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
-
- <!-- Build the rebuild-index task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-rebuild')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.RebuildTask')
- ldifLines.append('ds-task-id: %s' % taskID)
-
- ldifLines.append('ds-task-rebuild-base-dn: %s' % baseDN )
- ldifLines.append('ds-task-rebuild-max-threads: %s' % maxThreads )
-
- for indexType in attributes:
- ldifLines.append('ds-task-rebuild-index: %s' % indexType )
- </script>
-
- <!-- Write out the rebuildIndex-task ldif -->
- <script>
- outfile = open(tmpTaskLdif,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
- <!-- Copy the rebuildIndex-task ldif to remote host -->
- <message>'Copy rebuildIndex task ldif file.'</message>
- <call function="'copyFile'">
- { 'location' : STAXServiceMachine,
- 'srcfile' : tmpTaskLdif,
- 'destfile' : taskLdif,
- 'remotehost' : myLocation }
- </call>
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message level="'error'">
- 'Copy of totalupdate task failed (STAXCode=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
- <!-- Start the task using ldap task interface -->
- <call function="'StartLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'taskLabel' : 'Online Rebuild Index Task',
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd,
- 'dsTaskLdif' : taskLdif }
- </call>
-
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message>
- 'Start of rebuild index task failed (Code=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
-
- <!-- Check that the ldap task is completed -->
- <sequence>
- <call function="'CheckLdapTask'">
- { 'location' : myLocation,
- 'dsPath' : myPath,
- 'dsTaskDn' : taskDN,
- 'dsHost' : dsInstanceHost,
- 'dsPort' : dsInstancePort,
- 'dsBindDn' : dsInstanceDn,
- 'dsBindPswd' : dsInstancePswd
- }
- </call>
- </sequence>
-
- <script>
- STAXCode, STAXReason=STAXResult
- </script>
-
- <if expr="STAXCode != 0">
- <sequence>
- <message>
- 'Check of rebuild index task failed (Code=%s)' % STAXCode
- </message>
- <return>[STAXCode, STAXReason]</return>
- </sequence>
- </if>
-
- <script>
- STAXCode=0
- STAXReason='%s: Success' % STAXCurrentFunction
- </script>
-
- <return>[STAXCode, STAXReason]</return>
- </sequence>
-
- </function>
<!-- manage-tasks Function -->
<function name="manage-tasks" scope="local">
<function-prolog>
This function performs a manage-tasks command line
- </function-prolog>
+ </function-prolog>
<function-map-args>
- <function-arg-def name="location"
+ <function-arg-def name="location"
type="optional"
default="STAF_REMOTE_HOSTNAME">
<function-arg-description>
@@ -4038,19 +3583,19 @@
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
</function-arg-def>
- <function-arg-def name="dsPath"
+ <function-arg-def name="dsPath"
type="optional"
default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
<function-arg-description>
Pathname to installation root
</function-arg-description>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceHost" type="optional">
<function-arg-description>
Directory server hostname or IP address
</function-arg-description>
<function-arg-property name="type" value="hostname"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceAdminPort"
type="optional"
default="DIRECTORY_INSTANCE_ADMIN_PORT">
@@ -4058,13 +3603,13 @@
Directory server admin port number
</function-arg-description>
<function-arg-property name="type" value="Port number"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstanceDn" type="optional">
<function-arg-description>
Bind DN
</function-arg-description>
<function-arg-property name="type" value="DN"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInstancePswd" type="optional">
<function-arg-description>
Bind password
@@ -4076,25 +3621,25 @@
Bind password file
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsKeyStorePath" type="optional">
<function-arg-description>
Certificate keystore path
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsCertNickname" type="optional">
<function-arg-description>
Nickname of certificate for SSL client authentication
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsSaslOption" type="optional">
<function-arg-description>
SASL bind options
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsTrustStorePath" type="optional">
<function-arg-description>
Certificate trust store path
@@ -4112,13 +3657,13 @@
Certificate trust store PIN
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsKeyStorePasswordFile" type="optional">
<function-arg-description>
Certificate keystore PIN file
</function-arg-description>
<function-arg-property name="type" value="filename"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsTrustStorePasswordFile" type="optional">
<function-arg-description>
Certificate trust store PIN file
@@ -4130,7 +3675,7 @@
Certificate keystore PIN
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsTrustAll" type="optional">
<function-arg-description>
Trust all server SSL certificates
@@ -4148,19 +3693,19 @@
Specify the task ID to cancel
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsInfo" type="optional">
<function-arg-description>
Display information for a particular task
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsSummary" type="optional">
<function-arg-description>
Display information for a particular task
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsQuiet" type="optional">
<function-arg-description>
Use quiet mode (no output)
@@ -4203,9 +3748,9 @@
</script>
<!-- Set common ldap arguments -->
- <call function="'_adminCommonArgs'" />
+ <call function="'_adminCommonArgs'" />
- <script>
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/manage-tasks%s' % (dsBinPath,fileExt)
@@ -4282,126 +3827,7 @@
</call>
<return>
STAXResult
- </return>
- </sequence>
- </function>
-
- <function name="CLI_rebuild-index">
- <function-prolog>
- This wraps the rebuild-index tool to make it easy to use from STAX
- </function-prolog>
- <function-map-args>
- <function-arg-def name="location" type="optional" default="STAF_REMOTE_HOSTNAME">
- <function-arg-description>
- Location of target host
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
- <function-arg-def name="dsPath" type="optional" default="'%s/%s' % (DIRECTORY_INSTANCE_BIN,OPENDSNAME)">
- <function-arg-description>
- Pathname to installation root
- </function-arg-description>
- <function-arg-property name="type" value="filepath"/>
- </function-arg-def>
- <function-arg-def name="baseDN" type="required">
- <function-arg-description>
- Specify a back-end supporting indexing and triggers a rebuild of all
- indexes in the scope of the provided baseDN
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="attributes" type="required">
- <function-arg-description>
- Specify a list of attributes to trigger index rebuild on
- This should be passed on as a python array like
- [ 'uid', 'telephonenumber' ]
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="expectedRC" type="optional" default="0">
- <function-arg-description>
- Expected return code value. Default value is 0.
- Wildcard 'noCheck' to not check the RC
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="knownIssue" type="optional" default="None">
- <function-arg-description>
- Known issue. Corresponds to an issue number.
- </function-arg-description>
- <function-arg-property name="type" value="string" />
- </function-arg-def>
- </function-map-args>
-
- <sequence>
- <script>
- dsBinPath='%s/%s' % (dsPath,fileFolder)
- _cmd='%s/rebuild-index%s' % (dsBinPath,fileExt)
- _args=' -b %s -i %s' % ( baseDN, ' -i '.join(attributes) )
- </script>
- <call function="'runCommand'">
- { 'name' : 'rebuild index',
- 'location' : location,
- 'command' : _cmd,
- 'arguments' : _args,
- 'expectedRC': expectedRC,
- 'knownIssue': knownIssue
- }
- </call>
- <return>STAXResult</return>
- </sequence>
- </function>
-
- <function name="CLI_verify-index">
- <function-prolog>
- This wraps the verify-index tool to make it easy to use from STAX
- </function-prolog>
- <function-map-args>
- <function-arg-def name="baseDN" type="required">
- <function-arg-description>
- Specify a back-end supporting indexing and triggers a verification of all
- indexes in the scope of the provided baseDN
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="attributes" type="required">
- <function-arg-description>
- Specify a list of attributes to trigger index verification on
- This should be passed as a python array like
- [ 'uid','telephonenumber' ]
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="clean" type="optional">
- <function-arg-description>
- Specify a list of attributes to trigger index verification on
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="expectedRC" type="optional" default="0">
- <function-arg-description>
- Expected return code value. Default value is 0.
- Wildcard 'noCheck' to not check the RC
- </function-arg-description>
- </function-arg-def>
- <function-arg-def name="knownIssue" type="optional" default="None">
- <function-arg-description>
- Known issue. Corresponds to an issue number.
- </function-arg-description>
- <function-arg-property name="type" value="string" />
- </function-arg-def>
- </function-map-args>
-
- <sequence>
- <script>
- dsBinPath='%s/%s' % (dsPath,fileFolder)
- _cmd='%s/verify-index%s' % (dsBinPath,fileExt)
- _args=' -b %s -i %s' % ( baseDN, ' -i '.join(attributes) )
- </script>
- <call function="'runCommand'">
- { 'name' : 'verify index',
- 'location' : location,
- 'command' : _cmd,
- 'arguments' : _args,
- 'expectedRC': expectedRC,
- 'knownIssue': knownIssue
- }
- </call>
- <return>STAXResult</return>
+ </return>
</sequence>
</function>
@@ -4426,7 +3852,31 @@
Pathname to installation root
</function-arg-description>
<function-arg-property name="type" value="filepath"/>
- </function-arg-def>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-description>
+ Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceAdminPort" type="optional">
+ <function-arg-description>
+ Directory server adminport number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceDn" type="optional">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
<function-arg-def name="dsBaseDN" type="required">
<function-arg-description>
Specify the base DN for which to perform the verification
@@ -4441,6 +3891,19 @@
</function-arg-description>
<function-arg-property name="type" value="array"/>
</function-arg-def>
+ <function-arg-def name="dsRebuildAll" type="optional">
+ <function-arg-description>
+ Rebuild all indexes
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsTmpDir" type="optional">
+ <function-arg-description>
+ Path to temporary directory for index scratch files
+ Default value is import-tmp
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
<function-arg-def name="dsHelp" type="optional">
<function-arg-description>
Display this usage information
@@ -4453,30 +3916,68 @@
</function-arg-description>
<function-arg-property name="type" value="option"/>
</function-arg-def>
+ <function-arg-def name="startTask" type="optional">
+ <function-arg-description>
+ Start time for task
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="schedulePattern" type="optional">
+ <function-arg-description>
+ Indicates the task is recurring and will be scheduled
+ according to the value argument expressed in crontab(5)
+ compatible time/date pattern
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="knownIssue" type="optional" default="None">
+ <function-arg-description>
+ Known issue. Corresponds to an issue number.
+ </function-arg-description>
+ <function-arg-property name="type" value="string" />
</function-arg-def>
</function-map-args>
<sequence>
- <!-- Build the Command -->
+ <!-- Local variables -->
<script>
STAFCmdParamsList=[]
STAFCmdParams=''
-
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_adminCommonArgs'" />
+
+ <!-- Build the Command -->
+ <script>
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/rebuild-index%s' % (dsBinPath,fileExt)
if dsBaseDN:
STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
-
+
+ if dsRebuildAll:
+ STAFCmdParamsList.append('--rebuildAll')
+
if dsIndexList:
STAFCmdParamsList.append('-i %s' % (' -i '.join(dsIndexList)))
-
+
+ if dsTmpDir:
+ STAFCmdParamsList.append('--tmpdirectory %s' % dsTmpDir)
+
+ if startTask:
+ STAFCmdParamsList.append('-t %s' % startTask)
+
+ if schedulePattern:
+ STAFCmdParamsList.append('--recurringTask %s' % schedulePattern)
+
if dsHelp:
STAFCmdParamsList.append('-H')
@@ -4495,7 +3996,29 @@
'expectedRC' : expectedRC
}
</call>
-
+
+ <script>
+ resultString = STAXResult[0][1]
+ </script>
+
+ <if expr="dsInstanceDn != None and expectedRC == 0 and schedulePattern == None">
+ <sequence>
+ <message>
+ 'Check export ldif task successfully completed'
+ </message>
+
+ <call function="'checkTaskExecution'">
+ {
+ 'dsPath' : dsPath,
+ 'dsInstanceAdminPort' : dsInstanceAdminPort,
+ 'dsInstanceHost' : dsInstanceHost ,
+ 'dsInstanceDn' : dsInstanceDn ,
+ 'dsInstancePswd' : dsInstancePswd ,
+ 'outputToCheck' : resultString
+ }
+ </call>
+ </sequence>
+ </if>
<return>STAXResult</return>
</sequence>
</function>
@@ -4521,7 +4044,7 @@
Pathname to installation root
</function-arg-description>
<function-arg-property name="type" value="filepath"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBaseDN" type="required">
<function-arg-description>
Specify the base DN for which to perform the verification
@@ -4565,7 +4088,7 @@
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
@@ -4641,7 +4164,7 @@
Pathname to installation root
</function-arg-description>
<function-arg-property name="type" value="filepath"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBaseDN" type="optional">
<function-arg-description>
Specify the baseDN from which the list-backends utility
@@ -4673,7 +4196,7 @@
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
@@ -4749,7 +4272,7 @@
The subcommand for dbtest
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsBaseDN" type="optional">
<function-arg-description>
Base DN of the entry container to debug
@@ -4774,7 +4297,7 @@
provided value using the comparator for the database container
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsMaxKeyValue" type="optional">
<function-arg-description>
Only show records with keys that should be ordered before the
@@ -4787,19 +4310,19 @@
Skip decoding the local database to their appropriate types.
</function-arg-description>
<function-arg-property name="type" value="option"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsMinDataSize" type="optional">
<function-arg-description>
Only show records whose data is no smaller than the provided value
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsMaxDataSize" type="optional">
<function-arg-description>
Only show records whose data is no larger than the provided value
</function-arg-description>
<function-arg-property name="type" value="string"/>
- </function-arg-def>
+ </function-arg-def>
<function-arg-def name="dsHelp" type="optional">
<function-arg-description>
Display this usage information
@@ -4817,7 +4340,7 @@
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
</function-arg-description>
- <function-arg-property name="type" value="integer"/>
+ <function-arg-property name="type" value="integer"/>
</function-arg-def>
<function-arg-def name="knownIssue" type="optional" default="None">
<function-arg-description>
--
Gitblit v1.10.0