Component Blueprints

On the Components page you can:

Adding Components

You can add the following types of components to a vCenter service:

Note: If you upgraded from release 5.2 or earlier, you can choose whether to use the Blueprint model (recommended) or the Legacy model:

  • With Blueprint model, you customize the Component form within the service catalog entry itself; the Form Designer is used only to customize the Service form. Component forms customized in the Form Designer are ignored for Blueprint service catalog entries.
  • If you continue to use the Legacy model, form customization works as it did previously: you customize both Service and Component forms in the Form Designer. See Adding a Service to the Catalog with the Legacy Model for details on the rest of the wizard when using the legacy model. Note that the Legacy model is deprecated and will be removed in a future release.

Add VM or virtual service components

To add VM or virtual service components to the service:

  1. Click Add and select VM Template, Image or AMI or Virtual Service.
  2. In the dialog that appears, select an available component.

    Use the tree or enter text in the search field to narrow the component list. The search field searches the Name and Guest OS properties for VMs, and the Name property for virtual services.

    Note: All components in a Service Catalog entry must belong to the same cloud account.

  3. Optional: To display VMs in the component list as well as templates, enable Allow VMs in Catalog.
  4. Optional: Use the Name field to customize the display name for this component in the Service Catalog.

    This is the component name that a user sees when completing a service request form.

  5. Click Add to Service to add a component to the service.

    Note that you can add multiple components to a service. Repeat the steps above for each additional component you want to add to the service.

  6. When you have finished adding components, click Close to return to the wizard.

    You can then do the following:

    Note: If you want to replace a template with a newer version, see Replacing a Template in the Service Catalog.

Add OVA/OVF components

In Commander you can create service catalog entries that allow users to request VMs or vApps that are described by Open Virtual Format (OVF) and Open Virtual Appliance (OVA) templates. OVFs and OVAs are open-standard file formats for packaging and distributing virtual machines or applications. Using OVF/OVAs provides quick and reliable provisioning of services or applications.

When a user requests a service that uses an OVA/OVF template, at deploy time, Commander will download the virtual machine image from the URL specified by the component and then export it to vCenter. Only OVF and OVA templates that describe a single VM or vApp are supported.

When an auto-deployment is used for the service request, but there is no explicit deployment destination, a destination with the highest rating will be chosen. See vCenter: Configuring destinations for automated deployment for more information.

To add an OVF/OVA component to the service:

  1. Click Add and select OVA/OVF Template.
  2. In the Add OVA/OVF Template dialog, in the URL field, enter one of the following:
    • A URL to a valid, publicly accessible OVA/OVF template. The URL can begin with "http://" and "https://".
    • A URL to an OVA/OVF template was downloaded to an accessible local network directory. The URL should begin with "file://".
  3. Click OK.

    The component is automatically named, but you can customize the name later through the Infrastructure tab of the component subpage that's added to the service.

  4. When you have finished adding components, click Close to return to the wizard.

    You can then do the following:

    • Set the configuration of any added components in the Component Configuration pages. For OVA/OVF components, on the following subpages, you may be required to provide configuration information:
      • Infrastructure: Sets default infrastructure information.  
      • Resources: Sets the default storage tier and network mapping.
      • Parameters: Sets any configuration parameters those described in the descriptor file.
      • EULA: If the OVA/OVF has an end-user license agreement (EULA), you must review and accept the agreement to use the template.
      • Attributes: Assigns metadata to the component with custom attributes and groups.
      • Form: Customizes the form users see when they request this specific component.
    • You can also can customize the service configurations of defined in the other pages in the wizard:
    • You can also click Finish and continue editing the service catalog entry later if you wish.

Add Custom Components

Custom components include both non-virtual assets (such as a phone) and tasks that modify existing assets (such as the installation of a database instance on an existing server). Creating custom component types allows you to add the same custom component to multiple Service Catalog entries, as well as centrally manage the cost of these components.

