|
|
|
Crtcluster
Action : was.crtcluster (Category : was, Name : crtcluster, By : kikonf)
Complete Name : was.crtcluster.by.kikonf Version : 5.0 License : Modified BSD License Purpose of the was category : Easy to customize. This category use in background the wsadmin command in jython mode (through AdminConfig, AdminControl and AdminTask), to drive WebSphere Application Server ® configuration. You can use it to manage the whole WebSphere ® architecture. Purpose of this crtcluster plugin : Creates a new Cluster The following shows the main Source Code File for the Action : was.crtcluster Toggle lines ## Copyright (c) 2008, Patrick Germain Placidoux ## All rights reserved. ## ## This file is part of Kikonf Public Software. ## ## Kikonf Public Software is released under the modified BSD License, ## which should accompany it or any part of it in the file "COPYING". ## If you do not have this file you can access the license ## through the WWW at http://www.kikonf.org/license/bsd/license.txt. ## ## Home: http://www.kikonf.org ## Contact: kikonf@gmx.com from actions.was.tools import * class Crtcluster(wasAction): def extract(self, name=None, **keywords): self_funct='extract' self.verbose(name=name) indent=self.getIndent() + 3*' ' if name!=None: verbose('ServerCluster retreiving.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) cs=getStartByNameAsDict([AdminConfig.getid('/ServerCluster:' + name)]) else: verbose('ServerCluster retreiving.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) cs=getStartByNameAsDict(split(AdminConfig.getid('/Cell:localhostCell01/ServerCluster:/'))) for cname in cs.keys(): if name!=None and name==cname \ or name==None: verbose('ServerCluster' + cname + ' retreiving.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) c=getShowAsDict(AdminConfig.show(cs[cname])) verbose('ServerCluster' + cname + ' retreived.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) crtcluster_node=self.newTop() enable_ha=c['enableHA'] node_group=c['nodeGroupName'] if c.has_key('description') and c['description']!=None:desc=c['description'][1:-1] else:desc==None if desc==DESIGN_NOTICE:desc=None crtcluster_node.setAttrs(name=name, enable_ha=enable_ha, node_group=node_group, desc=desc) def remove(self, no_name, no_name_no_prefix): crtcluster_node = self.getTop() crtcluster_attrs = crtcluster_node.getAttrs() self.verbose(name=crtcluster_attrs.name) indent=self.getIndent() + 3*' ' self.rmvCluster(crtcluster_attrs.name, indent=indent) def inject(self): self_funct='inject' crtcluster_node = self.getTop() crtcluster_attrs = crtcluster_node.getAttrs() self.verbose(name=crtcluster_attrs.name) indent=self.getIndent() + 3*' ' self.rmvCluster(crtcluster_attrs.name, indent=indent) #-- remove first cmdvalues=[] cmdvalues.append(['name', crtcluster_attrs.name,]) cmdvalues.append(['enableHA', crtcluster_attrs.enable_ha]) cmdvalues.append(['nodeGroupName', crtcluster_attrs.node_group]) if crtcluster_attrs.desc!=None:cmdvalues.append(['description', crtcluster_attrs.desc]) else:cmdvalues.append(['description', DESIGN_NOTICE]) verbose('ServerCluster:' + crtcluster_attrs.name + ' creating.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.create('ServerCluster', AdminConfig.getid('/Cell:'+ self.getCell()), cmdvalues) verbose('ServerCluster:' + crtcluster_attrs.name + ' created.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) def rmvCluster(self, name, indent=None): c=AdminConfig.getid('/ServerCluster:' + name) if c=='': return c=AdminConfig.getid('/ServerCluster:' + name) mbrs=split(AdminConfig.showAttribute(c, 'members')) for mbr in mbrs: #-- remove JVMs first. members=getShowAsDict(AdminConfig.show(mbr)) server=members['memberName'] node=members['nodeName'] verbose('ClusterMember retreiving.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) srv=AdminConfig.getid('/Cell:' + self.getCell() + '/Node:' + node + '/Server:' + server + '/') verbose('ClusterMember removing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.remove(srv) verbose('ClusterMember:' + server + ' removed.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) verbose('ServerCluster:' + name + ' removing.', level=self.getVerbose(), ifLevel=4, indent=indent, logFile=self.getLogFile()) AdminConfig.remove(c) verbose('ServerCluster:' + name + ' removed.', level=self.getVerbose(), ifLevel=3, indent=indent, logFile=self.getLogFile()) def verbose(self, name=None, logFile=None): if name!=None:verbose('Cluster:' + name + '.', level=self.getVerbose(), ifLevel=2, indent=self.getIndent(), level=self.getVerbose(), ifLevel=2, indent=self.getIndent(), logFile=self.getLogFile()) else:verbose('Clusters.', level=self.getVerbose(), ifLevel=2, indent=self.getIndent(), logFile=self.getLogFile())
Trademarks :
|