Design and create a blueprint

Design your own blueprint using the Blueprint Designer. Built-in steps, scripts, and existing blueprints are building blocks you can drag and drop to create new blueprints. Each step or process performs a specific action (or a series of actions), such as launching servers, mounting a volume, registering a load balancer, installing an application, configuring a web cluster, and so on.

Contents

Step 1: Create a new blueprint and enter overview details

  1. Click Smart Build from the menu bar.
  2. On the Library page, click New Blueprint. A new blueprint appears displaying the Overview section.
  3. Enter a name for the blueprint. 
  4. (Optional) Enter a description and tags. A short description can help you and your team members to easily identify the purpose of a blueprint. Tags help you to filter or search your blueprint among the available blueprints and scripts. To insert a tag, enter a tag and press ENTER.
  5. (Optional) Select the resource location types on which users can deploy your blueprint. By default, no resource location types are selected and your blueprint can be deployed on any of the virtualization or cloud computing platforms Smart Tools supports. If you want to restrict your blueprint to specific platforms, select the applicable resource location types. 
  6. (Optional) Enter any prerequirements for the blueprint. 

Back to top

Step 2: Define deployment steps and blueprints

  1. Click the Deploy tab. Drag and drop predefined steps, scripts, and other blueprints from the library to define a blueprint deployment process.
  2. Set up the following global blueprint parameters:
    1. Runs On: Click Select Servers to select the servers or server groups on which you want to run your blueprint.
    2. Blueprint Inputs: Enter blueprint inputs. Blueprint Inputs are global parameters that can be called from within any script in a blueprint. For example, you can define a user password as a blueprint input. You can then call this input value from within a step (such as a configuration step for a web server, database, and so on.). 
    3. Options: Select an action from the On failure box for the system to perform in the event of a blueprint failure. By default, the Exit action is set. The options are: Exit, Continue, Pause, and Retry. If you select Retry, you can select the number of retries from the Number of retry box. 
  3. Drag and drop steps and blueprints from your library (at left) into the Blueprint Designer to build your blueprint. You can include blueprints, scripts or steps within blueprints. You cannot include blueprints, scripts or steps within a script or step. 
  4. (Optional) Click Referenced to refer a script or blueprint to this blueprint. For more information on References, see Refer scripts and blueprints.

Back to top

Step 3: Configure steps and blueprints

This may involve configuring instance details for launch on cloud provider accounts or selecting target machines on which to perform actions, such as installing applications, mounting volumes, registering load balancers, and so on. Depending on your automation process, you might need to configure some steps or blueprints when you build your blueprint. Some configurations might be required during deployment of the blueprint.

You can use outputs from one step as inputs for another step. This enables the flow of data within a blueprint process, and makes it possible to pre-configure complex automated blueprints containing multiple interrelated steps. For example, you can chain output values from a server launch step (i.e. server attribute values) to a configuration step requiring a server attribute value as an input. See Chain blueprint step outputs and inputs for more information.

Back to top

(Optional) Step 4: Add parameters

Define input parameters for each step, as required. You can also define global process Inputs. These are global parameters that can be called from within any script in a blueprint. Using process inputs makes it easy to pre-configure multi-step blueprints, enabling single-click deployment of ready-to-use systems, such as web clusters that may involve launching and configuring multiple servers and applications.

The following configuration fields are available for input parameters:

Field Description

Type 

Specifies input parameter types. The following input parameters types are supported:

  • String: Sequence of characters in the form of a literal constant or variable. Example: abcd123
  • Integer: Any number represented without a fractional component. Example: 24 or -372
  • Password: Sequence of characters that authenticate users to access protected resources. Example: acmecorps9$. Allows an input value or a string reference.
  • Enumerate: An ordered list of items within a collection set. Example: Day {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}. Validates a list of different data types. For example, the Enumerate parameter can validate strings, integers, float, and mixed as input values and allow the first value in the list as a default value.
  • IP: Numerical label assigned to each device operating in a network. Example: 192.168.1.4
  • URL: Reference to a resource on a computer network or the Internet. Example: http://www.example.com
  • Boolean: Data type with only two possible values, true or false. In Smart Tools, you can set the Boolean parameter value as False (Unchecked) or True (Checked). Default value for the Boolean value is False (Unchecked)
  • File upload: Any file with a maximum size of 4 Megabytes can be uploaded and referred in a script within a blueprint. You can upload the file during blueprint deployment. For example, license files, config files, XML files, and so on.

Key

Specifies an input parameter key.  

Value

Value specified for the parameter key. Values defined for parameters are saved and passed during runtime.

Placeholder

Short hint that is displayed in the input or selection field. This text is hidden when a value is entered or selected. You can use placeholder text to display a sample of the input in the expected format. Example: For a URL field, you can use "http://www.url.com."

Tooltip

A short description about the input parameter, its functionality, and usage.