To add a custom component type to the service:

  1. Do one of the following:
    • To add a new custom component type, click Add > New Component Type, then provide a name (up to 64 characters), an optional description and the annual cost.
    • To add an existing custom component type, click Add and select the component type from the drop-down menu.

      Note: If more than five custom component types already exist, you must select Custom Type from the drop-down menu, and in the Select Custom Component Type dialog, select a component from the list.

  2. Click Add to Service to add the component to the service.

    Note that you can add multiple components to a service. Repeat the steps above for each additional component you want to add to the service.

  3. When you have finished adding components, click Close to return to the wizard.

    You can then do the following:

Component Configuration pages

When you add a component to the service, a subpage for each component is added that allows you to customize the components' configurations.

Blueprint button bar

The specific tabs that are offered depends on the component type that you're adding. The tabs that may be displayed include:

Infrastructure tab

Set default infrastructure options for this specific component.  

Field

Description

Name

The name that will be displayed for the component in the Service Catalog and as the label for the Component section of the Request New Service form. A user sees the component name when viewing service details and when completing a service request form.

Choose a distinctive component name to help requesters fill out the form.

Description

Optional: Customize the description for this component that will appear in the Service Catalog. A user sees the component description when viewing service details and when completing a service request form.

Deployed Name

Specify the name for deployed instances of this component.

Select Use default naming format to use the default naming convention, or specify a customized deployed name.

Click Configure global text replacement rules to shorten your component names. See also Setting up text replacement rules for service names.

Customization Spec
(Windows and Linux templates only. Not available to OVA/OVF templates.)

Customization specs allow Commander to modify source images during deployment, greatly reducing the number of templates you must maintain to deliver a variety of services based on the same OS.

If the component is a Windows or Linux template with a customization specification, you can select a different specification for the template by selecting one from the drop-down menu. This specification becomes available during deployment of a VM.

You can also assign a customization spec through a completion workflow with a Customize VM step. To avoid collisions, only choose one of these methods.

Note: If the Dynamic Resource Scheduling (DRS) automation level for a cluster is set to Fully automated and VM-level DRS control is allowed, Commander temporarily disables DRS during guest OS customization for new VMs deployed into the cluster. Disabling DRS means that vSphere won't migrate a newly provisioned VM before customization is complete. A Commander event is generated when DRS is disabled, and again when it's re-enabled.

Annual Cost
(Custom components only)

The preconfigured annual cost is displayed. You can change it in the Manage Custom Component Types dialog.

Completion Workflow

Completion workflows allow you to specify actions to be carried out after deployment.

If you have set up one or more component-level completion workflows, you can select one from the drop-down menu.

You can click Add Workflow to create a new workflow.

You can click Edit Workflow to edit the workflow that's currently selected in the drop-down list. Note that when you edit the workflow using this link, you're editing the workflow for all of the components or services it's assigned to.

While it's possible to create completion workflows for all component types, they are especially recommended for all custom components. If no completion workflow is assigned, a custom component moves immediately to the Completed state once approved, but a completion workflow allows provisioning steps to be carried out before the component moves to Completed. The completion workflow for a database instance, for example, could include a script to create the database.

Deployed VMs will be

(Not available for OVA/OVF templates)

Choose Linked Clones to deploy the VM component as a linked clone. Otherwise, select Standalone VMs.

A linked clone is created from a snapshot of the parent. Because the linked clone relies heavily on the parent snapshot, the parent or snapshot location should be on a very fast SAN (SSD), especially if multiple linked clones are created from the same parent.

The linked clone consists of the snapshot plus the metadata and the delta between the snapshot and the deployed image. Commander always uses the most recent snapshot to create the linked clone.

Note: If the component is a template without a snapshot, you can't select Linked Clones. You must first convert the template to a VM, create a snapshot, and then convert the VM back to a template. If the component is a VM without a snapshot, Commander creates a snapshot during deployment.

