Configure and publish a Software component that other software architects, IaaS architects, and application architects can use to assemble application blueprints.

Before you begin

Log in to the vRealize Automation console as a software architect.

Procedure

  1. Select Design > Software Components.
  2. Click the Add icon (Add).
  3. Enter a name and, optionally, a description.

    Using the name you specified for your Software component, vRealize Automation creates an ID for the Software component that is unique within your tenant. You can edit this field now, but after you save the blueprint you can never change it. Because IDs are permanent and unique within your tenant, you can use them to programmatically interact with blueprints and to create property bindings.

  4. (Optional) : If you want to control how your Software component is included in blueprints, select a container type from the Container drop-down menu.

    Option

    Description

    Machines

    Your Software component must be placed directly on a machine.

    One of your published Software components

    If you are designing a Software component specifically to install on top of another Software component that you created, select that Software component from the list. For example, if you are designing an EAR component to install on top of your previously created JBOSS component, select your JBOSS component from the list.

    Software components

    If you are designing a Software component that should not be installed directly on a machine, but can be installed on several different Software components, then select the software components option. For example, if you are designing a WAR component and you want it to be installed on your Tomcat Server Software component, and your Tcserver Software component, select the software components container type.

  5. Click Next.
  6. Define any properties you intend to use in your action scripts.
    1. Click the Add icon (Add).
    2. Enter a name for the property.
    3. Enter a description for the property.

      This description displays to architects who use your Software component in blueprints.

    4. Select the expected type for the value of your property.
    5. Define the value for your property.

      Option

      Description

      Use the value you supply now

      • Enter a value.

      • Deselect Overridable.

      • Select Required.

      Require architects to supply a value

      • To provide a default, enter a value.

      • Select Overridable.

      • Select Required.

      Allow architects to supply a value if they choose

      • To provide a default, enter a value.

      • Select Overridable.

      • Deselect Required.

      Architects can configure your Software properties to show to users in the request form. Architects can use the Show in Request option to require or request that users fill in values for properties that you mark as overridable.

  7. Follow the prompts to provide a script for at least one of the software life cycle actions.
    Table 1. Life Cycle Actions

    Life Cycle Actions

    Description

    Install

    Install your software. For example, you might download Tomcat server installation bits and install a Tomcat service. Scripts you write for the Install life cycle action run when software is first provisioned, either during an initial deployment request or as part of a scale out.

    Configure

    Configure your software. For the Tomcat example, you might set the JAVA_OPTS and CATALINA_OPTS. Configuration scripts run after the install action completes.

    Start

    Start your software. For example, you might start the Tomcat service using the start command in the Tomcat server. Start scripts run after the configure action completes.

    Update

    If you are designing your software component to support scalable blueprints, handle any updates that are required after a scale in or scale out operation. For example, you might change the cluster size for a scaled deployment and manage the clustered nodes using a load balancer. Design your update scripts to run multiple times (idempotent) and to handle both the scale in and the scale out cases. When a scale operation is performed, update scripts run on all dependent software components.

    Uninstall

    Uninstall your software. For example, you might perform specific actions in the application before a deployment is destroyed. Uninstall scripts run whenever software components are destroyed.

    Include exit and status codes in your action scripts. Each supported script type has unique exit and status code requirements.

    Script Type

    Success Status

    Error Status

    Unsupported Commands

    Bash

    • return 0

    • exit 0

    • return non-zero

    • exit non-zero

    None

    Windows CMD

    exit /b 0

    exit /b non-zero

    Do not use exit 0 or exit non-zero codes.

    PowerShell

    exit 0

    exit non-zero;

    Do not use warning, verbose, debug, or host calls.

  8. Select the Reboot checkbox for any script that requires you to reboot the machine.

    After the script runs, the machine reboots before starting the next life cycle script.

  9. Click Finish.
  10. Select your Software component and click Publish.

Results

You configured and published a Software component. Other software architects, IaaS architects, and application architects can use this Software component to add software to application blueprints.

What to do next

Add your published Software component to an application blueprint. See Assembling Composite Blueprints.