Install Billing Resource Provider

HOST VM

On AzS Development Kits, sign in to the physical host.

On multi-node integrated systems, the host must be a system that can access admin and tenant endpoints.

All steps in Prerequisites should be taken care before proceeding with the deployment steps below.

  1. Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted (c:\CloudAssert\BillingRP). Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system. If you don't have this installer please reach out to our team and we will provide you with latest installer and trial license.

  2. Ensure 2 certificate files (.pfx and .cer) [as in Prerequisites -> Certificate section] are present in the Cert folder as follows:

    • The file name must not contain any special characters.

    • Only a *.cer and *.pfx exists in this Cert folder.

    • The certificates must be placed in in this folder every time before retrying the deployment.

  3. Backup the Cert folder, in case the deployment needs to be retried, the files to be replaced here.

  4. Run InstallBilling.ps1 and specify the required parameters

Parameter Name

Description

Required

DefaultProviderSubscriptionId

Go to Admin Portal -> Login as Service Admin ->

Subscriptions -> Default Provider Subscription -> Get the GUID

Required

ServiceAdmin

Go to Admin Portal -> Login as Service Admin ->

Subscriptions -> Default Provider Subscription ->

Check if role is Owner

Eg: admin@contosotest.onmicrosoft.com

Required

AdminPassword

Password for the above ServiceAdmin

Required

AdminArmEndpoint

Admin ARM endpoint URL

Required

ServiceAdminDirectoryTenantName

Directory tenant name Of the service admin user

Required

ServiceTenant

Tenant Subscription administrator account login user name.

If not provided above ServiceAdmin credential can be used.

Optional

TenantPassword

Tenant Subscription administrator account login user password.

If not provided above ServiceAdmin credential can be used.

Optional

ServiceTenantDirectoryTenantName

Directory tenant name Of the service tenant user. If not provided, ServiceAdminDirectoryTenantName will be used

Optional

TenantSubscriptionId

GUID of the Tenant Subscription where Cloud Assert

components need to be deployed

Required

VmLocalAdminPass

Password for the new VM that will host the resource provider

IIS components. The user name is .\billingrpadmin.

Required

PfxPassword

Password for azure stack .pfx file in Step 2

Required

SqlServerName

IP Address. Specify instance if exists. Eg: 192.168.102.32 or 192.168.102.32\CASQL

Required

SqlDbName

Billing Database name Eg: CloudAssert.Billing

Required

SqlUser

SQL Authenticated user name Eg: cadbadmin

Required

SqlPass

SQL Authenticated user password

Required

ApiUser

Local Web user that will be created and used to access

the Cloud Assert Billing API service. Eg: admin

Required

ApiPassword

Password for above Billing ApiUser

Required

DacmDatabaseName

Cost Management database name. Eg: CloudAssert.DACM

Required

ImageSku

The default sku is "2016-Datacenter" in case you would like to use SQL image for the deployment, set this parameter to "Standard". It supports "SQL Server 2017 Standard on Windows Server 2016" VM image for deployment.

Optional

Disconnected

If the AzS environment this RP is getting installed is in

disconnected mode, pass value $True.

For normal connected deployments this parameter

is optional.

Optional

Uninstall

For installation, no need to pass this parameter.

For un-install, set it to $true to un-install Billing.

Optional

ExistingBillingApiUrl

Existing core billing API URL when only RP components are installed in multi stamp environment and the RP components points to existing core billing API

Optional

.\InstallBilling.ps1 -DefaultProviderSubscriptionId "fill-here" -ServiceAdmin "fill-here" -AdminPassword 'fill-here' -AdminArmEndpoint "fill-here" -ServiceAdminDirectoryTenantName "fill-here" -TenantSubscriptionId "fill-here" -VmLocalAdminPass 'fill-here' -PfxPassword 'fill-here' -SqlServerName "fill-here" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -SqlPass 'fill-here' -Apiuser "admin" -ApiPassword 'fill-here' -DacmDatabaseName "CloudAssert.Dacm" 