Resources tab

Set default resource values for this specific VM or template.

The original source template or source VM settings are displayed in a box on the right for your reference. You can click the Use source template settings link to discard all changes (or, for a VM component, click Use source VM settings).

Field

Description

CPU Count
(VMs and templates only)

Set the default number of CPUs for this specific component.

Memory
(VMs and templates only)

Set the default memory requirements for this specific component.

Disks
(VMs and templates only)

Set the default storage requirements for this specific component. For existing disks, or disks that you add, you can change the disk size and storage tier. Enable the Locked option to stop Service Portal users from modifying a hard disk in a service request.

The disk format is taken either from the source template or from the provisioning destination. The settings in the provisioning destination override the template settings, so if you want to use the template settings, make sure to select Same format as source on the Disk Format page of the Automated Deployment Placement wizard. You must ensure that datastores are available to back all storage tiers in use.

It's not possible to: resize IDE disks, delete the base disk, or decrease the base disk size.

Network
(VMs and templates only)

Set the default networking information for this specific component.

Select a network zone for each adapter from the drop-down menu.

Add adapters by clicking the Add Adapter link, and then set the required network zone.

Notes:

  • The network zone and storage tier set for a requested service are used to determine the provisioning destination, which in turn affects costs displayed for the published service.
  • If you're using network zones, to prevent automated deployment failure, you must either configure a default network zone on the Resources tab, add the Network element to the Form tab, or both.
  • If a network zone assigned to a service catalog component is deleted, the service is marked as corrupt and can't be requested.
  • If you don't add the Storage element and/or the Network element to the Form tab, the default values configured on the Resources tab are used to determine placement, which defines what destinations appear on the Service form.

Storage Tier
(Virtual services and OVA/OVF templates only)

Set the storage tier for all VMs in the virtual service.

You must ensure that datastores are available to back all storage tiers in use.

Parameters tab

Set the configuration parameters required for an OVA/OVF component. The configuration parameters that are displayed depend upon the descriptor file of the OVA/OVF template that's used. This tab is only displayed if the descriptor file contains at least one property.

You can enter a literal value for a parameter or use a variable.

Notes:  

  • When you use variables for a parameter, you can set an available custom attribute for the parameter. This can allow users deploying the service to configure some or all parameters. To add a custom attribute for a parameter here, you must first add the custom attribute on the Attributes tab tab.
  • The default values for the template are displayed on the right side of the page. If you make changes to the configuration parameters, but then want to restore the default values, click Reset to template defaults.

EULA tab

If an OVA/OVF template is used for the component, it may include an end-user license agreement (EULA) that you must accept the agreement to use the template.

If you accept the agreement here, you also implicitly accept it for all user auto-deployments.

Attributes tab

You can assign metadata to the service component with custom attributes and groups.

Custom Attributes

Set custom attributes and their default values for this specific component. On the Form tab, you can allow requesters to set values for custom attributes. If you don't specify a default value, no default is set for the component. If you add an attribute on the Form tab, the default value you set on the Attributes tab is presented to the requester as the default value.

Note: To be able to add a custom attribute for this component on the request form, you must add the custom attribute on the Attributes tab first.

If custom attributes were defined for the source VM template, they are prepopulated here. Click Delete Attribute if you don't want this attribute to apply to this service component.

Note: Custom attributes defined for source VM templates aren't displayed for multi-cloud services.

Click Add Attributes to select from the list of existing custom attributes. In the Add Attributes dialog, Form attributes and custom attributes applicable to the current component type are displayed.

To edit existing custom attributes, click Manage Attributes. On the Custom Attributes page, you can add and edit custom attributes. Click the browser's Back button to return to the Attributes tab.

If you add list-type custom attributes that are interrelated, the attributes are displayed in the order of parent to child to grandchild (if applicable). Your selection of a default value for the parent affects the selectable values for the sublist attribute. To learn more, see Creating Relationships Between Attributes Used on Forms.

