Intelligent Management: application edition management administrative tasks
You can use the Jacl or Jython scripting languages to manage application editions. You can also use the AdminApp object to manage applications with specific editions.
activateEdition
The activateEdition command activates an edition.
Target object
None.
Parameters
- -appName
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
Return value
- true: success
- false: failure
Batch mode example usage
- Using Jacl:
$AdminTask activateEdition {-appName BeenThere -edition 1.0}
- Using Jython string:
AdminTask.activateEdition ('[-appName BeenThere -edition 1.0]')
- Using Jython list:
AdminTask.activateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode example usage
- Using Jacl:
$AdminTask activateEdition {-interactive}
- Using Jython string:
AdminTask.activateEdition ('[-interactive]')
- Using Jython list:
AdminTask.activateEdition (['-interactive'])
deactivateEdition
The deactivateEdition command deactivates an edition.
Target object
None.
Parameters
- -appName
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
Return value
- true: success
- false: failure
Batch mode example usage
- Using Jacl:
$AdminTask deactivateEdition {-appName BeenThere -edition 1.0}
AdminTask.deactivateEdition ('[-appName BeenThere -edition 1.0]')
- Using Jython list:
AdminTask.deactivateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode example usage
- Using Jacl:
$AdminTask deactivateEdition {-interactive}
AdminTask.deactivateEdition ('[-interactive]')
- Using Jython list:
AdminTask.deactivateEdition (['-interactive'])
rolloutEdition
The rolloutEdition command rolls out an edition and specifies the group size.
Target object
None.
Parameters
- -appName
- Specifies the name of the application. (String)
- -edition
- Specifies the value of the custom property. (String)
- -params
- Specifies configuration values for the rollout. (String)
- maintainRunState
- Specifies whether another server is started to ensure an interruptions-free upgrade when only
one server is running during rollout.
- No value or parameter not specified. Defaults to true: Another server is started if only one server is running during the rollout.
- false: Prevents another server from starting when only one server is running during rollout.
- rollout strategy
-
- grouped: Activates the specified application in place of the current edition of the same
application across the cluster one group at a time. The group size for group
rollout (groupSize) parameter keyword specifies the number of
servers to update when grouped is selected. 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, one half of the cluster at a time. The application is updated on half of the cluster as incoming requests are serviced by the other half of the cluster. While the second half of the cluster is updated, requests are queued or delayed until the update is complete. This process ensures that only one edition of the application is serving requests at any time.
- grouped: Activates the specified application in place of the current edition of the same
application across the cluster one group at a time. The group size for group
rollout (groupSize) parameter keyword specifies the number of
servers to update when grouped is selected. The default group size is
- reset strategy
- Specifies 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
- Specifies the number of servers to update when rolloutStrategy is grouped.
- integer
- drainage interval
- Specifies the 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
- 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. You must also specify the quiesceInterval as an integer value in number of seconds.
Return value
- true: success
- false: failure
Batch mode example usage
- Using Jacl:
$AdminTask rolloutEdition {-appName BeenThere -edition 1.0 -params "{quiesceStrategy INTERVAL}{quiesceInterval 30}"}
AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params "{quiesceStrategy INTERVAL}{quiesceInterval 30}"]')
- Using Jython list:
AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{quiesceStrategy INTERVAL}{quiesceInterval 30}'])
Interactive mode example usage
- Using Jacl:
$AdminTask rolloutEdition {-interactive}
AdminTask.rolloutEdition ('[-interactive]')
- Using Jython list:
AdminTask.rolloutEdition (['-interactive'])
validateEdition
The validateEdition command validates an edition.
Target object
None.
Parameters
- -appName
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
- -params
- Specifies settings for the cloned cluster created during validation.Note: For dynamic clusters, the size of the original cluster is used for the cloned cluster.
- Dynamic cluster:
- dynClusterMaxSize
- Specifies the maximum number of dynamic cluster instances that will start.
- dynClusterMinSize
- Specifies the minimum number of dynamic cluster instances that will start.
- Static cluster:
- staticClusterSize
- Specifies the size of the static cluster. The value of staticClusterSize cannot exceed the size of the static cluster that is being cloned.
- Dynamic cluster:
Return value
- true: success
- false: failure
Batch mode example usage
- Using Jacl:
$AdminTask validateEdition {-appName BeenThere -edition 1.0 -params "{dynClusterMaxSize 2}{dynClusterMinSize 1}"}
AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params "{dynClusterMaxSize 2}{dynClusterMinSize 1}"]')
- Using Jython list:
AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{dynClusterMaxSize 2}{dynClusterMinSize 1}'])
Interactive mode example usage
- Using Jacl:
$AdminTask validateEdition {-interactive}
AdminTask.validateEdition ('[-interactive]')
- Using 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
- Specifies the name of the application. (String)
Return value
""
.Batch mode example usage
- Using Jacl:
$AdminTask listEditions {-appName HelloWorld}
AdminTask.listEditions ('[-appName HelloWorld]')
- Using Jython list:
AdminTask.listEditions (['-appName', 'HelloWorld'])
Interactive mode example usage
- Using Jacl:
$AdminTask listEditions {-interactive}
AdminTask.listEditions ('[-interactive]')
- Using Jython list:
AdminTask.listEditions (['-interactive'])
isEditionExists
The isEditionExists command verifies that the specified edition exists for the particular application.
Target object
None.
Parameters
- -appName
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
Return value
- true: success
- false: failure
Batch mode example usage
- Using Jacl:
$AdminTask isEditionExists {-appName HelloWorld -edition 2.0}
AdminTask.isEditionExists ('[-appName HelloWorld -edition 2.0]')
- Using Jython list:
AdminTask.isEditionExists (['-appName', 'HelloWorld', '-edition', '2.0'])
Interactive mode example usage
- Using Jacl:
$AdminTask isEditionExists {-interactive}
AdminTask.isEditionExists ('[-interactive]')
- Using Jython list:
AdminTask.isEditionExists (['-interactive'])
cloneDynamicCluster
The cloneDynamicCluster command clones a dynamic cluster to use a different node group.
Target object
None.
Parameters
- -clusterName
- Specifies the name of the original dynamic cluster. (String)
- -newClusterName
- Specifies the name of the cloned dynamic cluster. (String)
- -nodeGroupName
- Specifies the 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
- Specifies the name of an existing template in the format of cell_name/node_name/server_name. The template is used to create the server instances of the cloned cluster.
Batch mode example usage
- Using 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}
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 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 example usage
- Using Jacl:
$AdminTask cloneDynamicCluster {-interactive}
AdminTask.cloneDynamicCluster ('[-interactive]')
- Using 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
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
Return value
- true: The cancellation of the validation succeeded.
- false: The cancellation of the validation failed.
Batch mode example usage
- Using Jacl:
$AdminTask cancelValidation {-appName BeenThere -edition 1.0}
AdminTask.cancelValidation ('[-appName BeenThere -edition 1.0]')
- Using Jython list:
AdminTask.cancelValidation (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode example usage
- Using Jacl:
$AdminTask cancelValidation {-interactive}
AdminTask.cancelValidation ('[-interactive]')
- Using 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
- Specifies the name of the application. (String)
- -edition
- Specifies the name of the application edition. (String)
Return value
- ACTIVE
- INACTIVE
- VALIDATE
Batch mode example usage
- Using Jacl:
$AdminTask getEditionState {-appName BeenThere -edition 1.0}
AdminTask.getEditionState ('[-appName BeenThere -edition 1.0]')
- Using Jython list:
AdminTask.getEditionState (['-appName', 'BeenThere', '-edition', '1.0'])
Interactive mode example usage
- Using Jacl:
$AdminTask getEditionState {-interactive}
AdminTask.getEditionState ('[-interactive]')
- Using Jython list:
AdminTask.getEditionState (['-interactive'])
Install an application with an edition
Use the AdminApp install command to install an application with an edition. You must pass the -edition parameter to specify the edition identifier.
- Using 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}}}
- Using
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.
- Using 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}
- Using
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.
- Using Jacl:
$AdminApp edit BeenThere-edition1.0 {-CtxRootForWebMod {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere}}}
- Using
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.
- Using Jacl:
$AdminApp uninstall BeenThere-edition1.0
- Using Jython:
AdminApp.uninstall('BeenThere-edition1.0')