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. 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. 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. 3.
    Backup the Cert folder, in case the deployment needs to be retried, the files to be replaced here.
  4. 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
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
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
SqlServerName
IP Address. Specify instance if exists. Eg: 192.168.102.32 or 192.168.102.32\CASQL or 192.168.102.32,1435 or 192.168.102.32\CASQL,1435
Required
SqlDbName
Billing Database name Eg: CloudAssert.Billing
Required
SqlUser
SQL Authenticated user name Eg: cadbadmin
Required
ApiUser
Local Web user that will be created and used to access
the Cloud Assert Billing API service. Eg: admin
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" -AdminArmEndpoint "fill-here" -ServiceAdminDirectoryTenantName "fill-here" -TenantSubscriptionId "fill-here" -SqlServerName "fill-here" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -Apiuser "admin" -DacmDatabaseName "CloudAssert.Dacm"
Example:
.\InstallBilling.ps1 -DefaultProviderSubscriptionId "a088be51-b7e3-47ea-8c83-1ba98e2bbf5f" -ServiceAdmin "[email protected]" -AdminArmEndpoint "https://adminmanagement..local.azurestack.external" -ServiceAdminDirectoryTenantName "contosotest.onmicrosoft.com" -ServiceTenant "[email protected]" -ServiceTenantDirectoryTenantName "contosotest.onmicrosoft.com" -TenantSubscriptionId "00e4fd62-a809-4cd2-a70c-981c97ace666" -SqlServerName "192.168.102.32" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -Apiuser "admin" -DacmDatabaseName "CloudAssert.Dacm"
To install only RP components in multi-stamp environments,
.\InstallBilling.ps1 -DefaultProviderSubscriptionId "fill-here" -ServiceAdmin "fill-here" -AdminArmEndpoint "fill-here" -ServiceAdminDirectoryTenantName "fill-here" -TenantSubscriptionId "fill-here" -SqlServerName "fill-here" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -Apiuser "admin" -ExistingBillingApiUrl "fill-here"
Example:
.\InstallBilling.ps1 -DefaultProviderSubscriptionId "a088be51-b7e3-47ea-8c83-1ba98e2bbf5f" -ServiceAdmin "[email protected]" -AdminArmEndpoint "https://adminmanagement..local.azurestack.external" -ServiceAdminDirectoryTenantName "contosotest.onmicrosoft.com" -ServiceTenant "[email protected]" -ServiceTenantDirectoryTenantName "contosotest.onmicrosoft.com" -TenantSubscriptionId "00e4fd62-a809-4cd2-a70c-981c97ace666" -SqlServerName "192.168.102.32" -SqlDbName "CloudAssert.Billing" -SqlUser "cadbadmin" -Apiuser "admin" -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. 1.
      Go to Tenant Portal -> All Resources -> BillingVM1000 -> Overview -> DNS Name (last item)
    2. 2.
      Copy the value and remote into this resource provider VM
    3. 3.
      User name: billingrpadmin, Password: as specified in the above installation step
    4. 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. 1.
    Perform Step 2 in the above install instructions to place the certificate files in the appropriate folder in the install path
  2. 2.
    Run InstallBilling.ps1 and specify the required parameters.