54 Customizing Deployment Procedures

The Deployment Procedures offered by Oracle Enterprise Manager Cloud Control (Cloud Control) are default procedures that have been created considering all the best practices in the industry. The steps embedded within a Deployment Procedure ensure that they meet all your provisioning and patching requirements. You can, of course, use them with the default settings to provision or patch your targets in the environment, however, you also have the choice of customizing them to include additional custom steps, disable unwanted steps, and use authentication tools to run some steps as another user.

By customizing Deployment Procedures, you can also implement different error handling methods. For example, in a patching operation where multiple hosts are patched in parallel, it may be wise to skip the host on which a failure occurs. However, failure on a device creation could render the remaining provisioning operation ineffective. Therefore, it may be necessary to abort the entire procedure for failure of such a step.

This chapter helps you understand how you can customize Deployment Procedures to make them suit your needs. In particular, this chapter covers the following:

54.1 About Deployment Procedure Customization Types

The following describes the types of customization you can perform with Deployment Procedures:

Type 1 Type 2

Editing Custom Deployment Procedures

You can edit an existing custom Deployment Procedure that is offered by Cloud Control to add new phases and steps. However, for patching the steps that can be added are restricted to either a Directive step or a Host command step.

You can perform the following tasks:

  • Add your own phases and steps to the pre-defined blocks of the procedure structure.

  • Enable and disable phases and steps

  • Delete phases and steps

  • Change privilege levels

  • Change error handling modes

  • Enable e-mail notifications

Note: You can not edit an Oracle-owned deployment procedure. To do so, you must clone the Oracle-owned procedure using Create-like functionality, and then edit the copy to include your changes.

Creating a User Defined Deployment Procedures

You can create your own Deployment Procedure with new steps, phases, privilege levels, and so on.

You can perform the following tasks:

  • Add your own phases and steps to the pre-defined Default phase of the procedure structure.

  • Enable and disable phases and steps

  • Change privilege levels

  • Change error handling modes

  • Enable e-mail notifications

Note: For steps to Create a User Defined Deployment Procedure, see Creating, Saving, and Launching User Defined Deployment Procedure (UDDP).

The following graphic shows how you can use the Customizing Deployment Procedure page to create a copy of the default Deployment Procedure that is offered by Cloud Control. You can then add new steps and phases or edit the existing steps and phases in the copy to customize your procedure.

For more information on adding steps and phases, see Customizing a Deployment Procedure.


Customizing Deployment Procedures

54.2 Customizing a Deployment Procedure

The first step towards customizing a Deployment Procedure is to create a copy of the default Deployment Procedure that is offered by Cloud Control. Note that only a copy can be edited and customized with your changes; the default Deployment Procedures must always and will always remain unchanged.

You can add additional phases or steps to a Deployment Procedure to run additional custom scripts, host commands, or jobs, see Phases and Steps.

Note:

If a step is added outside a phase, then the type of step that can be added is restricted to a Job Step or a Manual Step. You can not add other steps outside a phase. Howevere, within a phase all the steps discussed in this section can be added.

This section explains how you can edit different types of phases or steps to a Deployment Procedure. In particular, it covers the following:

54.2.1 Editing the Rolling and Parallel Phase of a Deployment Procedure

To edit the general information of the phase, follow these steps:

  1. From the Enterprise menu, select Provisioning and Patching and then select Procedure Library.

  2. On the Provisioning page, in the Procedure Library tab, from the menu, select Create New, then click Go.

  3. On the Create New Procedure page, select Procedure Steps tab.

  4. Select the phase, and click Edit Step to edit a phase.

  5. In the Create wizard, do the following:

    1. On the Create page, the general information of the phase as displayed. You can change them if you want, and click Next.

    2. On the Select Target List page, select a target list to indicate the type of targets on which the new phase should run.

      All the target lists declared while creating the procedure is listed in the drop down menu, select the target list to use for this phase. The actual targets can be chosen when the procedure is being launched.

    3. On the Review page, review the information you have provided for creating a new phase, and click Finish. The changes to the phase are saved.

54.2.2 Editing a Job Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Select Type page, you can view the job type details.
  3. On the Map Parameters page, you can update the variable values or set a new one. Additionally, you can also update the credentials to be used for the target list.
  4. On the Review page, review the updates, and click Finish.

