Friday, April 28, 2017

stop/start an application + wsadmin

# Application Name is ecv here in below example

import sys
def stopECV():
 serverstatus = AdminControl.completeObjectName('type=Application,name=ecv,*')
 if serverstatus == "":
  print "ECV is already in stopped state, no action taken"
 else:
  print "ECV is up  and Bringing it down"
  objNameStringServer = AdminControl.completeObjectName('WebSphere:type=Server,*')
  serverVersion = AdminControl.getAttribute(objNameStringServer,'serverVersion')
  tempserverVersion=serverVersion.split("Version               ",1)[1]
  serverVersion=tempserverVersion.split("ID",1)[0]
  tempserverVersion=serverVersion.strip()
  AdminControl.invoke('WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=node01,version=' + tempserverVersion + ',type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=node01,spec=1.0', 'stopApplication', '[ecv]')
  serverstatus = AdminControl.completeObjectName('type=Application,name=ecv,*')
  if serverstatus == "":
   print "ECV is stopped"
  else:
   print "Some problem stopping the ECV, please contact FIL-AISWEBSupport@fil.com"

def startECV():
 serverstatus = AdminControl.completeObjectName('type=Application,name=ecv,*')
 if serverstatus == "":
  print "ECV is down bringing it up"
  objNameStringServer = AdminControl.completeObjectName('WebSphere:type=Server,*')
  serverVersion = AdminControl.getAttribute(objNameStringServer,'serverVersion')
  tempserverVersion=serverVersion.split("Version               ",1)[1]
  serverVersion=tempserverVersion.split("ID",1)[0]
  tempserverVersion=serverVersion.strip()
  AdminControl.invoke('WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=node01,version=' + tempserverVersion + ',type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=node01,spec=1.0', 'startApplication', '[ecv]')
  serverstatus = AdminControl.completeObjectName('type=Application,name=ecv,*')
  if serverstatus == "":
   print "Some problem in bringing up the ECV, please contact FIL-AISWEBSupport@fil.com"
  else:
   print "ECV is up now"
 else:
  print "ECV is already in started state, no action taken"


def checkArguments():
 if len(sys.argv) == 1:
  appName=AdminApp.list().splitlines()
  if 'ecv' in appName:
   if sys.argv[0] == 'stopApplication':
    stopECV()
   elif sys.argv[0] == 'startApplication':
    startECV()
   else:
    print "Arguments can be either stopApplication or startApplication"
  else:
   print "Application ECV doesnt exist"
 else:
  print "Incorrect Number of Arguments"

checkArguments()

No comments:

Post a Comment