Link Search Menu Expand Document

Pre-Install Checks

deployment ama marketplace azure

On this page

  1. CluedIn AMA - Pre-Install Checks
    1. Identify the user carrying out installation
    2. Permission to purchase from the Azure Market Place
    3. Check Azure registrations
    4. Check vCPU quotas
    5. Helper Script

CluedIn AMA - Pre-Install Checks

Before beginning the installation, a few checks and permissions need to happen to ensure a smooth installation experience.

Identify the user carrying out installation

The user who is triggering the installation must have all the correct permissions assigned to them or their user group.

CluedIn will be installed into an Azure Resource Group. The installation user would ideally be at least aContributor to that group or ideally the Owner of that resource group.

Permission to purchase from the Azure Market Place

The other permission required is the ability to purchase paid-for applications from the Azure Marketplace.

By default, this is usually set to No - Meaning it prevents users from deploying any software from Azure Marketplace.

This must be set to Free+Paid in order to complete the purchase registration on the marketplace.

More information is available here: https://docs.microsoft.com/en-us/marketplace/azure-purchasing-invoicing#purchase-policy-management

Check Azure registrations

The final set of permissions is around provider registrations and quotas. Provider registrations allow you to create certain resource types in Azure. The CluedIn installation creates various resource types, so we need to check that the installation user has the proper authority to create them.

The list of registrations for CluedIn is as follows:

  • Microsoft.Cache
  • Microsoft.Capacity
  • Microsoft.Compute
  • Microsoft.ContainerService
  • Microsoft.EventHub
  • Microsoft.KeyVault
  • Microsoft.ManagedIdentity
  • Microsoft.Network
  • Microsoft.OperationalInsights
  • Microsoft.OperationsManagement
  • Microsoft.Resources
  • Microsoft.Storage
  • Microsoft.Sql

Check vCPU quotas

There are four common VM family types that CluedIn will create as part of the AKS (Kubernetes) node pools.

The subscription must have enough spare vCPU quota to provision the different nodes.

  • At least 36 vCPUs in the StandardDSv4Family quota

  • At least 32 vCPUs in the StandardDSv8Family quota

  • At least 32 vCPUs in the StandardFSv2Family quota

  • At least 2 vCPUs in the StandardDSv2Family quota

If you are looking to enable auto-scaling on the processing node, you will need to ensure a higher quota on the FSv2 family. This will also depend on your license type.

Helper Script

CluedIn have created a PowerShell script that can check the current user’s provider registrations.

It requires the Azure CLI (az) to be installed on the system running it.

Installation instructions can be found here: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli

param(
    [Parameter(Mandatory)]
    [string]$SubscriptionId,
    [switch]$Register,
    [switch]$Wait
)

$ErrorActionPreference = 'Stop'

if(!(Get-Command az)) {
    Write-Error "You must install the azure CLI to continue"
}

# Login
function GetCurrentSubscription { az account show --query 'id' -o tsv }
$currentSubscription = GetCurrentSubscription
if(!$currentSubscription) { az login -o none }

if($currentSubscription -ne $SubscriptionId){
    az account set --subscription $SubscriptionId
    $currentSubscription = GetCurrentSubscription
    if($currentSubscription -ne $SubscriptionId){
        Write-Error "Could not login to subscription ${SubscriptionId}"
    }
}

function FetchProviders {
    $requiredProviders = @(
        "Microsoft.Cache",
        "Microsoft.Capacity",
        "Microsoft.Compute",
        "Microsoft.ContainerService",
        "Microsoft.EventHub",
        "Microsoft.KeyVault",
        "Microsoft.ManagedIdentity",
        "Microsoft.Network",
        "Microsoft.OperationalInsights",
        "Microsoft.OperationsManagement",
        "Microsoft.Resources",
        "Microsoft.Storage",
        "Microsoft.Sql"
    )

    az provider list --query '[].{ Name: namespace, Registered: registrationState}' |
        ConvertFrom-Json |
        ForEach-Object {
            $required = $requiredProviders -contains $_.Name
            Add-Member -InputObject $_ -NotePropertyName Required -NotePropertyValue $required -PassThru
        } |
        Sort-Object Required,Name,Registered
}

$providers = FetchProviders

if($Register) {
    $toRegister = $providers.Where({ $_.Required -and $_.Registered -ne 'Registered'})
    if($toRegister) {
        Write-Host "Registering missing providers"
        $toRegister | ForEach-Object {
            az provider register --namespace $_.Name --accept-terms --wait
        }

        $providers = FetchProviders
    } else {
        Write-Host "All required providers registered" -ForegroundColor Green
    }
}

$providers

The CluedIn installer will also attempt to check most of these permissions, so if you see errors such as ..

img.png

.. please re-check the permissions assigned to that user before proceeding.