Configure Placement Attributes
Placement attributes are used to identify the capabilities of each deployment destination and the requirements of a service. They help ensure that service requests are deployed to the best destination. For example, placement attributes can help Commander decide whether to deploy to public or private cloud, or which datacenter or geographic region is best suited to a service.
You can configure two types of placement attribute:
- Fixed Requirement: A placement attribute that's either required or not required. Backup and PCI compliance are good examples of fixed requirement capabilities. If a destination doesn't provide this capability, it's filtered out of the list of valid destinations.
- Selectable Values: A placement attribute with one or more prioritized values or capabilities that you specify. For example, you can create a placement attribute called "Licensing" with a single value, "Oracle". Or, you can create a placement attribute called "Deployment Environment", with values "Private Cloud" and "Public Cloud". Destinations providing one or more of these values are given a placement rating.
Placement attribute usage examples
The following examples demonstrate how you can use placement attributes to help service requests to be automatically deployed to the best destination:
- Example 1: Deploy a service using Intelligent Placement
- Example 2: Oracle database instances must be deployed on clusters licensed for Oracle
- Example 3: All services that require backup must be deployed to destinations that support backup
- Example 4: Requester selects the service level, which affects where the service can be deployed
Example 1: Deploy a service using Intelligent Placement
The following example shows how service requirements and deployment destination capabilities affect Intelligent Placement. In this scenario, the service must be hosted in the UK, and while it can be deployed either on-premise or in a public cloud, an on-premise destination is preferred.
Three destinations are available to users requesting this service. However, the UK datacenter is the best destination, because it provides both data sovereignty and the preferred deployment environment.
Best deployment destination — quota not considered
However, quota limits have been configured for the requester's organization. So if this service was deployed to the UK datacenter, it would cause the requester to exceed quota limits on the UK datacenter. Therefore the UK datacenter is no longer the best destination, so the AWS - EU (London) destination is now chosen, because it satisfies the data sovereignty requirement, and the requester has sufficient quota.
Best deployment destination — quota considered
Required placement attributes configuration
Configuring Commander for this example involves three main steps:
- Create two placement attributes:
- "Data Sovereignty", with the selectable values "UK Hosting" and "Germany Hosting"
- "Deployment Environment", with the selectable values "Public Cloud" and "Private Cloud"
- Assign appropriate values for these two placement attributes to your deployment destinations:
- The UK Datacenter destination provides "UK Hosting" and "Private Cloud".
- The AWS-Europe (London) destination provides "UK Hosting" and "Public Cloud".
- The AWS-Europe (Frankfurt) destination provides "Germany Hosting" and "Public Cloud".
- Assign appropriate values for these two placement attributes to your published services.
- Optional: If you want requesters to be able to specify their preference for a public or private cloud destination, add the "Deployment Environment" placement attribute to the Service-level form in the Form Designer, using the Custom/Placement Attribute form element.
See Create placement attributes.
See Assign placement capabilities to deployment destinations.
Our example service requires "UK Hosting" and prefers "Private Cloud", but "Public Cloud" is allowed.
See Assign placement requirements for published services.
See Enable requesters to specify new service placement requirements below.
When a user requests this service, their choice of deployment environment affects the predicted destination and displayed service cost, as well as the form elements displayed on the component form. If the requester chooses public cloud, the Instance Type form element will be displayed, rather than the Memory and Storage form elements.
Example 2: Oracle database instances must be deployed on clusters licensed for Oracle
- Create a placement attribute called "Licensing". Specify that this attribute has selectable values, and add a single value, "Oracle".
- Assign the placement attribute value "Oracle" to the deployment destinations configured for the Oracle-licensed cluster. By doing this, you're indicating that these destinations provide Oracle licensing.
- Assign the placement attribute value "Oracle" to the Oracle instance in the service catalog. By doing this, you're indicating that this service requires Oracle licensing.
Later, if you have other licensing requirements, you can add more values for this placement attribute.
Example 3: All services that require backup must be deployed to destinations that support backup
- Create a placement attribute called "Backup", as a Fixed Requirement. For a Fixed Requirement placement attribute, you don't need to provide any values.
- Assign the placement attribute "Backup" to the deployment destinations that provide backup capabilities.
- Assign the placement attribute "Backup" to the service catalog entries that require backup.
Example 4: Requester selects the service level, which affects where the service can be deployed
- Change the existing custom attribute "SLA", with the values Gold, Silver, and Bronze, into a placement attribute.
- Assign the proper placement attribute values for "SLA" to your deployment destinations, according to the service levels they fulfill.
- Assign the proper placement attribute values for "SLA" to your service catalog entries, according to the service levels they require.
- Add the placement attribute to the service request form in the Form Designer, using the Custom/Placement Attribute form element.
See Change custom attributes into placement attributes.
See Enable requesters to specify new service placement requirements.
Create placement attributes
You can also use the Commander Legacy API to create placement attributes and apply them to deployment destinations and published services. This can help with adding placement attributes to existing destinations and services, as well as easing the onboarding process. For examples, see the built-in help for the Commander Legacy API PowerShell client.
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin |
- Click the Placement tab.
- On the Placement page, click Add.
- In the Configure Placement Attribute dialog, enter a name for the new attribute.
- In the Description field, enter descriptive text for the attribute.
This description is optional. However, if you use this field, the details that you enter here are displayed when a user selects an attribute.
- Select the attribute type.
- List allows you to define values that users can select from a drop-down menu. If you select this type, skip to Step 7.
- Sublist allows you to define allowed values for each value of another custom attribute. See also Create Relationships Between Attributes Used on Forms for complete information on sublist attributes.
Unlike custom attributes, placement attributes don't support the Text type.
- If you selected Sublist in the previous step, the Sublist Of drop-down menu appears. Select the placement attribute that will act as the parent attribute. See also Create Relationships Between Attributes Used on Forms.
- If you selected List in Step 5, from the Applies To menu, keep the default selection, All Types, which allows you to:
- Apply values to service catalog entries and destinations.
- Add the placement attribute to request forms through the Custom/Placement Attribute form element. (For more information, see Service Request Form Elements) In this case, selected values are applied to deployed services.
- To allow a Service Portal user to change the value of the attribute, enable Edit in Service Portal.
Service Portal users can change the value only if their Service Portal role has the required permission.
- On the Configure Attribute page, choose one of:
- Fixed Requirement — Create a placement attribute that's either required or not required. Backup and PCI compliance are good examples of fixed requirement capabilities.
- Selectable Values — Create a placement attribute with one or more values that you specify. For example, you can create a placement attribute called Licensing with a single value, Oracle. Or, you can create a placement attribute called Deployment Environment, with values Private Cloud and Public Cloud.
- If you chose Selectable Values in the previous step, configure the allowed values.
List Type
Sublist Type
- Enter a comma-separated list of allowed values for the attribute and click Add. The maximum number of characters for each value is 100.
- Use the Move Up and Move Down buttons to arrange the allowed values.
- Click Finish.
or
Enter each value separately and click Add.
- For each value of the parent attribute, enter a comma-separated list of allowed values for the sublist attribute.
- Click a value in the list and enter values in the text field, then click Add.
- Click another value in the list and enter values for it, and click Add.
You can also use the Move Up and Move Down buttons to arrange the allowed values in the tree.
- Click Finish.
What's next? Add placement attribute values to deployment destinations and published services, as described in the following sections.
Placement attributes can be managed from two locations:
- Configuration > Self-Service > Placement tab. This view also shows the number of destinations and services referencing each placement attribute.
- Configuration > Custom Attributes page. A value of Yes in the Placement column indicates a placement attribute.
Assign placement attributes to destinations and services
To ensure that services will be assigned to the best available destination, you must assign placement attributes to both your deployment destinations and published services:
- When you assign a placement attribute value to a deployment destination, you're identifying the capabilities of that destination.
- When you assign a placement attribute value to a published service, you're identifying the requirements of that published service.
Therefore, when you assign placement attributes to both destinations and services, you're ensuring that you will get the best match.
Assign placement capabilities to deployment destinations
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin Administrator and All Operator Levels of Access Rights |
- Click the Provisioning tab.
- In the Automatic Deployment Placement area, select a destination from the tree and click Edit.
- In the Edit Automated Deployment Placement wizard, go to the Intelligent Placement page.
- Click Edit Placement Attributes.
- In the Edit Placement Attributes dialog, move any attribute values that are provided by this destination to the Provided area, then click OK to close the dialog.
- Click Next and then Finish to apply your changes.
Assign placement requirements for published services
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin |
- Click the Catalog tab.
- Select a service and click Edit.
- Go the Intelligent Placement page, and click Edit Placement Attributes.
- In the Edit Placement Attributes dialog, move any attribute values that are required for this service to the Required area, then click OK to close the dialog.
- Click OK to close the Edit Placement Attributes dialog.
- For a placement attribute with selectable values, use the Up and Down arrow buttons to order the attribute values by preference.
For example, if you prefer to deploy a service in a private cloud, but you're willing to deploy the service in a public cloud if the requester has insufficient quota in a private cloud, make sure the "Private Cloud" appears in the list before "Public Cloud".
- Click Next and then Finish to apply your changes.
Enable requesters to specify new service placement requirements
If your users require input in placement decisions, you can add a placement attribute to a service request form, which allow them to select values for placement attributes when requesting a service.
- You can also enable users to select a destination by adding the Destination form element to the request form. For more information, see Service Request Form Elements
- Placement attributes are service-level attributes and must be added to service-level forms. Placement attributes can't be added to blueprint forms. Because service-level forms are assigned to users, adding a placement attribute to a form means that it's displayed whenever a user requests any service.
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin |
- Click the Forms tab.
- In the Form Library, select a form in the Service Forms list.
- In the Toolbox, click Custom/Placement Attribute.
- Select a placement attribute from the Custom/Placement Attribute drop-down list.
- If you want this to be a mandatory selection, enable Required.
- Click OK.
The form's elements appear in the center pane.
The Custom/Placement Attribute form element is added to the form.
The (Placement) suffix is used to distinguish placement attributes from custom attributes.
Change custom attributes into placement attributes
If you have a list-type custom attribute that you would like to use for Intelligent Placement, you can change it into a placement attribute. Any sublist attributes are also changed into placement attributes. For information on sublist attributes, see Create Relationships Between Attributes Used on Forms.
Access: | Configuration > Custom Attributes |
Available to: | Commander Role of Superuser and Enterprise Admin |
- On the Custom Attributes page, locate a list-type custom attribute.
- Select the attribute and click Edit.
- On the Define Attribute page, enable the Placement Attribute option.
- Click Next and Finish.
If an attribute isn't currently used for placement, the value in the Placement column is No.
Change placement attributes into custom attributes
You can change a placement attribute into a regular custom attribute. You may want to do this if you no longer want to use the placement attribute for Intelligent Placement, but you want to keep it as a custom attribute.
When you change the placement attribute, any sublist attributes are also changed into custom attributes. For information on sublist attributes, see Create Relationships Between Attributes Used on Forms.
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin |
- Click the Placement tab.
- On the Placement page, select the attribute and click Edit.
- On the Define Attribute page, disable the Placement Attribute option.
- Click Next and Finish.
Delete placement attributes
Access: | Configuration > Self-Service |
Available to: | Commander Role of Superuser and Enterprise Admin |
Before you delete a placement attribute, check what services and destinations refer to it — select a placement attribute to view its details on the right; all services and destinations that refer to it are listed in the Details pane.
- Click the Placement tab.
- On the Placement page, select a placement attribute in the list and click Delete.
- Click OK to confirm the deletion.
If values for this placement attribute were added to a published service or a deployment destination, these references are removed when you delete the placement attribute.