The failure to create Service Engines in Azure with the specified nsx-alb-se-3001-byol plan is primarily due to one of two reasons:
Marketplace Plan Not Found/Available: The Azure subscription being used may not have access to the specified plan ID (nsx-alb-se-3001-byol), or the plan might be newly created and not yet fully propagated, or the subscription/tenant is not part of the plan's private audience (if applicable).
Unaccepted Legal Terms: The most common cause is that the legal terms and conditions for the chosen Azure Marketplace image (in this case, related to avi-networks:avi-vantage-adc:nsx-alb-se-3001-byol) have not been accepted for the specific Azure subscription being used. Azure requires explicit acceptance of these terms before resources based on the image can be deployed.
Maximum failed attempts to create Service Engine reached" message on UI, along with the underlying Azure CloudConnector error detailing the plan or legal terms issue.The resolution involves accepting the legal terms for the Avi Vantage ADC plan in the Azure Marketplace using PowerShell or Azure CLI
Option1: Using PowerShell
1. Open PowerShell with Azure Modules:
Ensure you have the necessary Azure PowerShell modules installed. If not, install Az.MarketplaceOrdering module
Install-Module Az.MarketplaceOrdering -Scope CurrentUser
Import-Module Az.MarketplaceOrdering
2. Accept the Marketplace Terms:
Execute the following PowerShell command to accept the legal terms for the specific Avi Networks offer, product, and plan.
Set-AzMarketplaceTerms -Publisher avi-networks -Product avi-vantage-adc -Name nsx-alb-se-3001-byol -Accept
Note:
Publisher: avi-networks
Product: avi-vantage-adc
Name (Plan ID): nsx-alb-se-3001-byol
Accept: This flag explicitly accepts the terms.
3.Disable and Re-enable the Virtual Service (VS):
After accepting the terms, disable and then re-enable the Virtual Service(s) in the Avi Controller UI. This action will trigger a new attempt to create the Service Engines, which should now succeed.
Option2: Using Azure CLI
1. Install Azure CLI Client:
https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-linux?view=azure-cli-latest&pivots=apt#install-azure-cli
2. Sign into Azure Account using Azure CLI
Step1: az version
Step2: az login
Step3: Sign in with your account credentials in the browser.
Step4 (Optional):
After you sign in, a list of your subscriptions appears. The one marked isDefault: true is currently active. To change to a different subscription, run:
az account set --subscription "<subscription-id>"
Step5: Accept the terms
az vm image accept-terms --urn publisher:offer:sku:version
Example: az vm image accept-terms --urn avi-networks:avi-vantage-adc:nsx-alb-se-3001-byol:<Controller-Base-Version>
Once these steps are completed, the Service Engines created successfully, and the associated alerts on the Virtual Services should clear.
For more details on accepting legal terms via Azure CLI or PowerShell, refer to the official Microsoft documentation links provided in the original error message:
Azure CLI: https://learn.microsoft.com/en-us/cli/azure/vm/image?view=azure-cli-latest#az-vm-image-accept-terms
PowerShell:
1. To check legal terms:
https://learn.microsoft.com/en-us/powershell/module/az.marketplaceordering/get-azmarketplaceterms?view=azps-14.6.0
2. To accept legal terms:
https://learn.microsoft.com/en-us/powershell/module/az.marketplaceordering/set-azmarketplaceterms?view=azps-14.6.0
Deploying via the Azure portal can also provide a UI experience for reading and accepting the legal terms.