Groups

Set the default groups for this component. To learn about groups, including other methods for assigning groups to new services, see Managing Service Groups.

Note: If this component is a VM or VM template, groups assigned to the source template or VM aren't prepopulated on the Attributes tab.

Click Add Groups to select one or more group types and click OK. On the Attributes tab, select a group from the relevant drop-down menu.

To add, edit, or delete groups, click Manage Groups; when finished, click your browser's Back button to return to the Attributes tab.

Form tab

On this tab, you customize the form users see when they request this specific component. Adding elements to the Form tab allows requesters to change the default settings you configured on the other tabs.

Note: If a user requests changes from the default settings configured in the service catalog, these changes are displayed in approval emails, on the approval landing page, and in the Request Details dialog.

If you leave the Form tab blank, requesters won't see a Component form; they will see only the Service-level form that's configured in the Form Designer.

Form Element

Description

Header

Adds heading text to the form.

Text

Adds explanatory text to the form.

Input Text Field

Allows the requester to enter a value, such as a note or a password.

Important: If users will enter a password on the request form, enable Hide User Input. When this option is enabled:

  • Asterisks (*) are displayed for this field value in the Request Details dialog, emails, and landing pages.
  • The password is stored, encrypted, in the Commander database.
  • The plain-text password can be accessed through the approval workflow variable #{request.services[x].components[x].settings.inputField['field name']}. For example, if you set the Display Label for the Input Text Field to "Password", you would access the password in an approval workflow script with the variable #{request.services[1].components[1].settings.inputField['Password']}.
  • If a request containing a password is copied, the password is blanked out.

Dynamic List

Allows the requester to select options from one or more lists that are updated in real time. Items from an external source are retrieved using a script to populate the list items. The lists can be dependent on other form elements, so the selection of one form element can dictate the choices that are available for another list. For more information, see Adding Dynamic Lists to Forms.

File Upload

Allows the requester to upload files during the service request process. Uploaded files are added to the VM's local directory as configured in the completion workflow using the Copy Uploaded File workflow step. This allows for more flexibility when scripting unattended installations and additional VM configurations. The file upload functionality can be used with Chef or Puppet for enhanced VM deployment and orchestration. For more information about integrating with Chef or Puppet, see Integrating Chef with Commander or Integrating Puppet with Commander.

CPU Count
(Templates and VMs only)

Allows the requester to specify or change CPU count requirements for a VM component. You can limit the number of CPUs that users can request by entering a comma-separated list of values (for example, 1,2,4).

Memory
(Templates and VMs only)

Allows the requester to specify or change memory requirements for a VM component. You can limit the amount of memory that users can request.

Storage

Allows the requester to specify or change storage requirements for a VM or virtual service component. The selectable storage tier labels can be customized.

You must ensure that datastores are available to back all storage tiers in use.

Limit Selections: The Storage form element works together with the Destination form element on the Service form. The Limit Selections option controls the interaction of these two elements. For example, let's say you have two destinations —the datastores on the first are assigned to storage tier 1, and the datastores on the second are all assigned to storage tier 2. Your request form contains both the Destination and Storage elements.

  • If you disable Limit Selections, the selected storage tier controls what destination is used. When a requester picks Storage Tier 1 from the Storage element, Destination 1 is auto-selected. When a requester picks Storage Tier 2, the destination changes to Destination 2.
  • If you enable Limit Selections, the destination drives the available tiers.  When a requester picks destination 1, only Storage Tier 1 can be selected for the Storage element. When a requester picks destination 2, only Storage Tier 2 can be selected. Commander chooses the correct destination in this case.

Virtual services: We recommend enabling Display Storage Tier on virtual service component forms, so that the requester can choose a storage tier for each virtual service component. (The same storage tier will be used for all VMs in a virtual service.) Requesters won't be able to add extra disks. If Storage Tier isn't included on the service request form, virtual service automated deployment will choose the cheapest available configured storage that can satisfy the request.