54.2.3 Editing a Directive Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Select Directive page, you can select one of the following options:

    - Select New Directive: This option lists all the directives available in Software Library, select a directive from the list that you want to run on the targets. Provide necessary values in the Select Directive section to narrow down the search results.

    - Retain Directive Selection: This option allows you to use the same directive that you selected while creating this step.

  3. On the Map Properties page, review the following details:
    • By default the Run Directive, and Perform Cleanup options are enabled to run the script, and remove the files after the steps has run. You may disable this is you want.

    • In the Directive Properties section, specify values for the properties associated with the selected directive. You have the option of providing or not providing the property values at this stage. If you do not provide the property values now, then they are prompted at the time of launching the procedure.

    • In the Credentials section, set the target List to be applied for this step.

    • In the Time limit properties section, you can update the max time allowed for an operation to complete in seconds.

  4. On the Review page, review the updates, and click Finish.

54.2.4 Editing a Component Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Select Component page, you can select one of the following options:

    - Retain Selection: This option allows you to use the same component that you selected while creating this step.

    - Select New Component: This option lists all the components available in Software Library, select a component from the list that you want to run on the targets. Provide necessary values in the Select Component section to narrow down the search results.

    If you have set a Software Library variable in the Procedure Variables tab, you may additionally notice these two options:

    - Select New Software Library Entity Variable: Select the Software Library variable that you declared while creating the procedure from the Software Library Entity Variable drop down menu. This variable behaves as a place holder and enables you the flexibility of binding it with the components dynamically while launching the procedure. Essentially, you can use this variable to select certain entities which do not need any parameters.

    For example, user-defined scripts like a Perl to print the current directory location that does not need any parameters to be passed.

    - Select New Software Library Entity Variable with Component Properties: This option allows you to bind the Software Library variable with the components that are available in Software Library. Ensure that you choose a component whose properties (signature) matches with the entity declared.

  3. On the Select Directive page, you can select one of the following options:

    - Retain Software Library Entity Variable Selection: This option allows you to use the same directive that you selected while creating this step.

    - Select New Directive: This option lists all the directives available in Software Library, select a directive from the list that you want to run on the targets. Provide necessary values in the Select Directive section to narrow down the search results.

    If you have set a Software Library variable in the Procedure Variables tab, you may additionally notice these two options:

    - Select New Software Library Entity Variable: Select the Software Library variable that you declared while creating the procedure from the Software Library Entity Variable drop down menu. This variable behaves as a place holder and enables you the flexibility of binding it with the directives dynamically while launching the procedure. Essentially, you can use this variable to select certain entities which do not need any parameters.

    For example, user-defined scripts like a Perl to print the current directory location that does not need any parameters to be passed.

    - Select New Software Library Entity Variable with Directive Properties: This option allows you to bind a Software Library entity variable with directives that are available in Software Library. Ensure that you choose a directive whose properties (signature) matches with the entity declared.

  4. On the Map Properties page, review the following details:
    • By default the Run Directive, and Perform Cleanup options are enabled to run the script, and remove the files after the steps has run. You may disable this is you want.

    • In the Directive Properties section, specify values for the properties associated with the selected directive. You have the option of providing or not providing the property values at this stage. If you do not provide the propertie values now, then they are prompted at the time of launching the procedure.

    • In the Credentials section, set the target List to be applied for this step.

    • In the Time limit properties section, you can update the max time allowed for an operation to complete in seconds. If there are two options, the interview time will display a radio button. If there are more than two options, then a display menu appears.

  5. On the Review page, review the updates, and click Finish.

54.2.5 Editing a File Transfer Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Map Properties page, select the Source Target from which you want to transfer files, the source target path, the Target Destination for file transfer and the destination path. Specify the Source and Destination Credential Usage, whether Host or Privileged Host credentials. Click Next.

    If you select Transfer all the files in this path option, then all the files in the source path are transferred. If uncheck this option, then the Source File Name field becomes mandatory.

  3. On the Review page, review the updates, and click Finish.

