This function creates the topology required by the Test Group/Suite. Topology Description file 'SINGLE instance deployment: read parameters from config.py' 'MULTIPLE instance deployment: read parameters from %s' % topologyDescFile { 'file' : topologyDescFile } 'Number of server instances required by the deployment: %s' % len(_topologyServerList) { 'dsHost' : server.getHostname(), 'dsDir' : server.getDir(), 'dsPort' : server.getPort(), 'dsSslPort' : server.getSslPort(), 'dsBindDN' : server.getRootDn(), 'dsBindPwd' : server.getRootPwd(), 'dsBaseDN' : server.getBaseDn() } 'Instance requires SYNCHRONIZATION configuration.' [serverMap] 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 SSL port number Directory Manager DN Directory Server SSL port number Directory Server base suffix dn 'Create instance in host %s at directory %s' % (dsHost,dsDir) 'Delete folder %s/%s on host %s' % (dsDir,OPENDSNAME,dsHost) { 'location' : dsHost, 'foldername' : '%s/%s' % (dsDir,OPENDSNAME) } 'Create folder %s on host %s' % (dsDir,dsHost) { 'location' : dsHost, 'foldername' : '%s' % dsDir } 'Copy tests to %s on %s' % (dsDir,dsHost) { 'srcfile' : '%s/ldifdata.zip' % TMPDIR, 'destfile' : '%s/ldifdata.zip' % dsDir, 'remotehost' : dsHost } 'Extract contents of test data %s on %s' % (dsDir,dsHost) { 'location' : dsHost, 'zipfile' : '%s/ldifdata.zip' % dsDir, 'unzipdir' : dsDir } 'Copy DS zip archive to %s on %s' % (DSTFILE,dsHost) { 'srcfile' : SRCFILE, 'destfile' : DSTFILE, 'remotehost' : dsHost } 'Extract DS zip archive to %s on %s' % (dsDir,dsHost) { 'location' : dsHost, 'zipfile' : DSTFILE, 'unzipdir' : dsDir } 'Configure DS on %s : %s/%s' % (dsHost,dsDir,OPENDSNAME) { 'location' : dsHost, 'dsPath' : '%s/%s' % (dsDir, OPENDSNAME), 'dsPort' : dsPort , 'dsBindDN' : dsBindDN, 'dsBindPwd' : dsBindPwd, 'dsBaseDN' : dsBaseDN } { 'returncode' : RC , 'result' : STAXResult } 'Instance created.' 'Failed to create instance.' This function configures synchronization in a given server. Map containing a Server class instance representing the server to configure. 'Configure synchronization on server on host %s at directory %s' % (syncserver.getHostname(),syncserver.getDir()) 'Copy %s file from %s to %s' % (filename,TMP_DATA_DIR,dataDir) { 'srcfile' : filePath, 'destfile' : '%s/%s' % (dataDir,filename), 'remotehost' : syncserver.getHostname() } syncserver.getHostname() 'FS' 'GET ENTRY %s SIZE' % configPath 'Append %s to %s' % (remoteFilePath,configPath) '%s %s' % (cmd,cmdParams) syncserver.getHostname() '%s' % cmd '%s' % cmdParams '/bin' ['PATH=/bin:/usr/bin', 'JAVA_HOME=%s' % (JAVA_HOME)] { 'returncode' : RC , 'result' : 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 the topology created for the Test Group/Suite. 'Number of server instances deployed: %s' % len(_topologyServerList) 'Cleaning up %s/%s instance on host %s' % (server.getDir(),OPENDSNAME,server.getHostname()) 'Delete stagingn data file %s/ldifdata.zip' % server.getDir() { 'location' : server.getHostname(), 'filename' : '%s/ldifdata.zip' % server.getDir() } 'Delete staging data folder %s/functional-tests' % server.getDir() { 'location' : server.getHostname(), 'foldername' : '%s/functional-tests' % server.getDir() } 'Delete OPENDS folder %s/%s' % (server.getDir(),OPENDSNAME) { 'location' : server.getHostname(), 'foldername' : '%s/%s' % (server.getDir(),OPENDSNAME) } 'Delete OPENDS zip file %s' % DSTFILE { 'location' : server.getHostname(), 'filename' : '%s' % DSTFILE } 'Instance cleaned up.'