Intelligent Management: application edition management administrative tasks
We can use the Jacl or Jython scripting languages to manage application editions. We can also use the AdminApp object to manage applications with specific editions.
Use the following commands to activate, deactivate, perform a rollout on, validate, list, and verify an application edition. We can also clone an existing dynamic cluster to use a different node group, and we can cancel the validation mode on an application edition:
activateEdition
The activateEdition command activates an edition.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
Return value
The command returns:
- true: success
- false: failure
Batch mode example
- Jacl:
$AdminTask activateEdition {-appName BeenThere -edition 1.0}
- Jython string...
AdminTask.activateEdition ('[-appName BeenThere -edition 1.0]')
- Jython list:
AdminTask.activateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode
- Jacl:
$AdminTask activateEdition {-interactive}
- Jython string...
AdminTask.activateEdition ('[-interactive]')
- Jython list:
AdminTask.activateEdition (['-interactive'])
deactivateEdition
The deactivateEdition command deactivates an edition.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
Return value
The command returns:
- true: success
- false: failure
Batch mode example
- Jacl:
$AdminTask deactivateEdition {-appName BeenThere -edition 1.0}
Using Jython string:
AdminTask.deactivateEdition ('[-appName BeenThere -edition 1.0]')
- Jython list:
AdminTask.deactivateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode
- Jacl:
$AdminTask deactivateEdition {-interactive}
Using Jython string:
AdminTask.deactivateEdition ('[-interactive]')
- Jython list:
AdminTask.deactivateEdition (['-interactive'])
rolloutEdition
The rolloutEdition command rolls out an edition and specifies the group size.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Value of the custom property. (String)
- -params
- Specifies configuration values for the rollout. (String)
- rollout strategy
- grouped: Activates the specified application in place of the current edition of the same application across the cluster on which the application cluster deploys, N servers at a time, as specified by the groupSize keyword. The default group size is 1. During rollout, both editions of the application can serve requests. Always set the group number to be at least one less than the cluster size so that at least one cluster member serves the old edition while the rollout of the new edition starts.
- atomic: Activates the specified application in place of the current edition of the same application across the cluster on which the application cluster deploys, one half of the cluster at a time, such that only one edition of the application serves requests at any given time.
- reset strategy
- How to start an application edition instance during the rollout operation.
- hard: Stops or restarts the application server.
- soft: Stops or restarts the application instance, while leaving the application server running.
- group size for group rollout
- Number of servers to update when rolloutStrategy is grouped.
- integer
- drainage interval
- Number of seconds to wait before stopping an application edition instance during the rollout such that sessions can complete. The default is 30 seconds.
- integer
Specify the following properties for Session Initiation Protocol (SIP) application rollout:
- quiesce strategy
- Specifies if cluster members and servers quiesce after all active dialogs and sessions are complete, or if the cluster members and servers quiesce after a specified interval.
DEFAULT: Cluster members and servers quiesce when active dialogs and sessions complete.
INTERVAL: Cluster members and servers quiesce after a specified interval. We must also specify the quiesceInterval as an integer value in number of seconds.
Return value
The command returns:
- true: success
- false: failure
Batch mode example
- Jacl:
$AdminTask rolloutEdition {-appName BeenThere -edition 1.0 -params "{quiesceStrategy INTERVAL}{quiesceInterval 30}"}
Using Jython string:
AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params "{quiesceStrategy INTERVAL}{quiesceInterval 30}"]')
The following example applies only to Version 6.1.0.5 running with WebSphere Application Server Network Deployment Version 7.0.0.x.gotcha
AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params [[rolloutStrategy grouped][resetStrategy soft] [groupSize 1][drainageInterval 30]]]')
- Jython list:
AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{quiesceStrategy INTERVAL}{quiesceInterval 30}'])
The following example applies only to Version 6.1.0.5 running with WebSphere Application Server Network Deployment Version 7.0.0.x.gotcha
AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '[[rolloutStrategy grouped][resetStrategy soft] [groupSize 1][drainageInterval 30]]'])
Interactive mode
- Jacl:
$AdminTask rolloutEdition {-interactive}
Using Jython string:
AdminTask.rolloutEdition ('[-interactive]')
- Jython list:
AdminTask.rolloutEdition (['-interactive'])
validateEdition
The validateEdition command validates an edition.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
- -params
- Specifies settings for the cloned cluster created during validation.
For dynamic clusters, the size of the original cluster is used for the cloned cluster.
- Dynamic cluster:
- dynClusterMaxSize
- Maximum number of dynamic cluster instances that will start.
- dynClusterMinSize
- Minimum number of dynamic cluster instances that will start.
- Static cluster:
- staticClusterSize
- Size of the static cluster. The value of staticClusterSize cannot exceed the size of the static cluster that is being cloned.
Return value
The command returns:
- true: success
- false: failure
Batch mode example
- Jacl:
$AdminTask validateEdition {-appName BeenThere -edition 1.0 -params "{dynClusterMaxSize 2}{dynClusterMinSize 1}"}
Using Jython string:
AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params "{dynClusterMaxSize 2}{dynClusterMinSize 1}"]')
The following example applies only to Version 6.1.0.5 running with WebSphere Application Server Network Deployment Version 7.0.0.x.gotcha
AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params [[dynClusterMaxSize 2][dynClusterMinSize 1]]]')
- Jython list:
AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{dynClusterMaxSize 2}{dynClusterMinSize 1}'])
The following example applies only to Version 6.1.0.5 running with WebSphere Application Server Network Deployment Version 7.0.0.x.gotcha
AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '[[dynClusterMaxSize 2][dynClusterMinSize 1]]'])
Interactive mode
- Jacl:
$AdminTask validateEdition {-interactive}
Using Jython string:
AdminTask.validateEdition ('[-interactive]')
- Jython list:
AdminTask.validateEdition (['-interactive'])
listEditions
The listEditions command provides a list of all the installed editions of the application.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
Return value
The command returns a string array of all the installed editions of the application.
The return value for base editions is displayed as "".
Batch mode example
- Jacl:
$AdminTask listEditions {-appName HelloWorld}
Using Jython string:
AdminTask.listEditions ('[-appName HelloWorld]')
- Jython list:
AdminTask.listEditions (['-appName', 'HelloWorld'])
Interactive mode
- Jacl:
$AdminTask listEditions {-interactive}
Using Jython string:
AdminTask.listEditions ('[-interactive]')
- Jython list:
AdminTask.listEditions (['-interactive'])
isEditionExists
The isEditionExists command verifies that the specified edition exists for the particular application.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
Return value
The command returns:
- true: success
- false: failure
Batch mode example
- Jacl:
$AdminTask isEditionExists {-appName HelloWorld -edition 2.0}
Using Jython string:
AdminTask.isEditionExists ('[-appName HelloWorld -edition 2.0]')
- Jython list:
AdminTask.isEditionExists (['-appName', 'HelloWorld', '-edition', '2.0'])
Interactive mode
- Jacl:
$AdminTask isEditionExists {-interactive}
Using Jython string:
AdminTask.isEditionExists ('[-interactive]')
- Jython list:
AdminTask.isEditionExists (['-interactive'])
cloneDynamicCluster
The cloneDynamicCluster command clones a dynamic cluster to use a different node group.
Target object: None.
Parameters
- -clusterName
- Name of the original dynamic cluster. (String)
- -newClusterName
- Name of the cloned dynamic cluster. (String)
- -nodeGroupName
- Name of the node group in which the cloned dynamic cluster is located. Be default, the name is set to the current node group if this parameter is not specified. (String)
- -opMode
- Specifies the operational mode of the cloned dynamic cluster. By default, the mode of the original dynamic cluster is used if this parameter is not specified. Set the value to automatic, manual, or supervised. (String)
For more information about operational modes, read about dynamic clusters..
- -templateName
- Name of an existing template in the format of cell_name/node/server_name. The template is used to create the server instances of the cloned cluster.
Batch mode example
- Jacl:
$AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised}
$AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised -templateName xdCell/xdNode/SourceCluster_member1}
Using Jython string:
AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised]')
AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised -templateName xdCell/xdNode/SourceCluster_member1]')
- Jython list:
AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 'CloneNodeGroup', '-opMode', 'supervised'])
AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 'CloneNodeGroup', '-opMode', 'supervised','-templateName', 'xdCell/xdNode/SourceCluster_member1'])
Interactive mode
- Jacl:
$AdminTask cloneDynamicCluster {-interactive}
Using Jython string:
AdminTask.cloneDynamicCluster ('[-interactive]')
- Jython list:
AdminTask.cloneDynamicCluster (['-interactive'])
cancelValidation
The cancelValidation command cancels the validation mode on an application edition.
The getEditionState command returns the state of the application edition. The state of an existing edition can be either ACTIVE, INACTIVE or VALIDATE. For a non-existent application or edition the method returns null.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
Return value
The command returns:
- true: The cancellation of the validation succeeded.
- false: The cancelation of the validation failed.
Batch mode example
- Jacl:
$AdminTask cancelValidation {-appName BeenThere -edition 1.0}
Using Jython string:
AdminTask.cancelValidation ('[-appName BeenThere -edition 1.0]')
- Jython list:
AdminTask.cancelValidation (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode
- Jacl:
$AdminTask cancelValidation {-interactive}
Using Jython string:
AdminTask.cancelValidation ('[-interactive]')
- Jython list:
AdminTask.cancelValidation (['-interactive'])
getEditionState
The getEditionState command returns the state of the application edition. The state of an existing edition can be either ACTIVE, INACTIVE or VALIDATE. For a non-existent application or edition, the method returns null.
Target object: None.
Parameters
- -appName
- Name of the application. (String)
- -edition
- Name of the application edition. (String)
Return value
The command returns:
- ACTIVE
- INACTIVE
- VALIDATE
Batch mode example
- Jacl:
$AdminTask getEditionState {-appName BeenThere -edition 1.0}
Using Jython string:
AdminTask.getEditionState ('[-appName BeenThere -edition 1.0]')
- Jython list:
AdminTask.getEditionState (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode
- Jacl:
$AdminTask getEditionState {-interactive}
Using Jython string:
AdminTask.getEditionState ('[-interactive]')
- Jython list:
AdminTask.getEditionState (['-interactive'])
Install an application with an edition
Use the AdminApp install command to install an application with an edition. We must pass the -edition parameter to specify the edition identifier.
We can use the following example in wsadmin to install the application BeenThere with edition 1.0.
- Jacl:
$AdminApp install /tmp/BeenThere1.0.ear {-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml WebSphere: cell=TestCell,cluster=TestClusterB} {"BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere: cell=TestCell,cluster=TestClusterB}}}
- Jython:
AdminApp.install("/tmp/BeenThere1.0.ear", '[-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall off -processEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml WebSphere:cell=TestCell,cluster=TestClusterB] ["BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere: cell=TestCell,cluster=TestClusterB]]]')
Update an application with an edition
Use the AdminApp update command to update an application with an edition. Pass the full application name, which is the name of the application and the edition, to specify the edition.
We can use the following example in wsadmin to update edition 1.0 of the application BeenThere with the BeenThereE1-update.ear file.
- Jacl:
$AdminApp update BeenThere-edition1.0 app {-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude}
- Jython:
AdminApp.update('BeenThere-edition1.0', 'app', '[-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude]')
Edit an application with an edition
Use the AdminApp edit command to edit an application with an edition. Pass the full application name, which is the name of the application and the edition, to specify the edition.
We can use the following example in wsadmin to edit edition 1.0 of the application BeenThere by changing the context root of the Web module to /beenthere.
- Jacl:
$AdminApp edit BeenThere-edition1.0 {-CtxRootForWebMod {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere}}}
- Jython:
AdminApp.edit('BeenThere-edition1.0', '[-CtxRootForWebMod [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere]]]')
Uninstall an application with an edition
Use the AdminApp uninstall command to uninstall an application with an edition. Pass the full application name, which is the name of the application and the edition, to specify the edition.
We can use the following example in wsadmin to uninstall edition 1.0 of the application BeenThere.
- Jacl:
$AdminApp uninstall BeenThere-edition1.0
- Jython:
AdminApp.uninstall('BeenThere-edition1.0')
Related concepts
Application edition manager
Related tasks
Deploy and managing application editions with Intelligent Management Performing a rollout on an edition Canceling an application validation Install an application edition
Commands for the AdminApp object Dynamic clusters