54.2.6 Editing a Host Command Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Enter Command page, specify the command or script, which you want to run on the target, and the privilege to run it.

    To run the host command as a script, select Script from the Command Type list. Specify the shell that can interpret the script. The script is passed as standard input to the specified interpreter.

    To run the host command as a command line, select Single Operation from the Command Type list. Specify the text you want to execute used as a command line. No assumptions are made about the shell to interpret this command line. The first entry in the command line is assumed to be the process to spawn and the rest of the command line as passed as arguments to this process. Therefore, a command line of ls -a /tmp spawns a process of "ls" (from the current path; also depends on the Oracle Management Agent) and passes "-a" as the first argument and then "/tmp" as the second argument to this process.

    Note: The command line mode assumes that the first part of the command line is the process to be spawned. Therefore, shell internals and the commands that rely on the PATH environment variable for resolution are not recognized. If any such commands need to be used, then you need to prepend the shell that interprets the command line.

    For example, the command cd /tmp && rm -rf x expands to "cd" as a process and then "/tmp, &&, rm, -rf, x" as arguments. To fix this, change the command line to /bin/csh -c "cd /tmp && rm -rf x".

    Another example, the command export PATH=/opt:${PATH}; myopt -install expands to "export" as a process and then "PATH=/opt:${PATH};, myopt, -install" as arguments. To fix this, use /bin/sh -c "export PATH=/opt:${PATH}; myopt -install".

  3. In the Time limit properties section, you can set a max time allowed for a script to run in seconds. For example: Lets assume that you have set this value to 75 seconds, then when the script runs if it exceeds the set time, then this step is skipped.
  4. On the Review page, review the updates, and click Finish

54.2.7 Editing a Manual Step of a Deployment Procedure

In the Edit wizard, do the following:

  1. On the Edit page, review the general information about the step. If you want to update the values, follow the general information about the step as described in Table 54-1.
  2. On the Enter Instructions page, provide a message to inform the operator about a manual step. For example, if want to instruct the operator to log in to a system and update the kernel parameter, then specify the following:
    You have been logged out of the system. Log in and update the Kernel parameters. 
    
  3. On the Review page, review the updates, and click Finish.

Table 54-1 Field Description - Customizing Steps

Field Name Description

Select

Select Step.

Name

Specify a name for the custom step.

Description

Provide a description for the custom step.

Condition

Leave this field blank.

Insert Location

If you want to insert the custom step after the step you selected, then select After <step name>. Otherwise, select Before <step>.

Type

  • For a job step, select Job.

  • For a directive step, select Library: Directive.

  • For a generic component, select Library: Component.

  • For a file transfer step, select File Transfer

  • For a manual step, select Manual.

  • For a host command step, select Host Command.

Error Handling

Select the error handling mode you want to set for the custom phase. Every step in a Deployment Procedure is preconfigured with an error handling mode that indicates how the Deployment Procedure will behave when the phase or step encounters an error. The error handling modes offered by Cloud Control are:

- Inherit - Inherits the error handling mode that was set for the enclosing phase. (When set for a step that is outside a phase, it inherits the error handling mode from the Deployment Procedure).

- Stop On Error - Stops when an error is encountered. Deployment Procedure does not proceed to the next step until you correct the errors or override them.

- Continue On Error - Continues even when an error is encountered.

- Skip Target - Ignores the failed target on the list and continues with other targets.

54.3 A Workflow Example for Assigning Values to Deployment Procedure Variables at Runtime

Starting with Enterprise Manager 12.1.0.3 (Patch Set 2), a new feature has been enabled using command blocks within the PAF functional domain. Command blocks are a set of strings that needs to be printed to the output stream by the script running on a host. They follow this format:

$$$--*$$'
<commandBlock>
<executeProc name="MGMT_PAF_UTL.UPDATE_RUNTIME_DATA">
<scalar>%job_execution_id%</scalar>
<scalar>${data.<DP_VARIABLE_NAME>}</scalar>
<scalar><DP_VARIABLE_VALUE></scalar>
</executeProc>
</commandBlock>
$$$*--$$

Where,you need to enter the values for <DP_VARIABLE_NAME> and <DP_VARIABLE_VALUE>

Example:
In the following example, isPingSuccessful is the DP variable, and true is the value.
print '$$$--*$$';
print '<commandBlock>';
print '<executeProc name="MGMT_PAF_UTL.UPDATE_RUNTIME_DATA"> ';
print '<scalar>%job_execution_id%</scalar> ';
print '<scalar>${data.isPingSuccessful}</scalar> ';
print '<scalar>true</scalar> ';
print '</executeProc>';
print '</commandBlock>';
print '$$$*--$$';

Any language (shell, Perl, and so on) can be used to write the script that will run on the host. As long as the above command block gets printed on the output stream, procedure variables will be updated.