Example:
.\InstallBilling.ps1 -DefaultProviderSubscriptionId "a088be51-b7e3-47ea-8c83-1ba98e2bbf5f" -ServiceAdmin "cloudassert@contosotest.onmicrosoft.com" -AdminPassword 'TestP@ss1234' -AdminArmEndpoint "https://adminmanagement..local.azurestack.external" -ServiceAdminDirectoryTenantName "contosotest.onmicrosoft.com" -ServiceTenant "cloudassert@contosotest.onmicrosoft.com" -TenantPassword 'TestP@ss1234' -ServiceTenantDirectoryTenantName "contosotest.onmicrosoft.com" -TenantSubscriptionId "00e4fd62-a809-4cd2-a70c-981c97ace666" -VmLocalAdminPass 'TestP@ss1234' -PfxPassword 'TestP@ss1234' -SqlServerName "192.168.102.32" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -SqlPass 'TestP@ss1234' -Apiuser "admin" -ApiPassword 'TestP@ss1234' -DacmDatabaseName "CloudAssert.Dacm"

To install only RP components in multi-stamp environments,

.\InstallBilling.ps1 -DefaultProviderSubscriptionId "fill-here" -ServiceAdmin "fill-here" -AdminPassword 'fill-here' -AdminArmEndpoint "fill-here" -ServiceAdminDirectoryTenantName "fill-here" -TenantSubscriptionId "fill-here" -VmLocalAdminPass 'fill-here' -PfxPassword 'fill-here' -SqlServerName "fill-here" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -SqlPass 'fill-here' -Apiuser "admin" -ApiPassword 'fill-here' -ExistingBillingApiUrl "fill-here" 

Example:
.\InstallBilling.ps1 -DefaultProviderSubscriptionId "a088be51-b7e3-47ea-8c83-1ba98e2bbf5f" -ServiceAdmin "cloudassert@contosotest.onmicrosoft.com" -AdminPassword 'TestP@ss1234' -AdminArmEndpoint "https://adminmanagement..local.azurestack.external" -ServiceAdminDirectoryTenantName "contosotest.onmicrosoft.com" -ServiceTenant "cloudassert@contosotest.onmicrosoft.com" -TenantPassword 'TestP@ss1234' -ServiceTenantDirectoryTenantName "contosotest.onmicrosoft.com" -TenantSubscriptionId "00e4fd62-a809-4cd2-a70c-981c97ace666" -VmLocalAdminPass 'TestP@ss1234' -PfxPassword 'TestP@ss1234' -SqlServerName "192.168.102.32" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -SqlPass 'TestP@ss1234' -Apiuser "admin" -ApiPassword 'TestP@ss1234' ' -ExistingBillingApiUrl "https://billing.local.mas500.samm.corp.contosotest.com:44306" 

5. A pop up will appear with end user license agreement, once reviewed click Accept. The installation will continue and complete once all steps succeed.

This RP deployment step for a Multi node environment may take 60-75 minutes to complete. For ASDK, it may take 90 - 100 minutes.

Verifying the Deployment in Azure Stack Portals

  • In Admin Portal, click on Resource Groups. Then select the system.<location>.cloudassert.billing resource group and verify if the deployment succeeded.

  • In Tenant Portal, click on Resource Groups. Then select the system.<location>.cloudassert.billing.rp resource group and verify if the deployment succeeded.

  • In SQL Database Server, ensure the databases CloudAssert.Billing and CloudAssert.Dacm are populated with tables

  • In Resource Provider VM, verify necessary web sites are installed:

    1. Go to Tenant Portal -> All Resources -> BillingVM1000 -> Overview -> DNS Name (last item)

    2. Copy the value and remote into this resource provider VM

    3. User name: billingrpadmin, Password: as specified in the above installation step

    4. Go to inetmgr, ensure following 4 custom web sites are present.

  • In the same Resource Provider VM, go to Control Panel -> Programs -> Programs and Features -> verify 3 services DACM (Cost Management agent service), Billing API and Billing Agent service exist and are running properly.

  • If any of the above verification steps fail, reach out to us to fix the issues and retry the InstallBilling.ps1 following instructions below.

  • If all verification steps passed, proceed to License Activation.

Retry Instructions

In case this step of the deployment needs to be re-run:

  1. Perform Step 2 in the above install instructions to place the certificate files in the appropriate folder in the install path

  2. Run InstallBilling.ps1 and specify the required parameters.

Last updated