Allowed Actions: Specify whether the requester can Add disks, Change disks, and Remove disks.

If you specify that the user can change existing disks, specify the Maximum Disk Size.

If you specify that the user can both add and change disks, specify the Maximum Disk Size and Maximum Extra Disks.

Network
(Templates and VMs only; not shown for fenced services)

Allows the requester to change or add network adapters for a VM component by choosing a network zone. The initial number of network adapters shown on the form matches the number of NICs on the source template.

When this element is on the form:

  • automatically deployed VMs can only be assigned to networks in the listed network zones, so you must assign network zones
  • and if multiple destinations are available to a user, with different networks configured for each destination, you must also add the Destination form element to the Service form. If a requester wants to select a network zone that isn't available on the default destination, they need to be able to select another destination.

Selectable Zones: Choose one or more network zones that users may select.

Allowed Actions: Select the actions that requesters can perform with respect to network selection:

  • Add adapter: Network zones are not shown on the form if you select this option; adapters are labeled Adapter 1, Adapter 2, and so on, and Commander assigns the network of the first NIC of the deployed VM to all added adapters.
  • Change network zone
  • Add adapter and change network zone

Component Name
(Templates and VMs only)

Allows the requester to change the display name of a VM component. The Maximum Length field allows you to change the maximum number of characters if required (default: 50).

See also About VM and Virtual Service Naming.

Attributes

Allows the requester to specify custom attribute values for a component.

If you added custom attributes on the Attributes tab, or if custom attributes were assigned to the source template or VM, these attributes appear under Attributes.

Click a custom attribute to add it to the form.

If the attribute is a list-type attribute and configured to apply only to forms, you can enable Select Multiple to allow users to select multiple values for this attribute. For more information, see Form-only custom attributes.

If you add a custom attribute to the Form tab and add the same attribute to the Service form using the Designing form appearance and content, the value specified on the Service form takes precedence.

Puppet Classes
(Templates and VMs only)

Allows the requester to specify Puppet classes for a VM component. This form element appears only if a Puppet server is integrated with Commander. If a Puppet environment was selected on the Puppet tab, only classes found in the specified environment can be selected on the form. See Integrating Puppet with Commander for details.

Best Practice: Assign classes to nodes indirectly by assigning groups to nodes, rather than directly assigning classes to nodes. If you use the Configure Puppet workflow step to assign classes and variables to a node, Commander creates a group with the same name as the node and pins the node to the group. A parent group named "Commander" is also created to contain these groups.

Puppet Groups
(Templates and VMs only)

Allows the requester to specify Puppet groups for a VM component. This form element appears only if a Puppet server is integrated with Commander. If a Puppet environment was selected on the Puppet tab, only groups found in the specified environment can be selected on the form. See Optional: Allow users to specify Puppet groups on the request form for details.

Chef Run-List
(Templates and VMs only)

Allows the requester to configure a Chef run-list for a VM component. This form element appears only if a Chef server is integrated with Commander. See Optional: Allow users to set a Chef run-list on the request form for details.

The Chef Run-List form element can't co-exist with either the Chef Recipes or the Chef Roles form element.

Chef Recipes
(Templates and VMs only)

Allows the requester to specify Chef recipes for a VM component. This form element appears only if a Chef server is integrated with Commander. See Optional: Allow users to set a Chef run-list on the request form for details.

The Chef Run-List form element can't co-exist with either the Chef Recipes or the Chef Roles form element.

Chef Roles
(Templates and VMs only)

Allows the requester to specify Chef roles for a VM component. This form element appears only if a Chef server is integrated with Commander. See Optional: Allow users to set a Chef run-list on the request form for details.

The Chef Run-List form element can't co-exist with either the Chef Recipes or the Chef Roles form element.

What's next?

When you have finished, click Next to go to the Deployment page in the wizard.