This feature enables you to update the values of procedure declared variables at runtime. The command block feature allows some automatic post-processing of the output generated from a remote machine (agent), which is then uploaded to the OMS, and processed by Job Systems. In PAF, you can use this feature to define steps in a procedure with command block formatted output. Within the command block, SQL procedure can be invoked to assign values to procedure variables.

Note:

Only a directive step, or a component step, and a job step can use the command block to update the values of a procedure declared variables at runtime.

The following example demonstrates how a command that is run on the target can update the variable in a procedure at runtime. In this example, a ping command is run on a host using the directive step in a procedure. If the ping command succeeds, then the directive sets the value of the procedure to true. If not, the directive sets the value of the procedure to false.


Example Workflow

Here are the high level steps:

Table 54-2 Assigning Variable Values at Runtime

Step Details

Step 1

Create a Perl File called TestPingAndSetDPVariable.pl on your local host. For details, see Step 1: Creating a Perl Script to Assign Values to Deployment Procedure Variables at Runtime.

Step 2

Upload the Perl script to the Software Library. For a detailed list of steps, see Step 2: Uploading TestPingAndDPvariable.pl to Software Library.

Step 3

Create a procedure to add the variable isPingSucessfull, and a few procedure steps which will print the command blocks and call the directive that was created in the previous step. For details, see Step 3: Creating a Deployment Procedure.

Step 4

Run the Procedure. For details, see Step 4: Launching the Deployment Procedure, and Providing the Variable Values at Runtime.

Step 5

Verify the variable details. For details, see Step 5: Verifying the Deployment Procedure Variable Values.

54.3.1 Step 1: Creating a Perl Script to Assign Values to Deployment Procedure Variables at Runtime

Open any editor, copy the following lines of code, then save the file as a Perl script:

system("ping", "-c", "1", "127.0.0.1");
if ( $? == 0 )
{  
  # below 9 lines of print statements set the DP variable "isPingSuccessful" as "true" string
  print '$$$--*$$';
  print '<commandBlock>';
  print '<executeProc name="MGMT_PAF_UTL.UPDATE_RUNTIME_DATA"> ';
  print '<scalar>%job_execution_id%</scalar> ';
  print '<scalar>${data.isPingSuccessful}</scalar> ';
  print '<scalar>true</scalar> ';
  print '</executeProc>';
  print '</commandBlock>';
  print '$$$*--$$';
} 
else 
{
  # below 9 lines of print statements set the DP variable "isPingSuccessful" as "false" string
  print '$$$--*$$';
  print '<commandBlock> ';
  print '<executeProc name="MGMT_PAF_UTL.UPDATE_RUNTIME_DATA"> ';
  print '<scalar>%job_execution_id%</scalar> ';
  print '<scalar>${data.isPingSuccessful}</scalar> ';
  print '<scalar>false</scalar> ';
  print '</executeProc> ';
  print '</commandBlock>';
  print '$$$*--$$ ';
}

54.3.2 Step 2: Uploading TestPingAndDPvariable.pl to Software Library

To create a directive entity in Software Library, follow these steps:

  1. In Cloud Control, from Enterprise menu, select Provisioning and Patching, then click Software Library.
  2. On the Software Library home page, right-click any User-owned directive folder. From the context menu, select Create Entity, then click Directive. The Create Directive page is displayed.
  3. On the Describe Page, enter a unique name for the folder. For example, TestPingAndSetDPVariable. Click Next.
  4. On the Configure page, in the Configure Properties section, from the Shell Type list, select Perl. Click Next.
  5. On the Select Files page, in the Specify Destination section, select any Software Library Upload Location for uploading the specified files.

    In the Specify Source section, select File Source as Local Machine. Click Add, and select the Perl script TestPingAndDPVariable.pl from your local host. Click Next.

  6. Review all the details, and click Save and Upload.

See Also:

For more information, see Enterprise Manager Cloud Control Administrator's Guide.

54.3.3 Step 3: Creating a Deployment Procedure

