Simple plans contain a series of deployment instructions, or steps. Simple plans are executed on a single host or host set. Simple plans can call common procedures, such as install or uninstall, and can also use conditional programming constructs.
Composite plans contain calls to simple plans. Composite plans can apply some procedures to one host, while applying other procedures to a different host or host set.
A simple plan might look like the following example. This plan provides an install block and an uninstall block. For more information about the specific elements and attributes used to define a plan, see Chapter 4, Plan Schema, in N1 Grid Service Provisioning System 5.0 XML Schema Reference Guide.
<?xml version="1.0" encoding="UTF-8"?> <!-- generated by N1 SPS --> <executionPlan xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' name='plugin-core.jar-1096573592002' version='5.0' xsi:schemaLocation='http://www.sun.com/schema/SPS plan.xsd' xmlns='http://www.sun.com/schema/SPS' path='/system/autogen'> <simpleSteps> <install blockName='default'> <component name='plugin-core.jar' path='/system' version='1.1'> </component> </install> <uninstall blockName='default'> <installedComponent name='plugin-core.jar' versionOp='=' version='1.1' path='/system'> </installedComponent> </uninstall> </simpleSteps> </executionPlan>
A composite plan might look like the following example. This example calls three sub-plans.
<executionPlan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="apache-tomcat-uninstall" version="4.0" xsi:schemaLocation="http://www.centerrun.com/schema/CR plan.xsd" xmlns="http://www.centerrun.com/schema/CR"> <compositeSteps> <execSubplan planName="mod-jk-uninstall" /> <execSubplan planName="apache-uninstall" /> <execSubplan planName="tomcat-uninstall" /> </compositeSteps> </executionPlan>
The following example shows a more complicated plan that determines what to execute based on some conditions.
<?xml version="1.0" encoding="UTF-8"?> <!-- generated by CR --> <executionPlan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="BAM_backout_new_version_NODE-A" version="4.0" xsi:schemaLocation="http://www.centerrun.com/schema/CR plan.xsd" xmlns="http://www.centerrun.com/schema/CR" path="/plans/uat"> <paramList> <param name="backout_type" prompt="Enter type of backout (all,ear,prop)"></param> </paramList> <varList> <var name="admin_server" default="wusx119"></var> <var name="node" default="wust3022"></var> <var name="wl_server_name" default="bamC"></var> <var name="apphome" default="/opt/uat/ceodomain"></var> <var name="prop_args" default="-s wust3022"></var> <var name="application_name" default="bam"></var> <var name="staging_base" default="/usr/local"></var> <var name="user" default="weblogic"></var> </varList> <simpleSteps limitToHostSet="uat-bam"> <if> <condition> <or> <equals value2="all" value1=":[backout_type]"></equals> <equals value2="prop" value1=":[backout_type]"></equals> <equals value2="ear" value1=":[backout_type]"></equals> </or> </condition> <then> <call blockName="backout_application"> <argList application_name=":[application_name]" staging_base=":[staging_base]" backout_type=":[backout_type]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <call blockName="wl_stop"> <argList wl_server_name=":[wl_server_name]" node=":[node]" apphome=":[apphome]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <if> <condition> <equals value2="all" value1=":[backout_type]"></equals> </condition> <then> <call blockName="clusterdeploy"> <argList application_name=":[application_name]" staging_base=":[staging_base]" node=":[node]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <call blockName="deploy_prop"> <argList application_name=":[application_name]" prop_args=":[prop_args]" staging_base=":[staging_base]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <call blockName="wl_startjsp"> <argList application_name=":[application_name]" wl_server_name=":[wl_server_name]" node=":[node]" apphome=":[apphome]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> </then> </if> <if> <condition> <equals value2="ear" value1=":[backout_type]"></equals> </condition> <then> <call blockName="clusterdeploy"> <argList application_name=":[application_name]" staging_base=":[staging_base]" node=":[node]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <call blockName="wl_startjsp"> <argList application_name=":[application_name]" wl_server_name=":[wl_server_name]" node=":[node]" apphome=":[apphome]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> </then> </if> <if> <condition> <equals value2="prop" value1=":[backout_type]"></equals> </condition> <then> <call blockName="deploy_prop"> <argList application_name=":[application_name]" prop_args=":[prop_args]" staging_base=":[staging_base]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> <call blockName="wl_start"> <argList application_name=":[application_name]" wl_server_name=":[wl_server_name]" node=":[node]" apphome=":[apphome]" user=":[user]"> </argList> <installedComponent name="deploy_tools" path="/components/function_library"> </installedComponent> </call> </then> </if> </then> <else> <raise message="Please enter a valid deployment type (all/ear/prop)"></raise> </else> </if> </simpleSteps> </executionPlan>