From 0cfc342153a06a244952e2aa35e2eb6bc7d50e74 Mon Sep 17 00:00:00 2001 From: cruizba Date: Tue, 2 Dec 2025 18:29:44 +0100 Subject: [PATCH] openvidu-deployment: Azure - Add ARM64 instance types and update Ubuntu to ubuntu 24 --- .../azure/cf-openvidu-singlenode.bicep | 57 +++++++++++- .../azure/cf-openvidu-singlenode.json | 57 +++++++++++- .../elastic/azure/cf-openvidu-elastic.bicep | 86 ++++++++++++++++- .../elastic/azure/cf-openvidu-elastic.json | 92 +++++++++++++++++-- .../pro/ha/azure/cf-openvidu-ha.bicep | 77 +++++++++++++++- .../pro/ha/azure/cf-openvidu-ha.json | 83 +++++++++++++++-- .../azure/cf-openvidu-singlenode.bicep | 57 +++++++++++- .../azure/cf-openvidu-singlenode.json | 57 +++++++++++- 8 files changed, 532 insertions(+), 34 deletions(-) diff --git a/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.bicep b/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.bicep index 3cba87059..a99ce3dec 100644 --- a/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.bicep +++ b/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.bicep @@ -76,6 +76,21 @@ param initialMeetApiKey string = '' 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' + 'Standard_D96ps_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -113,6 +128,15 @@ param initialMeetApiKey string = '' 'Standard_E48_v5' 'Standard_E64_v5' 'Standard_E96_v5' + 'Standard_E2ps_v5' + 'Standard_E4ps_v5' + 'Standard_E8ps_v5' + 'Standard_E16ps_v5' + 'Standard_E20ps_v5' + 'Standard_E32ps_v5' + 'Standard_E48ps_v5' + 'Standard_E64ps_v5' + 'Standard_E96ps_v5' 'Standard_M64' 'Standard_M128' 'Standard_M208ms_v2' @@ -174,6 +198,35 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none' //Condition for the domain name var isEmptyDomain = domainName == '' +var arm64InstanceTypes = [ + 'standard_d2ps_v5' + 'standard_d4ps_v5' + 'standard_d8ps_v5' + 'standard_d16ps_v5' + 'standard_d32ps_v5' + 'standard_d48ps_v5' + 'standard_d64ps_v5' + 'standard_d2pls_v5' + 'standard_d4pls_v5' + 'standard_d8pls_v5' + 'standard_d16pls_v5' + 'standard_d32pls_v5' + 'standard_d48pls_v5' + 'standard_d64pls_v5' + 'standard_d96ps_v5' + 'standard_e2ps_v5' + 'standard_e4ps_v5' + 'standard_e8ps_v5' + 'standard_e16ps_v5' + 'standard_e20ps_v5' + 'standard_e32ps_v5' + 'standard_e48ps_v5' + 'standard_e64ps_v5' + 'standard_e96ps_v5' +] + +var ubuntuSku = contains(arm64InstanceTypes, toLower(instanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' + //Variables for deployment var networkSettings = { privateIPaddressNetInterface: '10.0.0.5' @@ -189,8 +242,8 @@ var openviduVMSettings = { osDiskType: 'StandardSSD_LRS' ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: ubuntuSku version: 'latest' } linuxConfiguration: { diff --git a/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.json b/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.json index 00ceaa622..764b3332e 100644 --- a/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.json +++ b/openvidu-deployment/community/singlenode/azure/cf-openvidu-singlenode.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "13627600359825975571" + "templateHash": "2317567583079726758" } }, "parameters": { @@ -122,6 +122,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", + "Standard_D96ps_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -159,6 +174,15 @@ "Standard_E48_v5", "Standard_E64_v5", "Standard_E96_v5", + "Standard_E2ps_v5", + "Standard_E4ps_v5", + "Standard_E8ps_v5", + "Standard_E16ps_v5", + "Standard_E20ps_v5", + "Standard_E32ps_v5", + "Standard_E48ps_v5", + "Standard_E64ps_v5", + "Standard_E96ps_v5", "Standard_M64", "Standard_M128", "Standard_M208ms_v2", @@ -239,6 +263,33 @@ "variables": { "isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]", "isEmptyDomain": "[equals(parameters('domainName'), '')]", + "arm64InstanceTypes": [ + "standard_d2ps_v5", + "standard_d4ps_v5", + "standard_d8ps_v5", + "standard_d16ps_v5", + "standard_d32ps_v5", + "standard_d48ps_v5", + "standard_d64ps_v5", + "standard_d2pls_v5", + "standard_d4pls_v5", + "standard_d8pls_v5", + "standard_d16pls_v5", + "standard_d32pls_v5", + "standard_d48pls_v5", + "standard_d64pls_v5", + "standard_d96ps_v5", + "standard_e2ps_v5", + "standard_e4ps_v5", + "standard_e8ps_v5", + "standard_e16ps_v5", + "standard_e20ps_v5", + "standard_e32ps_v5", + "standard_e48ps_v5", + "standard_e64ps_v5", + "standard_e96ps_v5" + ], + "ubuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('instanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", "networkSettings": { "privateIPaddressNetInterface": "10.0.0.5", "vNetAddressPrefix": "10.0.0.0/16", @@ -252,8 +303,8 @@ "osDiskType": "StandardSSD_LRS", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('ubuntuSku')]", "version": "latest" }, "linuxConfiguration": { diff --git a/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.bicep b/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.bicep index 54ef1dbba..243244682 100644 --- a/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.bicep +++ b/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.bicep @@ -84,6 +84,21 @@ param initialMeetApiKey string = '' 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D96ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -121,6 +136,15 @@ param initialMeetApiKey string = '' 'Standard_E48_v5' 'Standard_E64_v5' 'Standard_E96_v5' + 'Standard_E2ps_v5' + 'Standard_E4ps_v5' + 'Standard_E8ps_v5' + 'Standard_E16ps_v5' + 'Standard_E20ps_v5' + 'Standard_E32ps_v5' + 'Standard_E48ps_v5' + 'Standard_E64ps_v5' + 'Standard_E96ps_v5' 'Standard_M64' 'Standard_M128' 'Standard_M208ms_v2' @@ -196,6 +220,21 @@ param masterNodeInstanceType string = 'Standard_B2s' 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D96ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -233,6 +272,15 @@ param masterNodeInstanceType string = 'Standard_B2s' 'Standard_E48_v5' 'Standard_E64_v5' 'Standard_E96_v5' + 'Standard_E2ps_v5' + 'Standard_E4ps_v5' + 'Standard_E8ps_v5' + 'Standard_E16ps_v5' + 'Standard_E20ps_v5' + 'Standard_E32ps_v5' + 'Standard_E48ps_v5' + 'Standard_E64ps_v5' + 'Standard_E96ps_v5' 'Standard_M64' 'Standard_M128' 'Standard_M208ms_v2' @@ -304,13 +352,43 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none' var isEmptyDomain = domainName == '' +var arm64InstanceTypes = [ + 'standard_d2ps_v5' + 'standard_d4ps_v5' + 'standard_d8ps_v5' + 'standard_d16ps_v5' + 'standard_d32ps_v5' + 'standard_d48ps_v5' + 'standard_d64ps_v5' + 'standard_d96ps_v5' + 'standard_d2pls_v5' + 'standard_d4pls_v5' + 'standard_d8pls_v5' + 'standard_d16pls_v5' + 'standard_d32pls_v5' + 'standard_d48pls_v5' + 'standard_d64pls_v5' + 'standard_e2ps_v5' + 'standard_e4ps_v5' + 'standard_e8ps_v5' + 'standard_e16ps_v5' + 'standard_e20ps_v5' + 'standard_e32ps_v5' + 'standard_e48ps_v5' + 'standard_e64ps_v5' + 'standard_e96ps_v5' +] + +var masterUbuntuSku = contains(arm64InstanceTypes, toLower(masterNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' +var mediaUbuntuSku = contains(arm64InstanceTypes, toLower(mediaNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' + var masterNodeVMSettings = { vmName: '${stackName}-VM-MasterNode' osDiskType: 'StandardSSD_LRS' ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: masterUbuntuSku version: 'latest' } linuxConfiguration: { @@ -331,8 +409,8 @@ var mediaNodeVMSettings = { osDiskType: 'StandardSSD_LRS' ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: mediaUbuntuSku version: 'latest' } linuxConfiguration: { diff --git a/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.json b/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.json index 6534aa356..b7e983b37 100644 --- a/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.json +++ b/openvidu-deployment/pro/elastic/azure/cf-openvidu-elastic.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "10094209354917441049" + "templateHash": "15487529759540634412" } }, "parameters": { @@ -139,6 +139,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D96ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -176,6 +191,15 @@ "Standard_E48_v5", "Standard_E64_v5", "Standard_E96_v5", + "Standard_E2ps_v5", + "Standard_E4ps_v5", + "Standard_E8ps_v5", + "Standard_E16ps_v5", + "Standard_E20ps_v5", + "Standard_E32ps_v5", + "Standard_E48ps_v5", + "Standard_E64ps_v5", + "Standard_E96ps_v5", "Standard_M64", "Standard_M128", "Standard_M208ms_v2", @@ -255,6 +279,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D96ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -292,6 +331,15 @@ "Standard_E48_v5", "Standard_E64_v5", "Standard_E96_v5", + "Standard_E2ps_v5", + "Standard_E4ps_v5", + "Standard_E8ps_v5", + "Standard_E16ps_v5", + "Standard_E20ps_v5", + "Standard_E32ps_v5", + "Standard_E48ps_v5", + "Standard_E64ps_v5", + "Standard_E96ps_v5", "Standard_M64", "Standard_M128", "Standard_M208ms_v2", @@ -411,13 +459,41 @@ "variables": { "isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]", "isEmptyDomain": "[equals(parameters('domainName'), '')]", + "arm64InstanceTypes": [ + "standard_d2ps_v5", + "standard_d4ps_v5", + "standard_d8ps_v5", + "standard_d16ps_v5", + "standard_d32ps_v5", + "standard_d48ps_v5", + "standard_d64ps_v5", + "standard_d96ps_v5", + "standard_d2pls_v5", + "standard_d4pls_v5", + "standard_d8pls_v5", + "standard_d16pls_v5", + "standard_d32pls_v5", + "standard_d48pls_v5", + "standard_d64pls_v5", + "standard_e2ps_v5", + "standard_e4ps_v5", + "standard_e8ps_v5", + "standard_e16ps_v5", + "standard_e20ps_v5", + "standard_e32ps_v5", + "standard_e48ps_v5", + "standard_e64ps_v5", + "standard_e96ps_v5" + ], + "masterUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('masterNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", + "mediaUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('mediaNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", "masterNodeVMSettings": { "vmName": "[format('{0}-VM-MasterNode', parameters('stackName'))]", "osDiskType": "StandardSSD_LRS", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('masterUbuntuSku')]", "version": "latest" }, "linuxConfiguration": { @@ -437,8 +513,8 @@ "osDiskType": "StandardSSD_LRS", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('mediaUbuntuSku')]", "version": "latest" }, "linuxConfiguration": { @@ -808,7 +884,7 @@ { "type": "Microsoft.Insights/actionGroups", "apiVersion": "2023-01-01", - "name": "actiongrouptest", + "name": "actiongroupScaleIn", "location": "global", "properties": { "groupShortName": "scaleinag", @@ -869,14 +945,14 @@ "actions": { "actionGroups": [ { - "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', 'actiongrouptest')]" + "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', 'actiongroupScaleIn')]" } ] }, "enabled": true }, "dependsOn": [ - "[resourceId('Microsoft.Insights/actionGroups', 'actiongrouptest')]", + "[resourceId('Microsoft.Insights/actionGroups', 'actiongroupScaleIn')]", "[resourceId('Microsoft.Compute/virtualMachineScaleSets', format('{0}-mediaNodeScaleSet', parameters('stackName')))]" ] }, diff --git a/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.bicep b/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.bicep index 6441374bc..08939d2c2 100644 --- a/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.bicep +++ b/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.bicep @@ -84,6 +84,21 @@ param initialMeetApiKey string = '' 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D96ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -121,6 +136,15 @@ param initialMeetApiKey string = '' 'Standard_E48_v5' 'Standard_E64_v5' 'Standard_E96_v5' + 'Standard_E2ps_v5' + 'Standard_E4ps_v5' + 'Standard_E8ps_v5' + 'Standard_E16ps_v5' + 'Standard_E20ps_v5' + 'Standard_E32ps_v5' + 'Standard_E48ps_v5' + 'Standard_E64ps_v5' + 'Standard_E96ps_v5' 'Standard_M64' 'Standard_M128' 'Standard_M208ms_v2' @@ -199,6 +223,21 @@ param masterNodesDiskSize int = 100 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D96ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -307,13 +346,43 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none' var isEmptyDomain = domainName == '' +var arm64InstanceTypes = [ + 'standard_d2ps_v5' + 'standard_d4ps_v5' + 'standard_d8ps_v5' + 'standard_d16ps_v5' + 'standard_d32ps_v5' + 'standard_d48ps_v5' + 'standard_d64ps_v5' + 'standard_d96ps_v5' + 'standard_d2pls_v5' + 'standard_d4pls_v5' + 'standard_d8pls_v5' + 'standard_d16pls_v5' + 'standard_d32pls_v5' + 'standard_d48pls_v5' + 'standard_d64pls_v5' + 'standard_e2ps_v5' + 'standard_e4ps_v5' + 'standard_e8ps_v5' + 'standard_e16ps_v5' + 'standard_e20ps_v5' + 'standard_e32ps_v5' + 'standard_e48ps_v5' + 'standard_e64ps_v5' + 'standard_e96ps_v5' +] + +var masterUbuntuSku = contains(arm64InstanceTypes, toLower(masterNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' +var mediaUbuntuSku = contains(arm64InstanceTypes, toLower(mediaNodeInstanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' + var masterNodeVMSettings = { osDiskType: 'StandardSSD_LRS' osDiskSize: masterNodesDiskSize ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: masterUbuntuSku version: 'latest' } linuxConfiguration: { @@ -334,8 +403,8 @@ var mediaNodeVMSettings = { osDiskType: 'StandardSSD_LRS' ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: mediaUbuntuSku version: 'latest' } linuxConfiguration: { diff --git a/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.json b/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.json index 0031e3f32..7e4a665ab 100644 --- a/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.json +++ b/openvidu-deployment/pro/ha/azure/cf-openvidu-ha.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "9275960504660161817" + "templateHash": "12176049289257962193" } }, "parameters": { @@ -139,6 +139,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D96ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -176,6 +191,15 @@ "Standard_E48_v5", "Standard_E64_v5", "Standard_E96_v5", + "Standard_E2ps_v5", + "Standard_E4ps_v5", + "Standard_E8ps_v5", + "Standard_E16ps_v5", + "Standard_E20ps_v5", + "Standard_E32ps_v5", + "Standard_E48ps_v5", + "Standard_E64ps_v5", + "Standard_E96ps_v5", "Standard_M64", "Standard_M128", "Standard_M208ms_v2", @@ -262,6 +286,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D96ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -425,13 +464,41 @@ "variables": { "isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]", "isEmptyDomain": "[equals(parameters('domainName'), '')]", + "arm64InstanceTypes": [ + "standard_d2ps_v5", + "standard_d4ps_v5", + "standard_d8ps_v5", + "standard_d16ps_v5", + "standard_d32ps_v5", + "standard_d48ps_v5", + "standard_d64ps_v5", + "standard_d96ps_v5", + "standard_d2pls_v5", + "standard_d4pls_v5", + "standard_d8pls_v5", + "standard_d16pls_v5", + "standard_d32pls_v5", + "standard_d48pls_v5", + "standard_d64pls_v5", + "standard_e2ps_v5", + "standard_e4ps_v5", + "standard_e8ps_v5", + "standard_e16ps_v5", + "standard_e20ps_v5", + "standard_e32ps_v5", + "standard_e48ps_v5", + "standard_e64ps_v5", + "standard_e96ps_v5" + ], + "masterUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('masterNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", + "mediaUbuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('mediaNodeInstanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", "masterNodeVMSettings": { "osDiskType": "StandardSSD_LRS", "osDiskSize": "[parameters('masterNodesDiskSize')]", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('masterUbuntuSku')]", "version": "latest" }, "linuxConfiguration": { @@ -451,8 +518,8 @@ "osDiskType": "StandardSSD_LRS", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('mediaUbuntuSku')]", "version": "latest" }, "linuxConfiguration": { @@ -1093,7 +1160,7 @@ { "type": "Microsoft.Insights/actionGroups", "apiVersion": "2023-01-01", - "name": "actiongrouptest", + "name": "actiongroupScaleIn", "location": "global", "properties": { "groupShortName": "scaleinag", @@ -1154,14 +1221,14 @@ "actions": { "actionGroups": [ { - "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', 'actiongrouptest')]" + "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', 'actiongroupScaleIn')]" } ] }, "enabled": true }, "dependsOn": [ - "[resourceId('Microsoft.Insights/actionGroups', 'actiongrouptest')]", + "[resourceId('Microsoft.Insights/actionGroups', 'actiongroupScaleIn')]", "[resourceId('Microsoft.Compute/virtualMachineScaleSets', format('{0}-mediaNodeScaleSet', parameters('stackName')))]" ] }, diff --git a/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.bicep b/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.bicep index 64f40bb23..de80595ce 100644 --- a/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.bicep +++ b/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.bicep @@ -85,6 +85,21 @@ param rtcEngine string = 'pion' 'Standard_D48_v5' 'Standard_D64_v5' 'Standard_D96_v5' + 'Standard_D2ps_v5' + 'Standard_D4ps_v5' + 'Standard_D8ps_v5' + 'Standard_D16ps_v5' + 'Standard_D32ps_v5' + 'Standard_D48ps_v5' + 'Standard_D64ps_v5' + 'Standard_D2pls_v5' + 'Standard_D4pls_v5' + 'Standard_D8pls_v5' + 'Standard_D16pls_v5' + 'Standard_D32pls_v5' + 'Standard_D48pls_v5' + 'Standard_D64pls_v5' + 'Standard_D96ps_v5' 'Standard_F2' 'Standard_F4' 'Standard_F8' @@ -122,6 +137,15 @@ param rtcEngine string = 'pion' 'Standard_E48_v5' 'Standard_E64_v5' 'Standard_E96_v5' + 'Standard_E2ps_v5' + 'Standard_E4ps_v5' + 'Standard_E8ps_v5' + 'Standard_E16ps_v5' + 'Standard_E20ps_v5' + 'Standard_E32ps_v5' + 'Standard_E48ps_v5' + 'Standard_E64ps_v5' + 'Standard_E96ps_v5' 'Standard_M64' 'Standard_M128' 'Standard_M208ms_v2' @@ -183,6 +207,35 @@ var isEmptyIp = publicIpAddressObject.newOrExistingOrNone == 'none' //Condition for the domain name var isEmptyDomain = domainName == '' +var arm64InstanceTypes = [ + 'standard_d2ps_v5' + 'standard_d4ps_v5' + 'standard_d8ps_v5' + 'standard_d16ps_v5' + 'standard_d32ps_v5' + 'standard_d48ps_v5' + 'standard_d64ps_v5' + 'standard_d2pls_v5' + 'standard_d4pls_v5' + 'standard_d8pls_v5' + 'standard_d16pls_v5' + 'standard_d32pls_v5' + 'standard_d48pls_v5' + 'standard_d64pls_v5' + 'standard_d96ps_v5' + 'standard_e2ps_v5' + 'standard_e4ps_v5' + 'standard_e8ps_v5' + 'standard_e16ps_v5' + 'standard_e20ps_v5' + 'standard_e32ps_v5' + 'standard_e48ps_v5' + 'standard_e64ps_v5' + 'standard_e96ps_v5' +] + +var ubuntuSku = contains(arm64InstanceTypes, toLower(instanceType)) ? '24_04-lts-arm64' : '24_04-lts-gen2' + //Variables for deployment var networkSettings = { privateIPaddressNetInterface: '10.0.0.5' @@ -198,8 +251,8 @@ var openviduVMSettings = { osDiskType: 'StandardSSD_LRS' ubuntuOSVersion: { publisher: 'Canonical' - offer: '0001-com-ubuntu-server-jammy' - sku: '22_04-lts-gen2' + offer: '0001-com-ubuntu-server-noble' + sku: ubuntuSku version: 'latest' } linuxConfiguration: { diff --git a/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.json b/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.json index 448d96781..87c0bfbeb 100644 --- a/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.json +++ b/openvidu-deployment/pro/singlenode/azure/cf-openvidu-singlenode.json @@ -5,7 +5,7 @@ "_generator": { "name": "bicep", "version": "0.37.4.10188", - "templateHash": "3013410917256675391" + "templateHash": "14399294642253213945" } }, "parameters": { @@ -139,6 +139,21 @@ "Standard_D48_v5", "Standard_D64_v5", "Standard_D96_v5", + "Standard_D2ps_v5", + "Standard_D4ps_v5", + "Standard_D8ps_v5", + "Standard_D16ps_v5", + "Standard_D32ps_v5", + "Standard_D48ps_v5", + "Standard_D64ps_v5", + "Standard_D2pls_v5", + "Standard_D4pls_v5", + "Standard_D8pls_v5", + "Standard_D16pls_v5", + "Standard_D32pls_v5", + "Standard_D48pls_v5", + "Standard_D64pls_v5", + "Standard_D96ps_v5", "Standard_F2", "Standard_F4", "Standard_F8", @@ -176,6 +191,15 @@ "Standard_E48_v5", "Standard_E64_v5", "Standard_E96_v5", + "Standard_E2ps_v5", + "Standard_E4ps_v5", + "Standard_E8ps_v5", + "Standard_E16ps_v5", + "Standard_E20ps_v5", + "Standard_E32ps_v5", + "Standard_E48ps_v5", + "Standard_E64ps_v5", + "Standard_E96ps_v5", "Standard_M64", "Standard_M128", "Standard_M208ms_v2", @@ -256,6 +280,33 @@ "variables": { "isEmptyIp": "[equals(parameters('publicIpAddressObject').newOrExistingOrNone, 'none')]", "isEmptyDomain": "[equals(parameters('domainName'), '')]", + "arm64InstanceTypes": [ + "standard_d2ps_v5", + "standard_d4ps_v5", + "standard_d8ps_v5", + "standard_d16ps_v5", + "standard_d32ps_v5", + "standard_d48ps_v5", + "standard_d64ps_v5", + "standard_d2pls_v5", + "standard_d4pls_v5", + "standard_d8pls_v5", + "standard_d16pls_v5", + "standard_d32pls_v5", + "standard_d48pls_v5", + "standard_d64pls_v5", + "standard_d96ps_v5", + "standard_e2ps_v5", + "standard_e4ps_v5", + "standard_e8ps_v5", + "standard_e16ps_v5", + "standard_e20ps_v5", + "standard_e32ps_v5", + "standard_e48ps_v5", + "standard_e64ps_v5", + "standard_e96ps_v5" + ], + "ubuntuSku": "[if(contains(variables('arm64InstanceTypes'), toLower(parameters('instanceType'))), '24_04-lts-arm64', '24_04-lts-gen2')]", "networkSettings": { "privateIPaddressNetInterface": "10.0.0.5", "vNetAddressPrefix": "10.0.0.0/16", @@ -269,8 +320,8 @@ "osDiskType": "StandardSSD_LRS", "ubuntuOSVersion": { "publisher": "Canonical", - "offer": "0001-com-ubuntu-server-jammy", - "sku": "22_04-lts-gen2", + "offer": "0001-com-ubuntu-server-noble", + "sku": "[variables('ubuntuSku')]", "version": "latest" }, "linuxConfiguration": {