To create a procedure, follow these steps:

  1. In Cloud Control, from Enterprise menu, select Provisioning and Patching, then click Procedure Library.

  2. On the Procedure Library page, from the menu, select Create New, then click Go.

  3. On the General Information page, enter a unique name for your procedure.

  4. On the Create New Procedure page, click Procedure Variables. Click Add Row, and enter the following details:


    Creating a Deployment Procedure

  5. Click Procedure Steps tab. Select the Default phase, then click Insert to add the following steps to the default phase:

    1. Add a Host Command step to print the value of the variable before running the procedure. Here are the steps: On the Create page, select Host Command from the menu, enter a unique name for the step, then click Next. On the Enter Command page, enter the value: echo Before String is: "${data.isPingSuccessful}".

      Note: The expression to access the DP variable isPingSuccessful in DP code is ${data.isPingSuccessful}.

      Click Next. Review the details, click Finish.

    2. Add a Directive step called ping to call the directive that was uploaded to Software Library. To do so, on the Create page, enter a unique name for the step, then select Directive from the Type menu. On the Select Directive page, search with a string %Ping%.Select the Directive that you uploaded, and click Next. You can leave all the default values as is on Map Properties page, and Review page, then click Finish.

    3. Add a Host Command step to print the value of the variable after running the procedure. Here are the steps: On the Create page, select Host Command from the menu, enter a unique name for the step, then click Next. On the Enter Command page, enter the value: echo After String is: "${data.isPingSuccessful}". Click Next. Review the details, click Finish.

  6. Click Save and Close.

54.3.4 Step 4: Launching the Deployment Procedure, and Providing the Variable Values at Runtime

Run the procedure as follows:

  1. In Cloud Control, from Enterprise menu, select Provisioning and Patching, then click Procedure Library.
  2. On the Procedure Library page, select the procedure you created in the previous step, then click Launch. The Procedure Interview page is displayed.
  3. On the Select Targets page, select a target on which you want to run this procedure. Click Next.
  4. On the Set variables Page, for the isPingSuccessful variable, enter the following value:
    This is the Value I Entered.
    

    Click Next.

  5. On the Credentials page, set the credentials for the targets.
  6. On the Schedule page, select Immediately, and click Submit.
  7. Enter the Submission Name, then click Ok.

54.3.5 Step 5: Verifying the Deployment Procedure Variable Values

To verify the variable values at different stages of the procedure submission, follow these steps:

  1. On the Procedure Activity page, select the procedure instance that you submitted.
  2. On the Procedure Instance Execution page, select the Step Print Before. This step prints the value of the variable entered during submission.

    Procedure Activity

    The output that is displayed in the Execute Command block is:

    Before String is: This is the Value I entered.
    
  3. On the Procedure Instance Execution page, select the Step Ping.

    Note:

    The Ping step ran, and the ping command was successful. However, the print statements printing the command block string in the Perl script are not displayed. This is because, these special command block strings were parsed by job system and used to process the procedure variable assignment logic.


    Procedure Activity — II

  4. On the Procedure Instance Execution page, select Step Print After. This step prints the value of the variable as true, this was set by the directive that ran on the host.

    Procedure Activity — III

    The output that is displayed in the Execute Command block is:

    After String is: true
    

    This way you can use a directive step to manipulate procedure variables at runtime depending on the output returned by some other command that ran on the target.

54.4 Changing Deployment Procedure Error Handling Modes

Every step in a Deployment Procedure is preconfigured with an error handling mode that indicates how the Deployment Procedure will behave when the phase or step encounters an error. The error handling modes offered by Cloud Control are:

  • Inherit - Inherits the error handling mode that was set for the enclosing phase. (When set for a step that is outside a phase, it inherits the error handling mode from the Deployment Procedure).

  • Stop On Error - Stops when an error is encountered. Deployment Procedure does not proceed to the next step until you correct the errors or override them.

  • Continue On Error - Continues even when an error is encountered.

  • Skip Target - Ignores the failed target on the list and continues with other targets.

For more information about steps, see Phases and Steps.

To change the error handling modes, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Provisioning page, select the Deployment Procedure you want to customize, and click Create Like.
  3. On the Create Like Procedure page, click the Procedure Steps tab, and then select a phase or step, and change the Error Handling Mode.

    After the mode is selected from the list, Cloud Control automatically refreshes the page with the newly selected mode for that phase or step.

The following is an example that illustrates how you customize the Oracle Database Provisioning Deployment Procedure to change the error handling mode of the Destination User Permission Checks phase:


Deployment Procedure Manager

54.5 Setting Up email Notifications Regarding the Status of Deployment Procedures