Required

If selected, the parameter is mandatory during blueprint deployment.

Editable

If selected, the parameter is editable during blueprint deployment.

Visible

If selected, the parameter is visible during blueprint deployment.

Global

If selected, you can refer the parameter from within any script in a blueprint. 

Impact to architecture override

If selected, the parameter is used to evaluate a conditional step and does not affect the architecture of the deployment. The parameter is displayed in the configuration step of the blueprint deployment. By default, Smart Tools considers parameters used to evaluate conditional steps as those that affect architecture. These are displayed earlier in the deployment process as architecture options.

You can use regular expression to specify input parameter format and validate the values based on the regular expression. To use regular expression, click the settings settings.png icon on the Value box. Select Validate format with regular expressions and define your regular expression format. You can also customize the error message that appears if there is an invalid value input.

Back to top

(Optional) Step 5: Set up operational tasks

Operational tasks contain actions performed on a specified schedule. Use the Operations section to add operational tasks. 

  1. Click the Manage tab. The Operations section is selected by default.
  2. Click Add Task.
  3. Create a schedule for the operational task to run. You can set up repeat intervals and number of occurrences to run, before the operational task ends.
  4. Drag and drop scripts or steps from the library to build an operational task. You cannot drag and drop a blueprint to an operational task. You need to add atleast one step for a scheduled operational task. You can add your own scripts or add the following predefined steps:
    • EC2 Generic Step
    • CloudPlatform Step
    • Manual Step
    • Conditional Step
    • Alert/Notify/Approve
    • Reboot Step
    • Wait Step

Back to top

(Optional) Step 6: Set up scaling

The Blueprint Designer lets you configure manual or automatic scaling of your deployment. Blueprints that include steps for scaling resources up or down (such as adding or removing servers) are self-contained blueprints. 

You can use the following manual scaling options:

  • Scale Up: Use the Scale Up option to run a process that adds resources (servers and applications) to a deployment launched through an initial Process. You can also use Scale Up to add resources (such as applications) to pre-existing servers provisioned independently.
  • Scale Down: Use the Scale Down option to remove resources from a deployment (stop, remove, terminate servers and applications). The Scale Down function runs a pre-configured shutdown process containing steps for removing resources.

You can also use auto scaling to dynamically scale your deployment based on your requirements. You can configure rules and preferences that govern when the deployment need to be scaled up or down and how many servers need to be added or removed. 

For more information about configuring scaling, see Manage scaling.

Back to top

(Optional) Step 7: Add failover rules and blueprints

Using failover blueprints, functions of a failed primary system component can be switched to a secondary system component. The system component may be a processor, server, network, or database.

  1. Click the Fail Over tab.
  2. Select failover conditions (All or Any) from the If box. The default option is Any.
  3. Click Add Rule.
  4. Select the basis for failover from the For box and click Next. The default condition is Avg of All Machines in Blueprint.
  5. Select a metric from the Metric For Fail Over box to failover a blueprint. This can either be an app, system or custom metric. For more information on metrics, see the Monitor servers and applications topic.
  6. Select a failover condition for the selected metric from the Fail Over When box and enter the required values. For example, if you select Agent Ping as a metric, then you can select No Data or Has Data and enter a timeline after which you want the failover to occur.
  7. Click Finish to save and add the rule to the failover process. 
  8. Drag and drop steps and/or blueprints required for the failover process from the Blueprint Designer.
  9. Perform configurations (if required) for the added steps and/or blueprints.

Back to top

(Optional) Step 8: Add failback rules and processes

Using failback blueprints, functions can be restored to a primary system component after they have been switched to a secondary system component during failover.

  1. Click the Fail Back tab.
  2. Select failback conditions (All or Any) from the If box. The default option is Any.
  3. Click Add Rule.
  4. Select the basis for failback from the For box and click Next. The default condition is Avg of All Machines in Blueprint.
  5. Select a metric from the Metric For Fail Back box to failback this blueprint. This can either be an app, system or custom metric. For more information on metrics, see the Monitor servers and applications topic.
  6. Select a failback condition for the selected Metric from the Fail Back When box and enter the required values. For example, if you select Agent Ping as a metric, then you can select No Data or Has Data and enter a timeline after which you want the failback to occur.
  7. Click Finish to save and add the rule to the failback process. 
  8. Drag and drop steps and/or blueprints required for the failback process from the Blueprint Designer.
  9. Perform configurations (if required) for the added steps and/or blueprints. 

Back to top

Step 9: Review and Save

  1. Review all the steps, blueprints, rules, and configurations by clicking the respective tabs.
  2. Click Save.

Citrix Smart Tools saves the created blueprint and lists it in the Library page. You can deploy the blueprint or reuse it as a sub-process in another blueprint. You can also view, edit, clone, share, or delete a blueprint from the library.

Back to top

0 Comments