This function creates the topology required by the Test Group/Suite.
Topology Description file
Specifies whether the instance should be initialised with
some default data.
Specifies a relative folder that holds the shared data for the tests
Specifies a list of file extension to add to testdata.zip
Specifies whether the replication servers should be split from the
ldap servers and be configured on separate instances.
{ 'groupDataDir' : sharedDataFolder,
'fileExtensions' : fileExtensions
}
'SINGLE instance deployment: read parameters from config.py'
'MULTIPLE instance deployment: read parameters from %s' \
% topologyDescFile
{ 'file' : topologyDescFile }
'Replication servers will be split from ldap servers.'
'Number of server instances required by the deployment: %s' \
% len(_splitServerList)
{ 'dsHost' : server.getHostname(),
'dsDir' : server.getDir(),
'dsPort' : server.getPort(),
'dsAdminPort' : server.getAdminPort(),
'dsSslPort' : server.getSslPort(),
'dsJmxPort' : server.getJmxPort(),
'dsBindDN' : server.getRootDn(),
'dsBindPwd' : server.getRootPwd(),
'dsBaseDN' : server.getBaseDn()
}
This function prepares locally the necessary
files to create an instance: data zip file and OpenDS zip file.
Specifies a relative folder that holds the shared data for the test
group
Specifies a list of file extension to add to testdata.zip
Specifies a list of java projects to add to testdata.zip
{ 'customFileExtensions' : fileExtensions,
'testGroupDirName' : groupDataDir }
{ 'customJavaProjects' : javaProjects }
'Delete %s/testdata.zip' % local.temp
{ 'location' : STAXServiceMachine,
'filename' : '%s/testdata.zip' % local.temp
}
'Zip up local testdata files to %s/testdata.zip' % local.temp
{ 'location' : STAXServiceMachine,
'zipfile' : '%s/testdata.zip' % local.temp,
'folder' : local.testdata,
'relativeto' : local.directory
}
This function creates an instance on a given host.
It copies both data and OpenDS zip files onto the host,
unzips them, and configures OpenDS.
Hostname where the instance is to be created
Directory where OpenDS will be installed
Directory Server port number
Directory Server admin port number
Directory Server SSL port number
Directory Server JMX port number
Directory Manager DN
Directory Server SSL port number
Directory Server base suffix dn
'Create an instance on remote host %s' % dsHost
'Delete existing instance folder %s on remote host %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'foldername' : '%s' % (dsDir)
}
'Create new instance folder %s on remote host %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'foldername' : '%s' % dsDir
}
'Create new instance temp folder %s/temp on remote host %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'foldername' : '%s/temp' % dsDir
}
'Copy %s/testdata.zip to %s on %s on remote host' \
% (local.testdata,dsDir,dsHost)
{ 'srcfile' : '%s/testdata.zip' % local.temp,
'destfile' : '%s/testdata.zip' % dsDir,
'remotehost' : dsHost
}
'Extract contents of test data %s on %s on remote host' \
% (dsDir,dsHost)
{ 'location' : dsHost,
'zipfile' : '%s/testdata.zip' % dsDir,
'unzipdir' : dsDir
}
{
'location' : dsHost,
'entry' : '%s/%s' % (dsDir,ZIPNAME),
'attribute' : 'TYPE'
}
'Copy DS zip archive %s/%s to %s' % (ZIPPATH,ZIPNAME,dsHost)
{ 'srcfile' : '%s/%s' % (ZIPPATH,ZIPNAME),
'destfile' : '%s/%s' % (dsDir,ZIPNAME),
'remotehost' : dsHost
}
'DS zip archive %s/%s already exists, nothing to do' % (dsDir,ZIPNAME)
'Extract DS zip archive to %s on %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'zipfile' : '%s/%s' % (dsDir,ZIPNAME),
'unzipdir' : dsDir
}
{
'location' : dsHost,
'entry' : '%s/%s' % (dsDir,UPGRADE_ZIPNAME),
'attribute' : 'TYPE'
}
'Extract old DS zip archive to %s on %s' % (local.temp,STAXServiceMachine)
{ 'zipfile' : '%s/%s' % (UPGRADE_ZIPPATH,UPGRADE_ZIPNAME),
'unzipdir' : local.temp
}
'Rename old DS zip folder from %s/%s to %s/%s' % (local.temp,UPGRADE_OPENDJNAME,local.temp,OPENDSNAME)
'Re-create old DS archive %s/%s from %s/%s' % (local.temp,UPGRADE_ZIPNAME,local.temp,OPENDSNAME)
{ 'zipfile' : '%s/%s' % (local.temp,UPGRADE_ZIPNAME),
'folder' : '%s/%s' % (local.temp,OPENDSNAME),
'relativeto' : local.temp
}
'Copy old DS zip archive %s/%s to %s' % (local.temp,UPGRADE_ZIPNAME,dsHost)
{ 'srcfile' : '%s/%s' % (local.temp,UPGRADE_ZIPNAME),
'destfile' : '%s/%s' % (dsDir,UPGRADE_ZIPNAME),
'remotehost' : dsHost
}
'Delete folder %s/%s' % (local.temp,OPENDSNAME)
{ 'foldername' : '%s/%s' % (local.temp,OPENDSNAME)
}
'Delete archive %s/%s' % (local.temp,UPGRADE_ZIPNAME)
{ 'filename' : '%s/%s' % (local.temp,UPGRADE_ZIPNAME)
}
'Old DS zip archive %s/%s already exists, nothing to do' % (dsDir,UPGRADE_ZIPNAME)
'Extract old DS zip archive to %s on %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'zipfile' : '%s/%s' % (dsDir,UPGRADE_ZIPNAME),
'unzipdir' : dsDir
}
'Set up DS on %s : %s/%s' % (dsHost,dsDir,OPENDSNAME)
{ 'location' : dsHost,
'dsPath' : '%s/%s' % (dsDir, OPENDSNAME),
'dsPort' : dsPort,
'dsAdminPort' : dsAdminPort,
'dsSslPort' : dsSslPort,
'dsJmxPort' : dsJmxPort,
'dsBindDN' : dsBindDN,
'dsBindPwd' : dsBindPwd,
'dsBaseDN' : dsBaseDN,
'dsEnableWindowsService' : enableWindowsService,
'dsDoNotStart' : 'true'
}
{ 'returncode' : RC ,
'result' : STAXResult
}
'Instance created.'
'Failed to create instance.'
'Extract DS zip archive to %s on %s' % (dsDir,dsHost)
{ 'location' : dsHost,
'zipfile' : '%s/%s' % (dsDir,ZIPNAME),
'unzipdir' : dsDir
}
{ 'location' : dsHost,
'dsPath' : '%s/%s' % (dsDir, OPENDSNAME),
}
This function configures replication in a given server.
Map containing a Server class instance representing the server to
configure.
'Configure replication on server on host %s at directory %s' \
% (syncserver.getHostname(),syncserver.getDir())
'Copy %s file from %s to %s' % (filename,local.testdata,dataDir)
{ 'srcfile' : filePath,
'destfile' : '%s/%s' % (dataDir,filename),
'remotehost' : syncserver.getHostname()
}
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath
}
{ 'returncode' : RC ,
'result' : STAXResult
}
'Add replication configuration entries in %s' % remoteFilePath
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsInstanceHost' : syncserver.getHostname(),
'dsInstancePort' : syncserver.getPort(),
'dsInstanceDn' : syncserver.getRootDn(),
'dsInstancePswd' : syncserver.getRootPwd(),
'entryToBeAdded' : remoteFilePath
}
{ 'returncode' : RC,
'result' : STAXResult
}
{ 'location' : syncserver.getHostname(),
'dsHost' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsAdminPort' : syncserver.getAdminPort(),
'dsBindDN' : syncserver.getRootDn(),
'dsBindPwd' : syncserver.getRootPwd()
}
{ 'returncode' : RC ,
'result' : STAXResult
}
This function configures replication in a given server.
Server class instance representing the server to configure.
'Configure replication on server on host %s at directory %s' \
% (syncserver.getHostname(),syncserver.getDir())
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath
}
'List synchronization providers'
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsInstanceHost' : syncserver.getHostname(),
'dsInstanceAdminPort' : syncserver.getAdminPort(),
'dsInstanceDn' : syncserver.getRootDn(),
'dsInstancePswd' : syncserver.getRootPwd()
}
'Create replication server listening on port: %s' \
% replicationServer.getPort()
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsInstanceHost' : syncserver.getHostname(),
'dsInstanceAdminPort' : syncserver.getAdminPort(),
'dsInstanceDn' : syncserver.getRootDn(),
'dsInstancePswd' : syncserver.getRootPwd(),
'replicationPort' : replicationServer.getPort(),
'replicationServerId' : replicationServer.getId(),
'replicationServerList' : replicationServer.getChangelogServerList()
}
'Create domain name for suffix: %s' % suffix.getSuffixDn()
{ 'location' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsInstanceHost' : syncserver.getHostname(),
'dsInstanceAdminPort' : syncserver.getAdminPort(),
'dsInstanceDn' : syncserver.getRootDn(),
'dsInstancePswd' : syncserver.getRootPwd(),
'domainName' : 'SUFFIX-%s' % i,
'replicationDn' : suffix.getSuffixDn(),
'serverId' : suffix.getId(),
'replicationServerList' : suffix.getChangelogServerList()
}
{ 'location' : syncserver.getHostname(),
'dsHost' : syncserver.getHostname(),
'dsPath' : syncserverPath,
'dsAdminPort' : syncserver.getAdminPort(),
'dsBindDN' : syncserver.getRootDn(),
'dsBindPwd' : syncserver.getRootPwd()
}
This function enables replication between servers using dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server admin port number
Bind DN
Bind password
Replication port number
Encrypt communications over dsReplicationPort (secure replication)
Server only to contain replicated data (no Repl server/changelog)
Server only to contain Repl server/changelog (no replicated data)
Reference Directory server hostname or IP address
Reference Directory server admin port number
Reference server Bind DN
Reference server Bind password
Reference server Replication port number
Encrypt communications over refReplicationPort (secure replication)
Server only to contain replicated data (no Repl server/changelog)
Server only to contain Repl server/changelog (no replicated data)
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Do not enable schema replication
Take the refInstanceHost as the source for the schema initialisation
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
{ 'name' : 'Enable Replication',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams,
'expectedRC': expectedRC
}
STAXResult
This function initializes replicated suffixes with the contents
of a source server using dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server admin port number
Source Directory server hostname or IP address
Source Directory server admin port number
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
{ 'name' : 'Initialize Replication',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams,
'expectedRC' : expectedRC
}
STAXResult
This function disables replication for a given baseDN on a server using
dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server port number
DN of the replicated suffix
Disable replication server (remove configuration, changelot and port)
Disable replication completely (domain, repl-server, changelog and
admin data).
Global Administrator UID
Global Administrator password
Expected return code value. Default value is 0.
Wildcard 'noCheck' to not check the RC
{ 'name' : 'Disable Replication',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams,
'expectedRC': expectedRC
}
STAXResult
This function reads the topology from a given file.
It parses the topology description file and sets _topologyServerList, a
list of the servers that form the topology.
File containing the topology description.
'Parse file %s for topology parameters' % file
This function removes an instance on a given host.
Hostname where the instance is to be created
Directory where OpenDS will be installed
'Removing instance %s/%s on host %s' % (dsDir,OPENDSNAME,dsHost)
'Delete staging data file %s/testdata.zip' % dsDir
{ 'location' : dsHost,
'filename' : '%s/testdata.zip' % dsDir
}
This function removes the topology created for the Test Group/Suite.
Tells whether it is a single (i.e. parameters read from config.py) or
a multiple-instance topology (i.e. parameters read from topology desc
file).
{ 'dsHost' : server.getHostname(),
'dsDir' : server.getDir()
}
This function prepares one or all instances in a topology for the external
re-initialisation of replicated suffixes using dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server admin port number
Only the contents of the specified server will be initialised.
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Expected return code value. Default value is 0
'Preparing instance %s:%s for external initialization' \
% (dsInstanceHost,dsInstanceAdminPort)
{ 'name' : 'Pre-Initialize Replication',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams
}
{ 'returncode' : STAXCode,
'result' : STAXReason,
'expected' : expectedRC
}
STAXReason
This function ends the process of the external re-initialisation of
replicated suffixes in one or all instances in a topology using
dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server admin port number
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Expected return code value. Default value is 0
'Post-processing external initialization of instance %s:%s' \
% (dsInstanceHost,dsInstanceAdminPort)
{ 'name' : 'Post-Initialize Replication',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams
}
{ 'returncode' : STAXCode,
'result' : STAXReason,
'expected' : expectedRC
}
STAXReason
This function resets the data in a replicated suffix with the backup
of a source server and re-initialises the topology using dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server port number
Directory server admin port number
Bind DN
Bind password
The name of the backup directory
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Expected return code value. Default value is 0
'Resetting %s data in replication topology using backup %s on instance \
%s:%s' % (suffixDn,backupDir,sourceInstanceHost,sourceInstanceAdminPort)
{ 'location' : location,
'dsPath' : dsPath,
'dsInstanceHost' : sourceInstanceHost,
'dsInstanceAdminPort' : sourceInstanceAdminPort,
'localOnly' : False,
'replicationDnList' : [suffixDn],
'adminUID' : adminUID,
'adminPswd' : adminPswd
}
{ 'location' : location,
'dsPath' : dsPath,
'dsInstanceHost' : sourceInstanceHost,
'dsInstancePort' : sourceInstancePort,
'dsInstanceDn' : sourceInstanceDn,
'dsInstancePswd' : sourceInstancePswd,
'taskID' : 'restore task - %s' % resetCounter,
'backupDir' : backupDir
}
{ 'location' : location,
'dsPath' : dsPath,
'dsInstanceHost' : sourceInstanceHost,
'dsInstanceAdminPort' : sourceInstanceAdminPort,
'replicationDnList' : [suffixDn],
'adminUID' : adminUID,
'adminPswd' : adminPswd
}
{ 'location' : location,
'dsPath' : dsPath,
'sourceInstanceHost' : sourceInstanceHost,
'sourceInstanceAdminPort' : sourceInstanceAdminPort,
'replicationDnList' : [suffixDn],
'adminUID' : adminUID,
'adminPswd' : adminPswd
}
{ 'returncode' : STAXCode,
'result' : STAXReason,
'expected' : expectedRC
}
STAXReason
This function helps to perform a common setup and data load of directory server.
The directory server object instance
Perform a quick start of the server with preloaded data
Load data into the server
Start the server
Stop the server
Path and name of the ldif file to be used to add entries
Allow pre-encoded passwords to be added
Generate with makeldif the ldif file to be imported
Path and name of the ldif template to be used to generate entries
Friendly name for the common setup launcher
{ 'functionName' : 'createTopology' ,
'functionMessage' : 'Create DS topology' ,
'functionException' : 'Server.CreateTopologyException' ,
'functionArguments' : { 'initialiseInstance' : quickStart }
}
{ 'functionName' : 'StartDsWithScript' ,
'functionMessage' : 'Start the Directory Server.' ,
'functionException' : 'Server.StartException' ,
'functionArguments' : { 'location' : directoryServer.location }
}
{ 'functionName' : 'isAlive' ,
'functionMessage' : 'Start the Directory Server.' ,
'functionException' : 'Server.StartException' ,
'functionArguments' : { 'noOfLoops' : 100 ,
'noOfMilliSeconds' : 3000 }
}
'Generating ldif file (%s) from template (%s)' % (ldifFile,ldifTemplate)
'On-line import.'
{
'dsInstanceHost' : directoryServer.host,
'dsInstanceAdminPort' : directoryServer.adminport,
'dsInstanceDn' : directoryServer.dn,
'dsInstancePswd' : directoryServer.password,
'objectName' : 'password-policy',
'propertyType' : 'policy',
'propertyName' : 'Default Password Policy',
'attributeName' : 'allow-pre-encoded-passwords',
'attributeValue' : 'true'
}
{ 'functionName' : 'ldapModifyWithScript' ,
'functionMessage' : 'Adding Initial Entries' ,
'functionException' : 'LDAP.ModifyException' ,
'functionArguments' : { 'dsAdd' : 'TRUE' ,
'dsInstanceHost' : directoryServer.host ,
'dsInstancePort' : directoryServer.port ,
'dsInstanceDn' : directoryServer.dn ,
'dsInstancePswd' : directoryServer.password ,
'dsFilename' : ldifFile }
}
'Off-line import.'
{ 'functionName' : 'ImportLdifWithScript' ,
'functionMessage' : 'Off-line Import LDIF.' ,
'functionException' : 'Server.ImportException' ,
'functionArguments' : { 'location' : directoryServer.location ,
'ldifFile' : ldifFile ,
'backEnd' : directoryServer.backend }
}
{ 'functionName' : 'StartDsWithScript' ,
'functionMessage' : 'Start the Directory Server.' ,
'functionException' : 'Server.ImportException' ,
'functionArguments' : { 'location' : directoryServer.location }
}
{ 'functionName' : 'isAlive' ,
'functionMessage' : 'Check the Directory Server has started.' ,
'functionException' : 'Server.ImportException' ,
'functionArguments' : { 'location' : directoryServer.location ,
'noOfLoops' : 10 ,
'noOfMilliSeconds' : 2000 }
}
{ 'functionName' : 'StartDsWithScript' ,
'functionMessage' : 'Stop the Directory Server.' ,
'functionException' : 'Server.StopException' ,
'functionArguments' : { 'location' : directoryServer.location }
}
'%s: Create topology failed. eInfo(%s)' % (eType,eInfo)
'%s: Failed to start Directory Server. eInfo(%s)' % (eType,eInfo)
'%s: Failed to import ldif file. eInfo(%s)' % (eType,eInfo)
'%s: Failed to stop Directory Server. eInfo(%s)' % (eType,eInfo)
'%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
This function helps to perform a common cleanup of directory server and its data.
The directory server object instance
Delete the suffix that holds the directory data
Friendly name for the common cleanup launcher
{ 'functionName' : 'ldapSearchWithScript' ,
'functionMessage' : 'Check Server is Alive.' ,
'functionArguments' : { 'dsInstanceHost' : directoryServer.host ,
'dsInstancePort' : directoryServer.port ,
'dsBaseDN' : 'cn=config' ,
'dsInstanceDn' : directoryServer.dn ,
'dsInstancePswd' : directoryServer.password ,
'dsFilter' : 'objectclass=*' ,
'dsScope' : 'base' ,
'expectedRC' : 'noCheck'
}
}
{ 'functionName' : 'StartDsWithScript' ,
'functionMessage' : 'Start the Directory Server.' ,
'functionArguments' : { 'expectedRC' : 'noCheck' }
}
{ 'functionName' : 'ldapDeleteWithScript' ,
'functionMessage' : 'Recursive delete of suffix.' ,
'functionArguments' : { 'dsDeleteSubtree' : 'TRUE' ,
'dsInstanceHost' : directoryServer.host ,
'dsInstancePort' : directoryServer.port ,
'dsInstanceDn' : directoryServer.dn ,
'dsInstancePswd' : directoryServer.password ,
'dsDn' : ['%s' % server.suffix] ,
'expectedRC' : 'noCheck' }
}
{ 'functionName' : 'StopDsWithScript' ,
'functionMessage' : 'Stop the Directory Server.' ,
'functionArguments' : { 'dsHost' : directoryServer.host ,
'dsAdminPort' : directoryServer.adminport ,
'dsBindDN' : directoryServer.dn ,
'dsBindPwd' : directoryServer.password ,
'expectedRC' : 'noCheck' }
}
{ 'functionName' : 'removeTopology' ,
'functionMessage' : 'Remove DS topology.' ,
}
'%s: LDAPDelete failed. eInfo(%s)' % (eType,eInfo)
'%s: Failed to cleanup. eInfo(%s)' % (eType,eInfo)
This function gets the replication status of a topology using
dsreplication.
Location of target host
Pathname to installation root
Directory server hostname or IP address
Directory server admin port number
DN of the replicated suffix
Global Administrator UID
Global Administrator password
Number of iterations
Number of milliseconds to wait between iterations
Expected return code value. Default value is 0
'Getting replication status from server %s:%s' \
% (dsInstanceHost,dsInstanceAdminPort)
{ 'name' : 'Get Replication Status',
'location' : location,
'command' : STAFCmd,
'arguments' : STAFCmdParams
}
{ 'returncode' : commandRC,
'result' : commandResult,
'expected' : expectedRC
}
commandResult
'getReplicationStatus LOOP %s => missingChanges? \
(True=1/False=0) : %s' % (myLoop, missingRC)
{ 'sleepForMilliSeconds' : noOfMilliSeconds }
'getReplicationStatus: Replication status retrieved from server \
%s:%s : \n%s ' % \
(dsInstanceHost, dsInstanceAdminPort, replStatusResult)
'getReplicationStatus: Server %s is missing %s changes. \
Entries: %s - Age of the oldest missing change: %s ' % \
(server, missingChanges, entries, age)
'getReplicationStatus: Different number of entries.\n\
Server %s : %s entries\n\
Reference server %s : %s entries\n' % \
(server, entries, refServername, refNbOfEntries)
commandResult
This function stages locally the static data files
Non default file extensions for specific tests
Name of the test group directory that holds the
static data files
'Not staging static data files as remote host %s (%s) is local.' % (STAF_REMOTE_HOSTNAME,gethostbyname(STAF_REMOTE_HOSTNAME))
'Will creating stub folder in testdata.'
0
'Remote host %s (%s) is not local.' % (STAF_REMOTE_HOSTNAME,gethostbyname(STAF_REMOTE_HOSTNAME))
{ 'location' : STAXServiceMachine,
'entry' : localTestsGroupDir,
'attribute' : 'TYPE'
}
'Not staging static data files as they already exist.'
0
'Staging static data files on local machine.'
'Copy quickstart ldif data files locally from %s to %s.' % \
(quickStartGroupDir,quickStartLocalTestsGroupDir)
{ 'location' : STAXServiceMachine,
'srcfolder' : quickStartGroupDir,
'destfolder' : quickStartLocalTestsGroupDir,
'extension' : 'ldif'
}
'Copy %s data files locally from %s to %s.' % \
(fExt,sourceTestsGroupDir,localTestsGroupDir)
{ 'location' : STAXServiceMachine,
'srcfolder' : sourceTestsGroupDir,
'destfolder' : localTestsGroupDir,
'extension' : '%s' % fExt
}
This function stages locally and builds the java class files
Name of the custom java based project (should be folder name)
{ 'location' : STAXServiceMachine,
'entry' : javaLocalDir,
'attribute' : 'TYPE'
}
'Staging %s java files on local machine.' % javaProject
'Copy %s java files locally from %s to %s.' % \
(javaProject,javaSharedDir,javaLocalDir)
{
'location' : STAXServiceMachine,
'srcfolder' : javaSharedDir,
'destfolder' : javaLocalDir,
'extension' : 'java'
}
'Copy any jar files locally from %s to %s.' % \
(javaSharedDir,javaLocalDir)
{
'location' : STAXServiceMachine,
'srcfolder' : javaSharedDir,
'destfolder' : javaLocalDir,
'extension' : 'jar'
}
{
'location' : STAXServiceMachine,
'foldername' : javaLocalDir,
'extension' : 'class'
}
'Compile Java files under %s on %s' \
% (javaLocalDir, STAXServiceMachine)
{
'location' : STAXServiceMachine,
'foldername' : '%s' % javaLocalDir,
'classpath' : java_classpath
}
'Not Staging %s java files as they already exist.' % javaProject
This function stages locally and builds the java class files
Name of the custom SNMP based project (should be folder name)
{ 'location' : STAXServiceMachine,
'entry' : javaLocalDir,
'attribute' : 'TYPE'
}
'Not Staging SNMP files as they already exist.'
0
'Staging SNMP files on local machine.'
'Copy java files locally from %s to %s.' % \
(javaSharedDir,javaLocalDir)
{
'location' : STAXServiceMachine,
'srcfolder' : javaSharedDir,
'destfolder' : javaLocalDir,
'extension' : 'java'
}
{
'location' : STAXServiceMachine,
'entry' : SNMP_OPENDMK_JARFILE,
'attribute' : 'TYPE'
}
'OpenDMK jar %s not found.' % SNMP_OPENDMK_JARFILE
{
'location' : STAXServiceMachine,
'foldername' : javaLocalDir,
'extension' : 'class'
}
'Copy DS zip archive locally from %s to %s.' % \
(ZIPPATH,local.temp)
{
'srcfile' : '%s/%s' % (ZIPPATH, ZIPNAME),
'destfile' : '%s/%s' % (local.temp, ZIPNAME),
'remotehost' : STAXServiceMachine
}
'Extract locally DS zip archive to %s' % local.temp
{
'location' : STAXServiceMachine,
'zipfile' : '%s/%s' % (local.temp, ZIPNAME),
'unzipdir' : local.temp
}
{
'location' : STAF_REMOTE_HOSTNAME,
'srcfile' : '%s/%s' % (DIRECTORY_INSTANCE_BIN,SNMP_OPENDS_JARFILE),
'destfile' : '%s/%s' % (local.temp,SNMP_OPENDS_JARFILE),
'remotehost' : STAXServiceMachine
}
'Compile Java files under %s on %s' \
% (javaLocalDir, STAXServiceMachine)
{
'location' : STAXServiceMachine,
'foldername' : javaLocalDir,
'classpath' : '%s%s%s%s%s' \
% (opends_jarfile,separator,SNMP_OPENDMK_JARFILE,separator,jstaf_jarfile)
}
'Copy OpenDMK jar file %s locally to %s.' \
% (SNMP_OPENDMK_JARFILE,javaLocalDir)
{
'remotehost' : STAXServiceMachine,
'srcfile' : SNMP_OPENDMK_JARFILE,
'destfile' : '%s/jdmkrt.jar' % javaLocalDir,
'remotehost' : STAXServiceMachine
}
'Delete %s/%s' % (local.temp, ZIPNAME)
{
'location' : STAXServiceMachine,
'filename' : '%s/%s' % (local.temp, ZIPNAME)
}
'Delete %s/%s' % (local.temp, OPENDSNAME)
{
'location' : STAXServiceMachine,
'foldername' : '%s/%s' % (local.temp, OPENDSNAME)
}
This function creates some stub folders in testdata
'Create folder %s/data on host %s' % (local.directory,STAF_LOCAL_HOSTNAME)
{ 'location' : STAF_LOCAL_HOSTNAME,
'foldername' : '%s/data' % local.directory
}