[AIX Solaris HP-UX Linux Windows][z/OS]

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.

Use the following commands to activate, deactivate, perform a rollout on, validate, list, and verify an application edition. You can also clone an existing dynamic cluster to use a different node group, and you can cancel the validation mode on an application edition:
You can perform the following operations using the AdminApp object in wsadmin to manage applications with editions: For a complete list of operations that you can perform using the AdminApp object, read about Commands for the AdminApp object using wsadmin scripting.

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

The command returns:
  • 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

The command returns:
  • true: success
  • false: failure

Batch mode example usage

  • Using Jacl:
    $AdminTask deactivateEdition {-appName BeenThere -edition 1.0} 
    Using Jython string:
    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} 
    Using Jython string:
    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)
[8.5.5.21 or later]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.
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
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. You must also specify the quiesceInterval as an integer value in number of seconds.

Important: To specify application quiesce timeout for non-SIP applications, refer to appedition.rollout.softreset.waitToQuiesceApplication property.

Return value

The command returns:
  • true: success
  • false: failure

Batch mode example usage

  • Using 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}"]')
  • Using Jython list:
    AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '{quiesceStrategy INTERVAL}{quiesceInterval 30}'])

Interactive mode example usage

  • Using Jacl:
    $AdminTask rolloutEdition {-interactive} 
    Using Jython string:
    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.

Return value

The command returns:
  • true: success
  • false: failure

Batch mode example usage

  • Using 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}"]')
  • Using Jython list:
    AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '{dynClusterMaxSize 2}{dynClusterMinSize 1}'])

Interactive mode example usage

  • Using Jacl:
    $AdminTask validateEdition {-interactive} 
    Using Jython string:
    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

The command returns a string array of all the installed editions of the application.
Note: The return value for base editions is displayed as "".

Batch mode example usage

  • Using Jacl:
    $AdminTask listEditions {-appName HelloWorld} 
    Using Jython string:
    AdminTask.listEditions ('[-appName HelloWorld]')
  • Using Jython list:
    AdminTask.listEditions (['-appName', 'HelloWorld'])

Interactive mode example usage

  • Using Jacl:
    $AdminTask listEditions {-interactive} 
    Using Jython string:
    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

The command returns:
  • true: success
  • false: failure

Batch mode example usage

  • Using Jacl:
    $AdminTask isEditionExists {-appName HelloWorld -edition 2.0}
    Using Jython string:
    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} 
    Using Jython string:
    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}
    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]')
  • 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}
    Using Jython string:
    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

The command returns:
  • 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} 
    Using Jython string:
    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}
    Using Jython string:
    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

The command returns:
  • ACTIVE
  • INACTIVE
  • VALIDATE

Batch mode example usage

  • Using Jacl:
    $AdminTask getEditionState {-appName BeenThere -edition 1.0} 
    Using Jython string:
    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} 
    Using Jython string:
    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.

You can use the following example in wsadmin to install the application BeenThere with edition 1.0.
  • 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.

You can use the following example in wsadmin to update edition 1.0 of the application BeenThere with the BeenThereE1-update.ear file.
  • 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.

You 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.
  • 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.

You can use the following example in wsadmin to uninstall edition 1.0 of the application BeenThere.
  • Using Jacl:
    $AdminApp uninstall BeenThere-edition1.0
  • Using Jython:
    AdminApp.uninstall('BeenThere-edition1.0')