Provisioning for Azure Resource Manager (with or without templates)
Through templates, Azure Resource Manager gives developers and systems administrators an easy way to create and manage a collection of related Azure resources, provisioning and updating them in an orderly and predictable fashion.
The topics in this section provide information and instructions for deploying Azure resources from Azure Resource Manager (with or without templates):
- Process for deploying Azure resources from Azure Resource Manager
- Registering Azure Resource Manager or Azure Template Provider as a proxy custom resource provider
- Installing BMC Cloud Lifecycle Management 4.6.04 or later for the Azure artifacts
- Setting up service blueprints for custom resources (AzureRMTemplateProvider) with templates
- Setting up service blueprints for custom resources without templates
- Adding an Azure resource set to a multi-tier service blueprint
- Seting up support for managed disk and replication type
- Managing Azure resources
- Related BMC Communities videos
- Related topic
Process for deploying Azure resources from Azure Resource Manager
In version 4.6.04 and later, BMC Cloud Lifecycle Management service blueprints allow specifications of one or more external templates that are sequenced among other template constructs (servers and other elements). You can use sample templates from Azure Resource Manager or create your own templates to describe the Azure resources (and any associated dependencies or runtime parameters) required to run your application.
You can create templates for the service or application architectures you want and have Azure Resource Manager use those templates for quick and reliable provisioning of the services or applications (called “resource groups”). Through the My Cloud Services console, the template invocation service returns the information about the provisioned artifacts, such as names, identifiers, and connection details (all grouped under a name or identifier for the resource group).
After the Azure resources are deployed, you can also easily update the resource group to conform to a newly submitted template (which might effectively roll back any changes in the artifacts, or drive a change into the resultant resource group compared to its original state). Or, you can update the resource group to replicate the group as needed.
In BMC Cloud Lifecycle Management 4.6.05 and later, you can also provision Azure resources without templates through Azure Resource Manager.
To enable end users to deploy Azure resources from Azure Resource Manager (with or without templates), you must create a custom provider. The entire process is as follows:
Step | Where to find out how |
---|---|
1. Install BMC Cloud Lifecycle Management 4.6.04 or later for the Azure artifacts. | The first section below |
2. Register AzureRM Templates as the proxy custom resource provider. | |
3. Manage Azure provider users. | |
4. Onboard resources for Azure. | |
5. Map tenants to the logical data center. | |
6. Set up service blueprints for custom resources. | The Setting up service blueprints for custom resources section below |
7. Create a service offering. | |
8. Provision an Azure service. | |
9. Set up support for managed disk | The To set up support for managed disk and replication typesection below |
10. Manage the Azure resources | The Managing Azure resources section below |
Registering Azure Resource Manager or Azure Template Provider as a proxy custom resource provider
Use this procedure to register Azure Resource Manager or Azure Template Provider. (This procedure is available for BMC Cloud Lifecycle Management 4.6.04 and later.)
- From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window and select Providers.
Under Quick Links, select Custom.
- On the Providers page, click the Register icon
.
- In the Register Provider dialog box, select AzureRMTemplateProvider as the resource provider type to register.
Complete or modify the following fields, as necessary.
In version 4.6.05.002 and later, you will see these fields:
Field | Description |
---|---|
Name | (Required) Specify a name for this instance of the Azure Resource Manager provider. |
Description | (Optional) Specify a useful description of the provider. Descriptions can help you distinguish provider instances and help you find a provider by using Search. |
Task Polling Retry Count | (Required) Specify the number of allowable attempts to access Azure Resource Manager. |
Task Polling Interval (in seconds) | (Required) Specify the interval (in seconds) between each retry. |
Enable Proxy | Select true to enable BMC Cloud Lifecycle Management to access the Internet via a proxy host. The default value is false; proxy mode is not enabled. Note: When Enable Proxy is set to false, do not enter values into the fields that follow (even though they are enabled). Only complete the fields when Enable Proxy is set to true. |
Proxy Type | The field automatically includes HTTP, which is the only supported type. (HTTPS and SOCKS are not supported.) |
Proxy Host | Enter the name or IP address of the system that serves as the proxy host. If proxy is enabled, this field is required. |
Proxy Port | Enter the port on which BMC Cloud Lifecycle Management communicates with the proxy host (for example, 8080). If proxy is enabled, this field is required. |
Proxy Username | Enter the name of a proxy user. |
Proxy Password | Enter the password for the above user. |
Azure AR VM Images Refresh Time in Hours | Enter the refresh interval (in hours) for Azure Resource Manager virtual machine images. |
Resource Groups Containing Custom VM Images | Enter the names of the Azure Resource Manager groups that contain the custom virtual machine images you want to use. To enter multiple groups, enter a comma-separated list. To specify containers in a resource group, use the following format: ResourceGroupName::ContainerName |
Publishers for Public Images | Enter any public VM image publishers you want to include. Use the following format: PUBLISHER::OFFER::SKU::VERSION To enter multiple publishers, enter a comma-separated list. PUBLISHER is required, and the other entries are optional. For example, if you want to enter three publishers (Canonical, Microsoft and RedHat) and have details for only the Canonical publisher, you could enter: Canonical::UbuntuServer::14.04.2-LTS::latest,Microsoft,RedHat By default, no public images are fetched. |
Tag Azure Resources While Provisioning | Select True to include the tags that you add through the ARM_TAGS parameter. The tags are added to the Azure Resource Manager resource group and resources. (For more information, see Service-blueprint-parameters-for-Azure.) By default, the following tags are always added to the resource in Azure:
If you select False, then none of the tags are applied. |
New in 4.6.06Azure Storage | Select managed_disks to enable BMC Cloud Lifecycle Management to use managed disks. The default is unmanaged_disks. For more information, see To set up support for managed disk and replication type. |
New in 4.6.06Relax ARM Resource Group Constraint | Select True to create a resource group with the name that the user has provided in the resource-container parameter. If the resource group with the specified name already exists, then it will consume that resource group to deploy or consolidate all workloads. However, if you select False, then ensure that you must specifiy an already existing resource group name in the resource-container parameter. The default is True. For more information, see Service-blueprint-parameters-for-Azure. |
In version 4.6.04, you will see these fields:
Field | Description |
---|---|
Name | (Required) Specify a name for this instance of the Azure Resource Manager provider. |
Description | (Optional) Specify a useful description of the provider. Descriptions can help you distinguish provider instances and help you find a provider by using Search. |
Task Polling Retry Count | (Required) Specify the number of allowable attempts to access Azure Resource Manager. |
Task Polling Interval (in seconds) | (Required) Specify the interval (in seconds) between each retry. |
Enable Proxy | Select true to enable BMC Cloud Lifecycle Management to access the Internet via a proxy host. The default value is false; proxy mode is not enabled. Note: When Enable Proxy is set to false, do not enter values into the fields that follow (even though they are enabled). Only complete the fields when Enable Proxy is set to true.
|
Proxy Type | The field automatically includes HTTP, which is the only supported type. (HTTPS and SOCKS are not supported.) |
Proxy Host | Enter the name or IP address of the system that serves as the proxy host. If proxy is enabled, this field is required. |
Proxy Port | Enter the port on which BMC Cloud Lifecycle Management communicates with the proxy host (for example, 8080). If proxy is enabled, this field is required. |
Proxy Username | Enter the name of a proxy user. |
Proxy Password | Enter the password for the proxy user. |
Installing BMC Cloud Lifecycle Management 4.6.04 or later for the Azure artifacts
To integrate BMC Cloud Lifecycle Management with Azure Resource Manager, install BMC Cloud Lifecycle Management 4.6.04 or later.
To ensure that BMC CSM (Platform Manager), BMC Remedy AR System, and mid tier services are up and running:
- Log on to the Cloud Lifecycle Management Administration Console.
- Click the vertical Workspaces menu at the left and select Configuration.
- On the General tab > Resync Index section, click Sync Index.
- Wait for the Sync Index operation to complete.
Before you get started, make sure that name resolution works for the following hosts or make an appropriate DNS entry for these hosts:
- login.microsoftonline.com
- login.windows.net
- management.azure.com
- management.core.windows.net
- manage.windowsazure.com
The proxy also needs the following hosts, and the proxy does not restrict them:
Service type | Azure public | Azure government |
---|---|---|
Management portal | ||
General | ||
Core | ||
Compute | ||
Blob storage | ||
Queue storage | ||
Table storage | ||
Service management | ||
ARM load-balanced endpoint |
If BMC Cloud Lifecycle Management environment is completely isolated from internet traffic, perform the following steps to honour the proxy:
- Go to the Platform Manager host.
- Stop the Platform Manager service.
- Open <PlatformManagerInstallationPath>/Platform_Manager/wrapper.conf file.
Add the following entries to the file:
# Java Additional Parameters
#For http configuration
wrapper.java.additional.10=-Dhttp.proxyHost=10.5.28.110
wrapper.java.additional.11=-Dhttp.proxyPort=80
wrapper.java.additional.12=-Dhttp.nonProxyHosts="localhost|127.0.0.1|*.<domain_for_all_clm_hosts>|<any_additional_criteria_if_required>"
#For https configuration
wrapper.java.additional.13=-Dhttps.proxyHost=10.5.28.110
wrapper.java.additional.14=-Dhttps.proxyPort=80
wrapper.java.additional.15=-Dhttps.nonProxyHosts="localhost|127.0.0.1|*.<domain_for_all_clm_hosts>|<any_additional_criteria_if_required>"Save the file.
Clean OSGi cache under <PlatformManagerInstallationPath>/Platform_Manager/configuration directory.
drwxr-xr-x 3 root root 1024 Dec 11 17:59 org.eclipse.core.runtime
drwxr-xr-x 3 root root 1024 Dec 11 02:45 org.eclipse.equinox.app
drwxr-xr-x 4 root root 1024 Dec 11 18:05 org.eclipse.osgi- Start the Platform Manager service.
Setting up service blueprints for custom resources (AzureRMTemplateProvider) with templates
In version 4.6.04 and later, the Service Designer workspace offers considerable flexibility when defining a blueprint for a custom resource like AzureRMTemplateProvider. The following sections provide steps for creating a simple blueprint that uses a custom resource and steps for creating a multi-tier blueprint. For more details, see also Building-service-blueprints-for-an-Azure-service and Service-blueprint-parameters-for-Azure.
To create a service blueprint with templates or hybrid blueprint
- In the Service Designer workspace, click Create New > Service Blueprint.
Click Custom Resource.
A new Custom Resource is added to the service blueprint as shown in the following figure:In BMC Cloud Lifecycle Management 4.6.05 and later, you can create mixed mode (hybrid) blueprints by adding another resource set. For example, a blueprint can contain both custom resources and Azure resources for instance-based provisioning as shown below:
- Go to Service Deployment Definition > Service Deployment Definition Name > Resource set.
- Click Edit.
Go to Compute Resources tab and verify the Installable Resource name.
In BMC Cloud Lifecycle Management 4.6.05.002, if the value of the installable resource name (Cloud Platform > Machine Image) is preceded by (Any), then the images are deployed on any of the available regions depending on the logical hosting environment selection at the time of provisioning. For more information about logical hosting environment, see Managing-Logical-Data-Centers-for-the-Azure-Provider.
However, you must ensure that the image names are identical in the regions. For example, if you have a Win2K12EnterpriseEdition image in both EastUS region and WestUS region, and the value of the Machine Image field is (Any)Win2K12EnterpriseEdition, then the image is deployed in any of the two regions.
To retrieve the value in Cloud Platform > Machine Image field, you must ensure that you have entered a resource group name containing managed images in the Register Provider > Resource Groups containing Custom VM Images field.
- Click OK.
- Click Save.
- Enter a unique name for your blueprint to describe the custom resource type (for example, Azure_SingleLAMP).
- Provide a Description.
Click OK.
Setting up service blueprints for custom resources without templates
The following sections provide steps for creating a simple blueprint that uses a custom resource.
To create a service blueprint without templates
- In the Service Designer workspace, click Create New > Service Blueprint.
Click Custom Resource.
A new Custom Resource is added to the service blueprint as shown in the following figure:
- Go to Service Deployment Definition > Service Deployment Definition Name > Resource set.
- Click Edit.
Go to Compute Resources tab and verify the Installable Resource name.
In BMC Cloud Lifecycle Management 4.6.05.002, if the value of the installable resource name (Cloud Platform > Machine Image) is preceded by (Any), then the images are deployed on any of the available regions depending on the logical hosting environment selection at the time of provisioning. For more information about logical hosting environment, see Managing-Logical-Data-Centers-for-the-Azure-Provider.
However, you must ensure that the image names are identical in the regions. For example, if you have a Win2K12EnterpriseEdition image in both EastUS region and WestUS region, and the value of the Machine Image field is (Any)Win2K12EnterpriseEdition, then the image is deployed in any of the two regions.
- Click OK.
- Click Save.
- Enter a unique name for your blueprint to describe the custom resource type (for example, Azure_SingleLAMP).
- Provide a Description.
Click OK.
List of custom load balancer parameters for Azure Provider
If you want to use Azure load balancer, ensure that you add the following parameters in BMC Atrium and BMC Cloud Lifecycle Management blueprint:
Parameter Name | Value (Example ) |
PROBE_REQUEST_PATH | C:\StorageVolume |
PROBE_COUNT | 13 |
PROBE_INTERVAL | 10 |
PROBE_PORT | 8080 |
PROBE_PROTOCOL | HTTP |
AZURE_FLOATING_IP | TRUE |
AZURE_IDLE_TIME_OUT | 10 |
AZURE_SESSION_PERSISTENCE | CLIENT_IP_AND_PROTOCOL |
Adding an Azure resource set to a multi-tier service blueprint
- In the Service Designer workspace, click the Azure resource in the service blueprint that you created.
In the edit pane for that resource set, under Custom Resource Properties, specify information for the new Azure resource.
Field
Instruction
Proxy Provider Definition
Select the proxy provider (AzureRMTemplateProvider).
Type
Select the type of resource (CustomResource).
Subtype
Select the subtype of the resource (AzureRM TemplateProvider).
IR Type
Select the installable resource type (External Repository).
Location
Specify the full path to the JSON file that contains the Azure template information.
The Azure Resource Manager service must be able to resolve this URL. The URL can be on a public site, or it can be on an Azure storage location that is configured to require an access token to read the content. In the latter case (which is more secure), you append one of the following arguments to the URL so that BMC Cloud Lifecycle Management generates a static, long-living shared-access signature (SAS) token (as described in Microsoft Azure documentation):#sastoken_template# (This argument is not applicable for nested templates.)
#sastoken# (use for nested templates)
#sastoken_storage#
#sastoken_container#For nested templates, use the #sastoken_storage# or #sastoken_container# if all referred templates are within same storage account or container.
For example, if your URL is https://linuximgdisks455.blob.core.windows.net/templates/iaas-template.json, add the argument to the end as follows:
https://linuximgdisks455.blob.core.windows.net/templates/iaas-template.json#sastoken_container#
For more information about deploying private templates with SAS tokens, see the Microsoft Azure documentation.
Note: Only Azure storage accounts are supported as protected repositories for hosting templates.
Account
Select an Azure account.
Region
Select the region for the account.
- Click the Discover Parameters button to upload the parameters from the JSON file that you entered in the Location field.
The parameters appear on the Parameters panel.
These parameters are examples. Your environment might use different parameters. On the Parameters panel, add, edit, and delete the necessary parameters.
For more information about entering parameters, see Configuring-service-blueprint-parameters. See also Service-blueprint-parameters-for-Azure.
Click the custom resource set (the green box) to provide basic details.
Field
Instruction
Name
Enter a name for the custom resource set.
Description
Describe the purpose or nature of the custom resource set.
Number of Instances
Enter the number of instances to be provisioned. The number you enter appears in the upper-right corner of the box representing a resource instance.
Tags
Define any tags you want applied to this resource set. These tags must match the tags you specify in the logical data center.
For more information about tags in service blueprints, see Managing-blueprint-tags.
- To allow a custom resource set to be reused in other service blueprints, save it to the Blueprint Library:
- Right-click the custom resource set and click Convert to Reference.
- Enter a Name for the custom resource set (for example, Azure_Infrastructure).
This name will be visible in the Blueprint Library; therefore, provide a name that cloud administrators can easily identify as the custom resource set. - Enter a Description of the custom resource set.
- Click OK.
The blueprint is added to the Service Blueprints section of the Blueprint Library.
- After you finish defining the custom service blueprint, click Save and provide a name for the service blueprint.
You can save a version of a blueprint and assign a tag to each version, as described in Creating-copying-or-editing-a-service-blueprint.
Seting up support for managed disk and replication type
New in 4.6.06 BMC Cloud Lifecycle Management 4.6.05.001 and earlier versions supported un-managed instances or images. BMC Cloud Lifecycle Management 4.6.05.002 and later supports managed disks. For more information about managed disks, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/managed-disks-overview.
To set the value to use managed disk
- From the BMC Cloud Lifecycle Management Administration Console, click the vertical Workspaces menu on the left side of the window and select Providers.
- Under Quick Links, select Custom.
- Click the provider for which you want detailed information.
- Click Edit.
- In the Azure Storage field, select a value for the disk storage. The default value is unmanaged_disks.
- Click Submit.
The following table displays all the possible combination:
Value of the Azure Storage field | What you can provision |
---|---|
managed_disks | VM with managed disks |
unmanaged_disks | VM with unmanaged disks VM with managed disks |
To set the value of the managed disk storage option
- In the Service Designer workspace, click the Azure resource in the service blueprint that you created.
- In the edit pane for that resource set, under Custom Resource Properties, specify information for the new Azure resource.
- With a blueprint open for editing in the Service Designer, open one of the following Compute Resources objects:
- Click either the Tags field or the Add icon next to the Tags field.
The Tags menu appears.
- In the Tags menu, click the tag you want to add.
For ARM Managed OS Disk Account tag group, select Premium_LRS or Standard_LRS. OR
For ARM Managed Data Disk Account tag group, select Premium_LRS or Standard_LRS. For more information, see Managing-blueprint-tags.- Click Save.
You can select either of them to decide the nature of the drive. You cannot set Premium LRS for an unsupported instance or family.
Managing Azure resources
You can perform the following basic management actions if the template is modified:
- Decommission Service: You can decommission a service before the planned decommission date you specified when you created the cloud service.
- Extend Decommission Date: You can extend the life of a service past the planned decommission date you specified when you created the cloud service.
- Reprovision Service: When you create cloud services, you specify provisioning parameters. You can update the resource group parameters and reprovision the service.
To reprovision a custom resource
Perform the following steps if you want to update the existing Azure resources:
- Navigate to My Cloud Services console > My Resources tab > Resource Type > Custom Resources.
- Click the hyperlink for the specific custom resource as shown in the following figure:
- On the Custom Resources details page, click Reprovision.
- On the Custom Resource Reprovision dialog box, specify new values for the Azure resources that you want to reprovision.
- Click Reprovision.
After reprovisioning is complete, the new values for the Azure resources are displayed.
Related BMC Communities videos
See the following BMC Community video for more information:
Setting up Azure Resource Manager provisioning (9:12): https://youtu.be/rAL6AXOsi1k