Cloud Control can send email notifications to report the status of a Deployment Procedure. However, by default, Deployment Procedures do not have this feature enabled. For email notifications to be sent, your Super Administrator must configure an Outgoing Mail (SMTP) Server within Enterprise Manager, and then you as an Administrator must provide your email Address and Password for receiving notifications.

Enabling email notifications is a two-step process:

Note:

As a prerequisite, you are expected to have configured the Mail Server and set up the email address in Cloud Control.

54.5.1 Configuring an Outgoing Mail (SMTP) Server In Enterprise Manager

Before Enterprise Manager can send e-mail notifications, you must first set up the Outgoing Mail (SMTP) servers.

Note:

Only a privileged user can configure SMTP servers.

To set up the SMTP server, follow these steps:

  1. In Cloud Control, from the Setup menu, select Notification, then select Notifications Method.
  2. On the Setup page, in the Mail Server section, enter one or more outgoing mail servers and optional port number (if left blank, port 25 is used by default).
  3. Enter the mail server authentication credentials like UserName, Password. The UserName and Password fields allow you to specify a single set of authentication credentials to be used for all mail servers. If no mail server authentication is required, leave the User Name, Password (and Confirm Password) fields blank.
  4. Enter the name you want to appear as in the sender of the notification messages field Identify Sender As.
  5. Enter the e-mail address you want to use to send your e-mail notifications in the Sender's E-mail Address. When using incident rules, any e-mail delivery problems will be automatically sent to the Sender's E-mail Address.

    Note:

    The e-mail address you specify on this page is not the e-mail address to which the notification is sent. You will have to specify the e-mail address (where notifications will be sent) from the Preferences General page, see Adding E-mail Addresses for Enterprise Manager Notifications.

  6. The Use Secure Connection option allows you to choose the SMTP encryption method to be used. Three options are provided:
    • No: E-mail is not encrypted.

    • SSL: E-mail is encrypted using the Secure Sockets Layer protocol.

    • TLS, if available: E-mail is encrypted using the Transport Layer Security protocol if the mail server supports TLS. If the server does not support TLS, the e-mail is automatically sent as plain text.

In the following example, two mail servers are specified--smtp01.example.com on port 587 and smtp02.example.com on port 25 (default port). A single administrator account (myadmin) is used for both servers.

Outgoing Mail (SMTP) Server smtp01.example.com:587, smtp02.example.com

User Name myadmin

Password ********

Confirm Password ********

Identify Sender As EMD Notifications

Sender's E-mail Address mgmt_rep@example.com

Use Secure Connection: SSL

54.5.2 Adding E-mail Addresses for Enterprise Manager Notifications

You specify one or more e-mail addresses to which notifications can be sent when you define the Notifications Schedule. In addition to defining notification e-mail addresses, you associate the notification message format (long or short) to be used for each e-mail address.

Each e-mail address can have up to 128 characters; there is no upper bound with the number of e-mail addresses.

To add an e-mail address:

  1. In Cloud Control, from the Setup menu, select Notification, then select My Notifications Schedule.
  2. Specify an Enterprise Manager administrator, and click Define Schedule.
  3. If no previous e-mail addresses have been defined for the administrator, a message displays prompting your to define e-mail addresses for the administrator. Click Click here to set e-mail addresses. The General page appears.
  4. Click Add Another Row to create a new e-mail entry field in the E-mail Addresses table.
  5. Specify the e-mail address associated with your Enterprise Manager account. All e-mail notifications you receive from Enterprise Manager will be sent to the e-mail addresses you specify. For example, user1@example.com, user2@example.com, and so on.
  6. If you need to additional e-mail addresses, click Add Another Row, enter the e-mail address and select the format.
  7. You can test if the e-mail address is properly configured to receive e-mails from Enterprise Manager by selecting it and clicking Test.
  8. Click Apply to save your changes when finished.

Once you have defined your e-mail notification addresses, they will be shown when you define a notification schedule. For example, user1@example.com, user2@example.com, user3@example.com. You can choose to use one or more of these e-mail addresses to which e-mail notifications for the Incident Rule will be sent.

54.6 Copying Customized Provisioning Entities from One Enterprise Manager Site to Another

If you have customized provisioning entities on an Enterprise Manager installation that you want to apply to another installation of Enterprise Manager, follow these steps. The provisioning entities can include procedure definitions or Software Library entities or a combination of these.

This section consists of the following:

