### configureDCRulesNetworkDeployer.py import java.util as util import java.io as javaio import sys, java, traceback global AdminConfig def doIt(wodmHome, scriptDir, propertiesFile, clusterNodeName): cellName = java.lang.System.getProperty('local.cell') localizedMessages.printMessageWithParams('GBRPT0028I', [scriptDir]) wasFullVersion = AdminTask.getNodeBaseProductVersion('[-nodeName '+clusterNodeName+']') dcLayoutDir = "" moduleSuffix = "" if wasFullVersion.find('8.0') != -1: print "WebSphere 8.0 detected ("+wasFullVersion+")" dcLayoutDir = "/teamserver/applicationservers/WebSphere8" moduleSuffix = "WAS8" if wasFullVersion.find('8.5') != -1: print "WebSphere 8.5 detected ("+wasFullVersion+")" dcLayoutDir = "/teamserver/applicationservers/WebSphere85" moduleSuffix = "WAS85" dcHome = wodmHome + dcLayoutDir props = util.Properties() localizedMessages.printMessageWithParams('GBRPT0026I', [propertiesFile]) inside = props.load(javaio.FileInputStream(propertiesFile)) # get the value from properties file clusterName = checkAndGetProperyValue(props, "wodm.dcrules.clusterName") dbType = checkAndGetProperyValue(props, "wodm.dcrules.db.type") jdbcDriverPath = checkAndGetProperyValue(props, "wodm.dcrules.db.jdbcDriverPath") dbName = checkAndGetProperyValue(props, "wodm.dcrules.db.name") dbHostname = checkAndGetProperyValue(props, "wodm.dcrules.db.hostname") dbPort = checkAndGetProperyValue(props, "wodm.dcrules.db.port") dbUser = checkAndGetProperyValue(props, "wodm.dcrules.db.user") dbPassword = checkAndGetProperyValue(props, "wodm.dcrules.db.password") datasourceName = "DecisionCenter - Datasource" jndiName = "jdbc/ilogDataSource" if dbType != "DB2" and dbType != "Oracle" and dbType != "MSSQL": raise RuntimeError, localizedMessages.getMessageWithParam('GBRPT0027E', [dbType]) deployClusterTools.createCluster(cellName, clusterName, clusterNodeName, clusterNodeName + "-DCServer") deployClusterTools.updateVirtualHost(cellName, clusterNodeName, "") if dbType == "DB2": providerName = "DecisionCenter - DB2 Universal JDBC Driver Provider" jdbcProvider = datasource_utils.createDB2UniversalProvider(clusterNodeName, providerName, jdbcDriverPath, 0) if not len(AdminConfig.getid("/Node:" + clusterNodeName + "/JDBCProvider:" + providerName + "/DataSource:" + datasourceName)): datasource_utils.createDB2UniversalDatasource(jdbcProvider, datasourceName, jndiName, dbName, dbHostname, dbPort, dbUser, dbPassword) else: localizedMessages.printMessageWithParams('GBRPT0012W', [datasourceName]) if dbType == "Oracle": providerName = "DecisionCenter - Oracle JDBC Driver Provider" jdbcProvider = datasource_utils.createOracleProvider(clusterNodeName, providerName, jdbcDriverPath, 0) if not len(AdminConfig.getid("/Node:" + clusterNodeName + "/JDBCProvider:" + providerName + "/DataSource:" + datasourceName)): datasource_utils.createOracleDatasource(jdbcProvider, datasourceName, jndiName, dbName, dbHostname, dbPort, dbUser, dbPassword) else: localizedMessages.printMessageWithParams('GBRPT0012W', [datasourceName]) if dbType == "MSSQL": providerName = "DecisionCenter - MSSQL JDBC Driver Provider" jdbcProvider = datasource_utils.createMSSQLProvider(clusterNodeName, providerName, jdbcDriverPath, 0) if not len(AdminConfig.getid("/Node:" + clusterNodeName + "/JDBCProvider:" + providerName + "/DataSource:" + datasourceName)): datasource_utils.createMSSQLDatasource(jdbcProvider, datasourceName, jndiName, dbName, dbHostname, dbPort, dbUser, dbPassword) else: localizedMessages.printMessageWithParams('GBRPT0012W', [datasourceName]) deployClusterTools.startAll(clusterName, clusterNodeName) # DEPLOY Teamserver EAR rtsDeployTools.installRTSOnCluster(dcHome, moduleSuffix, clusterName) rtsDeployTools.startRTS(clusterName) AdminConfig.save() localizedMessages.printMessage('GBRPC0028I') #EndDef def checkAndGetProperyValue(props, key): try: if not len(props.getProperty(key)): raise RuntimeError, localizedMessages.getMessageWithParam('GBRPC0027E', [key]) except: raise RuntimeError, localizedMessages.getMessageWithParam('GBRPC0029E', [key]) return props.getProperty(key) #EndDef #------------------------------------------------------------------------------- # Main #------------------------------------------------------------------------------- if len(sys.argv) != 4: print __name__ , "Bad number of argument (must be 4)" print __name__ , "You can call doIt(wodmHome, scriptDir, propertiesFile, clusterNodeName)" else: sys.path.insert(0, sys.argv[1]) import datasource_utils, configureDCUsersAndGroups, deployClusterTools, rtsDeployTools, localizedMessages doIt(sys.argv[0], sys.argv[1], sys.argv[2], sys.argv[3]) #EndElse