Add Azure Services to the Catalog
To add Azure services to the catalog, your Azure subscription must first be added to Commander as a cloud account. For information on how to do this, see Adding Azure Cloud Accounts.
Note: We recommend the use of multi-cloud templates for all services in your catalog, for easier maintainability and greater flexibility. Note that multi-cloud services don't yet support ARM templates. For information on how to add a multi-cloud service to the catalog, see Add Multi-Cloud Services to the Catalog
Configuration > Self-Service
Commander Role of Superuser, Enterprise Admin
- Click the Catalog tab.
- On the Catalog tab, click Add Service.
Tip: As a shortcut, you can select an existing service in the list and click Copy. This option can save time because it copies much of the service's existing configuration.
Continue to the next section for information on the wizard pages.
For more information about the service catalog, see Catalog.
Customize display options for this service.
The display name for this service in the Service Catalog (maximum 100 characters).
This name is used as the label for the Service section of the Request New Service form. Choose a distinctive Service Name to help requesters fill out the form.
Optional; up to 1000 characters.
Along with the Name field, the Description field is used in Service Catalog searches, so adding a description can help users find service catalog entries.
Choose an icon from those available, or click Manage Icons to add an icon. See Manage icons for the service catalog for more details.
To help users find this service in a long list, choose one or more categories from those available, or click Manage Categories to add a category. See Manage Service Catalog categories for more details.
Note: If the service-level form elements such as Quantity and Expiry Date don't make sense for this service, you can hide the service portion of the service request form by clearing the Display service form when this service is requested checkbox.
On this page, you can add private or public images and custom components to the service.
Note: If you want to replace a template with a newer version, see Replace templates in the service catalog.
To add a VM image to the service:
- Click Add and choose VM Template, Image or AMI.
- In the dialog that appears, select an image.
Use the tree or enter text in the search field to narrow the component list. Popular public images are available in the Public Images folder. The search field searches the Name and Guest OS properties for VMs.
- Optional: Use the Name field to customize the display name for this component in the Service Catalog (maximum 100 characters).
- Click Add to Service.
This is the component name that a user sees when completing a service request form.
To add an ARM template to the service:
- Click Add and choose ARM Template.
- In the Add ARM Template dialog, choose one of the following:
- In the URL field, enter a URL that points to a valid ARM template. The URL must be accessible by the Azure account. The URL is stored in the Commander database and is supplied to Azure at deployment time, so that the most recent version of the template at that URL is always used.
- Select Upload File and click Add. Browse to a template file. The file must be a text file whose format complies with the JSON standard. Commander validates that the template is in JSON format, but doesn't make a call to Azure to validate the template contents.
- Click OK.
Note: The component is automatically assigned the display name "ArmTemplate" for the request form, but you can customize the name as well as the description in a later step.
To add a new custom component type to the service:
- Click Add > New Component Type.
- Provide a name, optional description and the annual cost.
- Click Add and select the component type from the drop-down menu.
- If more than five custom component types already exist, you need to instead select Custom Type from the drop-down menu, and in the Select Custom Component Type dialog, select a component from the list.
When you have finished adding components, click Close to return to the wizard.
Note: The maximum number of components in a service is 15.
At this point, you can click Finish and continue editing the service catalog entry later if you wish. Or, click Next to customize the service.
A subpage is added to the Add Service wizard for each component you added to the service.
On each subpage, you see tabs allowing you to customize options for each component in the service. At minimum, you see Infrastructure, Resources, Attributes and Form tabs. If you have integrated with external systems such as Puppet or Chef, additional tabs allow further customization.
Adding elements to the Form tab allows requesters to change the default settings you configure 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.
Set infrastructure options for this specific component.
Optional: Customize the display name for this component in the Service Catalog (maximum 100 characters). A user sees the component name when viewing service details and when completing a service request form.
This name is used as the label for the Component section of the Request New Service form. Choose a distinctive component name to help requesters fill out the form.
Optional: Customize the description for this component in the Service Catalog (maximum 1000 characters). A user sees the component description when viewing service details and when completing a service request form.
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.
Important: To prevent deployment failures, VM names must adhere to Azure's strict naming convention. VM names must be between 3 and 15 characters, must contain only letters, numbers and hyphens, must start and end with a letter or a number, and must not contain spaces.
Click Configure global text replacement rules to shorten your component names. See also Set up text replacement rules for service names.
The preconfigured annual cost is displayed. You can change it in the Managing component types for the service catalog.
If you have set up one or more component-level completion workflows, you can select one from the drop-down menu.
Completion workflows allow you to specify actions to be carried out after deployment.
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. A completion workflow allows for 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.
Enter an availability set name. Microsoft Azure availability sets ensure both fault tolerance and service availability. If the availability set you specify doesn't exist in the target location, it will be created. Availability set names are case-insensitive, must contain from 1 to 80 characters, and may contain letters, numbers, underscores and hyphens.
Enter an estimated annual cost for the entire resource group. Commander is unable to determine the cost of the ARM template until it's deployed, so it's important to enter an estimated cost to be displayed in the service catalog. See How Commander displays costs for ARM templates and resources to learn more.
To enable memory usage monitoring, enable the option Send guest OS memory usage statistics to a storage account.
Memory usage monitoring requires additional configuration, such as specifying a diagnostic account on the deployment destination where the VM will be deployed. To learn more, see Monitor Memory Metrics for Azure Instances.
This tab is shown only for VM components and allows you to set default resource values for this specific VM template. The source image disk settings are displayed in a box on the right for your reference. You can click Reset to image defaults to revert your changes.
Set the default instance type for this specific component. Only instance types compatible with the source AMI's instance type are available for selection.
Click Details to view more properties for the selected instance type.
Set the default storage resources for this service.
Select Managed Storage or Unmanaged Storage, as required.
Edit the suggested device name if required. Managed disk names must be unique in the target resource group. Unmanaged disk names must unique within the VM. The name must contain from 1 to 64 characters, must contain only letters, numbers, hyphens, dots and underscores, and must start with a letter or number.
Note: Limitation: Even though you can edit the name for a managed disk, the suggested name will be used.
Specify the disk capacity in GB. Note that you can't shrink existing disks, and you can't resize existing unmanaged disks.
If you selected Unmanaged Storage for the Storage Type, choose a storage tier from the drop-down list. If you selected Managed Storage for the Storage Type, Select one of the following types from the drop-down list:
Each Azure instance type has limitations for the number and type of disks that can be added.
Set the default network zone for this component's adapters. The component will be deployed with the same number of adapters as the source AMI. If you don't specify a network zone, a network zone is assigned during provisioning.
If a network zone assigned to a service catalog component is deleted, the service is marked as corrupt and can't be requested.
Specify whether this service will have a public IP address.
By default, Create Public IP Address is selected. You can select either Static or Dynamic from the drop-down menu. If you don't want a public IP address to be assigned, select No Public IP Address.
If this is a Generalized (or prepared) Azure template, you can select credentials that will allow users to access VMs deployed from this service. Generalized templates contain no built-in authentication information, as opposed to Specialized templates, which have preconfigured credentials.
Clicking Add Credentials allows you to create new Guest OS credentials for VMs deployed from this service. The password must be between 8 and 123 characters and must contain three of the following: a lowercase character, an uppercase character, a number and a special character.
Caution: Don't lose this user name and password, or the VM will be inaccessible.
If credentials assigned to a service catalog component are deleted, the service is marked as corrupt and can't be requested.
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 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 Create Relationships Between Attributes Used on Forms.
Set the default groups for this component. To learn about groups, including other methods for assigning groups to new services, see Manage 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 menu.
To add, edit, or delete groups, click Manage Groups; when finished, click your browser's Back button to return to the Attributes tab.
If you have integrated a Puppet server with Commander, Puppet environments, classes and groups are displayed on the Puppet tab for service components. Select an environment for the VM component. Once you select an environment, only those classes and groups found in that environment are available for selection.
You can select one or more default classes and groups. Ctrl-click to select multiple classes and groups.
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 "vCommander" is also created to contain these groups.
You can also allow users to select classes and/or groups on the Form tab. You can then use variables to return the requested values through a completion workflow. See Integrate Puppet with Commander for more information.
If you have integrated one or more Chef servers or organizations with Commander, Chef information is displayed on the Chef tab for service components.
If you have added multiple Chef servers or organizations, choose a server or organization from the Chef Organization menu. Otherwise, the Chef organization is displayed as a read-only value.
Choose an environment from the Chef Environment menu. The roles and recipes for the selected environment are displayed.
Choose one or more default roles and recipes from the Available Roles and Recipes pick-list. Ctrl-click to select multiple roles and recipes. Use the arrow buttons between the lists to move your selections into the Current Run-List. Then order the roles and recipes properly.
Note: If you don't select default roles and recipes, no defaults are applied.
This tab is shown for ARM template components only and allows you to set default ARM parameter values. The parameters and initial values displayed are retrieved from the ARM template. Parameter values are encrypted when saved in the Commander database. Parameters can be added to the request form and can also be customized during manual deployment.
Commander allows you to add ARM parameters to the request form with a combination of list-type custom attributes and variables. See Example: Commander support for ARM template parameters for more information and an example.
You can enter:
- a literal (non-variable) value
- a variable
Tip: In any text field that supports variables, you can click to open the script editor and select variables for the current context.
You can click Reset to template defaults to discard all changes.
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.
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.
When you assign a placement attribute value to a published service, you're identifying the requirements of that published service to help ensure that services are deployed to the best destination.
- Click Edit Placement Attributes.
- In the Edit Placement Attributes dialog, in the Not Required pane, select an attribute value that's provided by this destination and click Add to move it to the Required pane.
- Click OK to close the Edit Placement Attributes dialog.
- The placement attribute values you've assigned to this service are displayed on the Placement page.
- For a placement attribute with selectable values, use the Up and Down arrow buttons to order the attribute values by preference. For example, if a service can be deployed on either private or public cloud, but private cloud is preferable, make sure the Private Cloud attribute value is first in the list.
To learn more, see Configure Placement Attributes.
Specify which users and groups can request this service.
Review the details and click Finish.
The service that you added or changed is displayed in the Service Catalog List View or Table View.
When viewing a Service Catalog entry's details, a View Source link takes you to the source template in the Applications view, or the source VM in the Infrastructure view.