54.6.1 Prerequisites for Copying Customized Provisioning Entities from One Enterprise Manager Site to Another

Ensure that:

  • Customized provisioning entities exist in the system at source site.

  • Source administrator has access to the customized provisioning entities at source site.

  • Source administrator has necessary privileges to export the provisioning entities.

  • Destination site has similar setup as source site, that is, both have the same version of Enterprise Manager installed.

  • Destination administrator has privileges to import provisioning entities.

54.6.2 Copying Customized Provisioning Entities from One Enterprise Manager Site to Another

Follow these steps:

  1. Export the PAR file using the following command:

    emctl partool export -guid <procedure guid> -file <file> -displayName <name> -description <desc> -metadataOnly(optional)
    
  2. For importing the provisioning entities, you can use emctl partool as follows:

      emctl partool <deploy|view> -parFile <file> -force(optional)
      emctl partool <deploy|view> -parFile <file> -force(optional) -ssPasswd <password>
      emctl partool <deploy|view> -parDir <dir> -force(optional)
    
  3. Alternatively, you can import the PAR file from Cloud Control as explained in the following steps.

    1. From the Enterprise menu, select Provisioning and Patching and then select Procedure Library.

    2. On the Procedure Library page, from the list, select Import and click Go.

  4. In the Upload Procedure File page, select:

    • Upload From Local Machine, if the PAR files are stored on your local machine. Click Browse and select the PAR File to Upload. Click Import.

    • Upload From Management Agent Machine, if you have stored the PAR files on the Management Agent machine. Click Target and select the Host. Click Select File and select the PAR file. Click Import.

  5. Apply the imported entities.

54.7 A Workflow Example for Customizing a Directive

Directives are essentially scripts stored in the Software Library. They are used in Deployment Procedures within a Directive Step, which is a special type of action step. For more information about adding a Directive Step, see Adding a Directive Step.

If you want to customize a directive offered by Cloud Control, then first create a copy of the Perl script associated with that Directive and make a new directive out of that copy. Then customize the Deployment Procedure to modify a step to use this new directive, and then schedule the deployment. This section explains the following:

54.7.1 Creating and Uploading a Copy of a Default Directive

To create a new customized directive using a default directive, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Software Library.

  2. On the Software Library page, from the table, expand the Software Library and the other levels under this category to reach the directive you want to copy.

    For example, if you want to copy the Apply Patch directive of a patching operation, then expand Software Library and then expand Patching. From this level, expand Common, and then All, and finally Generic. Under Generic, you should see the directive Apply Patch.

  3. Select the directive you want to copy and click Create Like, and store the copy of the directive in a custom folder called Directive.

  4. Select the custom directive, and then click Edit.

  5. In the Create Directive wizard, do the following:

    1. On the Describe page, describe the directive you are creating.

    2. On the Configure page, click Add to specify the command line arguments to be passed to the Directive. Set the Shell Type to Perl because you are adding a Perl script. If the script is neither Perl nor Bash, then set it to Defined in Script.

      Each entry represents a single command line argument. Each argument may include a variable to be set later, a prefix and suffix. The prefix and suffix text are appended before and after the property value to produce the command line argument.

      Repeat this step to add all the command line arguments.

    3. On the Select Files page, select Upload Files. In the Specify Source section, select Local Machine, and click Add to select the modified perl file.

    4. Click Save and Upload.

54.7.2 Customizing a Deployment Procedure to Use the New Directive

To customize a Deployment Procedure to use the new directive, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.

  2. On the Provisioning page, select the Deployment Procedure for which you want to use this new directive, and click Create Like.

  3. On the Create Like Procedure page, select Procedure Steps tab, and do the following:

    1. From the table that lists all the steps within that Deployment Procedure, select the directive step with which you want to associate the new directive, and click Edit Step.

    2. In the Edit Directive Step wizard, do the following:

      1. On the Edit page, click Next.

      2. On the Select Directive page, select Select New Directive. Then search and select the new directive you created, and click Next.

      3. On the Map Properties page, specify the values for the directive properties, and click Next.

      4. On the Review page, click Finish.

    3. Click Save.

54.7.3 Running the Customized Deployment Procedure

To run the customized Deployment Procedure, follow these steps:

  1. In Cloud Control, from the Enterprise menu, select Provisioning and Patching, then select Procedure Library.
  2. On the Provisioning page, select the customized Deployment Procedure and click Schedule Deployment.