troubleshooting Question

Mapping of modules to servers in jython scripting , Here is the Script which I am running is running fyn but the thing is mapping of modules to servers is not talking place properly ...mapping i

Avatar of gowroju
gowroju asked on
19 Comments1 Solution5271 ViewsLast Modified:
# Purpose --- To deploy EAR file on Server
# Date   ----  2/11/2011
#version   --- 1.0
import sys
from time import sleep

def DeployOnServer(earlocation, appName, nodeName, serverName, virtualHost, webNode1, webSrv1):
   # do some sanity checking
   #     -- do we have a node by this name?
   cellName = AdminControl.getCell()
   print cellName
   node = AdminConfig.getid("/Node:" + nodeName + "/")
   print " checking for existence of node " + nodeName
   if len(node) == 0:
      print " Error -- node not found for name " + nodeName
      print " "+nodeName+" does exists so deployment process will start "
   # Here we specify ear file location and server where we wish to deploy the ear file
   defapp = earlocation
   servOpt1 = "WebSphere:cell=" + cellName + ",node=" + nodeName + ",server=" + serverName
   servOpt2 = "+WebSphere:cell=" + cellName + ",node=" + webNode1 + ",server=" + webSrv1
   servOpt = servOpt1+servOpt2
   serv = ["-target", servOpt]
#  print "-------------------------------------------------------------"
#  print "These are the options we are passing to deploy the EAR file."
#  print " -------------------------------------------------------------"

   nameOpt = ["-appname", appName]
   nodeOpt = ["-node", nodeName]
   serverOpt1 = ["-server", serverName]

   mapVhOptValus = [[".*",".*", virtualHost]]
   mapVhOpt = ["-MapWebModToVH", mapVhOptValus]
   appOptions = []
   print appOptions
   AdminApp.install(defapp, appOptions)

   # Save all the changes
   print "Deploy: saving the configuration"
# check if the application is ready to start. If ready then start it
def startAppOnServer():
   appready = AdminApp.isAppReady(appName)
   print appready
   if appready == 'false':
                appready = AdminApp.isAppReady(appName)
                print appready
                print "starting the application "+appName+" on "+serverName+" "
                appManager = AdminControl.queryNames("type=ApplicationManager,process="+ serverName +",*")
                if appManager == "":
                        print "Please make sure whether Application Server is up and running before starting the applicaiton "
                        print " Or There could be something wrong with installated EAR file "
                AdminControl.invoke(appManager, 'startApplication', appName)
                appstate = AdminControl.completeObjectName("type=Application,name="+appName+",*")
                if appstate != "":
                        print ""+ appName +" started "

# ----------------------------------------------------------------------------------------------------------------------------
# This function verifies whether Application is already deployed or not. If already deployed it will be uninstalled first
# -----------------------------------------------------------------------------------------------------------------------------
def appexist():
   print " checking for the "+appName+" applicaiton whether it is already exists or not"
   apps = AdminApp.list().split(lineSeparator)
   for applist in apps:
    if applist == appName:
        print "Application is already installed so It will be uninstalled first "
        print " ------------------------------------------------"
        print " "+appName+" doesn't exists now so it will be deployed "

#Main codes start here....
# ----------------------------------------------------------------------------------------
if (len(sys.argv) !=7):
        print " Please enter correct arguments "
        print " ex: /usr/IBM/AppServer/installableApps/sample.ear sample mynode server1 virtualHost webserverNode webserver"
        earlocation = sys.argv[0]
        appName = sys.argv[1]
        nodeName = sys.argv[2]
        serverName = sys.argv[3]
        virtualHost = sys.argv[4]
        webNode1 = sys.argv[5]
        webSrv1 = sys.argv[6]
        print "EARfilelocation :" +earlocation
        print "Application Name : " +appName
        print "Node Name : " +nodeName
        print "Server Name : " +serverName
        print "Virtual Host :" +virtualHost
        print "WebServerNode :" +webNode1
        print "WebServer : " +webSrv1
        DeployOnServer(earlocation, appName, nodeName, serverName, virtualHost, webNode1, webSrv1)
Software Engineer

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 19 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 19 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros