But we're also busy with installing BI publisher domains, and there several BI Components are created. To list which ones are created (and determine where things might went wrong) it might be handy to list all the system components. For that I created the following script. For the referenced fmw12c_env.sh and fmw.properties, I refer to Start and stop a WebLogic (SOA/OSB) Domain.
The wlst script is listSystemComponents.py:
############################################################################# # List System Components of FMW Domain # # @author Martien van den Akker, Darwin-IT Professionals # @version 1.1, 2017-04-20 # ############################################################################# # Modify these values as necessary import sys, traceback scriptName = sys.argv[0] # # lineSeperator='__________________________________________________________________________________' pad=' ' # # def usage(): print 'Call script as: ' print 'Windows: wlst.cmd '+scriptName+' -loadProperties localhost.properties' print 'Linux: wlst.sh '+scriptName+' -loadProperties environment.properties' print 'Property file should contain the following properties: ' print "adminUrl=localhost:7001" print "adminUser=weblogic" print "adminPwd=welcome1" # # Connect To the AdminServer def connectToAdminServer(adminUrl, adminServerName): print(lineSeperator) print('Try to connect to the AdminServer') try: connect(userConfigFile=usrCfgFile, userKeyFile=usrKeyFile, url=adminUrl) except NameError, e: print('Apparently user config properties usrCfgFile and usrKeyFile not set.') print('Try to connect to the AdminServer adminUser and adminPwd properties') connect(adminUser, adminPwd, adminUrl) # # Get the Servers of Domain def getSystemComponents(): print(lineSeperator) print('\nGet SystemComponents from domain') serverConfig() cd("/") sysComponents = cmo.getSystemComponents() return sysComponents # # Boolean to string def bool2str(bool): result='false' if bool: result='true' return result # # Descr system component type def descSysCompType(sysComponentType): result=sysComponentType if sysComponentType=='OHS': result='Oracle HTTP server' elif sysComponentType=='OBIPS': result='BI Presentation Service' elif sysComponentType=='OBIS': result='BI Server' elif sysComponentType=='OBISCH': result='BI Scheduler' elif sysComponentType=='OBICCS': result='BI Cluster Controller' elif sysComponentType=='OBIJH': result='BI JavaHost' else: result=sysComponentType return result # # Start clusters def showSystemComponents(): print(lineSeperator) print ('Show SystemComponents') sysComponents=getSystemComponents() # if (len(sysComponents) > 0): print('SystemComponent '[:30]+'\t'+'Type '[:20]+'\tAutoRestart\tMachine') for sysComponent in sysComponents: sysCompName = sysComponent.getName() sysCompNamePad=sysCompName+pad sysCompType=descSysCompType(sysComponent.getComponentType()) sysCompTypePad=sysCompType+pad machine=sysComponent.getMachine() if machine is None: machineName = 'None' else: machineName = machine.getName() print sysCompNamePad[:30]+'\t'+sysCompTypePad[:20]+'\t'+bool2str(sysComponent.getAutoRestart())+'\t\t'+machineName else: print('No SystemComponents found!') # print ('\nFinished showing SystemComponents.') # # Main def main(): try: # print(lineSeperator) print('\nConnect to the AdminServer: '+adminServerName) connectToAdminServer(adminUrl, adminServerName) # showSystemComponents() # print('\nExiting...') exit() except NameError, e: print('Apparently properties not set.') print "Please check the property: ", sys.exc_info()[0], sys.exc_info()[1] usage() except: apply(traceback.print_exception, sys.exc_info()) exit(exitcode=1) #call main() main() exit()
To call this easily for different environments I have the following bash listSystemComponents.sh script:
#!/bin/bash ############################################################################# # List Domain System Components using wlst # # @author Martien van den Akker, Darwin-IT Professionals # @version 1.0, 2017-04-19 # ############################################################################# # . fmw12c_env.sh export ENV=$1 echo echo "List Domain System Components" wlst.sh ./listSystemComponents.py -loadProperties ${ENV}.properties
I introduced an ENV variable here, so you can call it as:
[oracle@darlin-vce scripts]$ ./listSystemComponents.sh fmw
This exends the fmw argument with '.properties'. So if you want to use this for different environments, just copy the fmw.properties to a bip-acc.properties file or something like that and adapt the properties. Then using it against that environment is as calling:
[oracle@darlin-vce scripts]$ ./listSystemComponents.sh bip-acc
No comments:
Post a Comment