diff --git a/src/terraform/examples/e2e/0.global/module/variables.tf b/src/terraform/examples/e2e/0.global/module/variables.tf index a41f3433..60d1715b 100644 --- a/src/terraform/examples/e2e/0.global/module/variables.tf +++ b/src/terraform/examples/e2e/0.global/module/variables.tf @@ -7,7 +7,7 @@ variable "regionName" { } variable "renderManager" { - default = "Deadline" # RoyalRender (https://royalrender.de/) or Deadline + default = "Deadline" # RoyalRender or Deadline } variable "resourceGroupName" { diff --git a/src/terraform/examples/e2e/1.network/main.tf b/src/terraform/examples/e2e/1.network/main.tf index 481f12ff..100993b8 100644 --- a/src/terraform/examples/e2e/1.network/main.tf +++ b/src/terraform/examples/e2e/1.network/main.tf @@ -371,7 +371,7 @@ resource "azurerm_network_security_group" "network" { dynamic security_rule { for_each = each.value.name == "Workstation" ? [1] : [] content { - name = "AllowOutPCoIP[TCP]" + name = "AllowOutHTTP" priority = 2000 direction = "Outbound" access = "Allow" @@ -379,6 +379,20 @@ resource "azurerm_network_security_group" "network" { source_address_prefix = "*" source_port_range = "*" destination_address_prefix = "Internet" + destination_port_range = "80" + } + } + dynamic security_rule { + for_each = each.value.name == "Workstation" ? [1] : [] + content { + name = "AllowOutPCoIP[TCP]" + priority = 2100 + direction = "Outbound" + access = "Allow" + protocol = "Tcp" + source_address_prefix = "*" + source_port_range = "*" + destination_address_prefix = "Internet" destination_port_range = "443" } } @@ -386,7 +400,7 @@ resource "azurerm_network_security_group" "network" { for_each = each.value.name == "Workstation" ? [1] : [] content { name = "AllowOutPCoIP[UDP]" - priority = 2100 + priority = 2200 direction = "Outbound" access = "Allow" protocol = "Udp" diff --git a/src/terraform/examples/e2e/4.image.builder/config.auto.tfvars b/src/terraform/examples/e2e/4.image.builder/config.auto.tfvars index 589ca4c3..9ce934cb 100644 --- a/src/terraform/examples/e2e/4.image.builder/config.auto.tfvars +++ b/src/terraform/examples/e2e/4.image.builder/config.auto.tfvars @@ -65,7 +65,7 @@ imageTemplates = [ build = { machineType = "Scheduler" machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 0 timeoutMinutes = 120 outputVersion = "0.0.0" @@ -81,7 +81,7 @@ imageTemplates = [ build = { machineType = "Farm" machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 480 timeoutMinutes = 240 outputVersion = "1.0.0" @@ -100,7 +100,7 @@ imageTemplates = [ build = { machineType = "Farm" machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 480 timeoutMinutes = 240 outputVersion = "1.1.0" @@ -121,7 +121,7 @@ imageTemplates = [ build = { machineType = "Workstation" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = ["GRID"] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 512 timeoutMinutes = 240 outputVersion = "2.0.0" @@ -140,7 +140,7 @@ imageTemplates = [ build = { machineType = "Workstation" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = ["GRID"] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 512 timeoutMinutes = 240 outputVersion = "2.1.0" @@ -161,7 +161,7 @@ imageTemplates = [ build = { machineType = "Scheduler" machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 0 timeoutMinutes = 180 outputVersion = "0.0.0" @@ -177,7 +177,7 @@ imageTemplates = [ build = { machineType = "Farm" machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 480 timeoutMinutes = 420 outputVersion = "1.0.0" @@ -196,7 +196,7 @@ imageTemplates = [ build = { machineType = "Farm" machineSize = "Standard_HB120rs_v2" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = [] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = [] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 480 timeoutMinutes = 420 outputVersion = "1.1.0" @@ -217,7 +217,7 @@ imageTemplates = [ build = { machineType = "Workstation" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = ["GRID"] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 512 timeoutMinutes = 420 outputVersion = "2.0.0" @@ -236,7 +236,7 @@ imageTemplates = [ build = { machineType = "Workstation" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes - gpuPlatform = ["GRID"] # GRID, CUDA and/or CUDA.OptiX + gpuPlatform = ["GRID"] # GRID, AMD, CUDA and/or CUDA.OptiX osDiskSizeGB = 512 timeoutMinutes = 420 outputVersion = "2.1.0" diff --git a/src/terraform/examples/e2e/4.image.builder/customize.ps1 b/src/terraform/examples/e2e/4.image.builder/customize.ps1 index 4f3a1b87..ac0bba59 100644 --- a/src/terraform/examples/e2e/4.image.builder/customize.ps1 +++ b/src/terraform/examples/e2e/4.image.builder/customize.ps1 @@ -59,8 +59,15 @@ if ($gpuPlatform -contains "GRID") { $installFile = "nvidia-gpu-grid.exe" $downloadUrl = "https://go.microsoft.com/fwlink/?linkid=874181" (New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile)) - Start-Process -FilePath .\$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-grid.output.txt" -RedirectStandardError "nvidia-grid.error.txt" + Start-Process -FilePath .\$installFile -ArgumentList "-s -n" -Wait -RedirectStandardOutput "nvidia-gpu-grid.output.txt" -RedirectStandardError "nvidia-gpu-grid.error.txt" Write-Host "Customize (End): NVIDIA GPU (GRID)" +} else if ($gpuPlatform -contains "AMD") { + Write-Host "Customize (Start): AMD GPU" + $installFile = "amd-gpu.exe" + $downloadUrl = "https://go.microsoft.com/fwlink/?linkid=2175154" + (New-Object System.Net.WebClient).DownloadFile($downloadUrl, (Join-Path -Path $pwd.Path -ChildPath $installFile)) + # Start-Process -FilePath .\$installFile -ArgumentList "/quiet /norestart" -Wait -RedirectStandardOutput "amd-gpu.output.txt" -RedirectStandardError "amd-gpu.error.txt" + Write-Host "Customize (End): AMD GPU" } if ($gpuPlatform -contains "CUDA" -or $gpuPlatform -contains "CUDA.OptiX") { @@ -114,6 +121,8 @@ if ($machineType -eq "Scheduler") { switch ($renderManager) { "RoyalRender" { $schedulerVersion = "8.4.03" + $schedulerRootDirectory = "C:\RoyalRender" + $schedulerClientBinPath = "$schedulerRootDirectory\bin\win64" } "Deadline" { $schedulerVersion = "10.2.0.9" @@ -153,27 +162,23 @@ switch ($renderManager) { Write-Host "Customize (End): Royal Render Download" Write-Host "Customize (Start): Royal Render Installer" - $rootDirectory = "RoyalRender" + $logFileName = "royal-render" $installFile = "rrSetup_win.exe" $installDirectory = "RoyalRender__${schedulerVersion}__installer" - New-Item -ItemType Directory -Path $rootDirectory - Start-Process -FilePath .\$installDirectory\$installDirectory\$installFile -ArgumentList "-console -rrRoot $rootDirectory" -Wait -RedirectStandardOutput "$rootDirectory.output.txt" -RedirectStandardError "$rootDirectory.error.txt" + New-Item -ItemType Directory -Path $schedulerRootDirectory + Start-Process -FilePath .\$installDirectory\$installDirectory\$installFile -ArgumentList "-console -rrRoot $schedulerRootDirectory" -Wait -RedirectStandardOutput "$logFileName.output.txt" -RedirectStandardError "$logFileName.error.txt" Write-Host "Customize (End): Royal Render Installer" - Set-Location -Path $rootDirectory - [System.Environment]::SetEnvironmentVariable("RR_ROOT", $pwd.Path) + $installFile = "win__rrWorkstation_installer.bat" if ($machineType -eq "Scheduler") { Write-Host "Customize (Start): Royal Render Server" - # $installFile = "win__rrServerconsole.bat" - # Start-Process -FilePath .\$installFile -Wait -RedirectStandardOutput "rr-server.output.txt" -RedirectStandardError "rr-server.error.txt" - + Start-Process -FilePath $schedulerRootDirectory\$installFile -ArgumentList "-serviceServer" -Wait -RedirectStandardOutput "$logFileName-server.output.txt" -RedirectStandardError "$logFileName-server.error.txt" Write-Host "Customize (End): Royal Render Server" } Write-Host "Customize (Start): Royal Render Client" - + Start-Process -FilePath $schedulerRootDirectory\$installFile -ArgumentList "-service" -Wait -RedirectStandardOutput "$logFileName-client.output.txt" -RedirectStandardError "$logFileName-client.error.txt" Write-Host "Customize (End): Royal Render Client" - Set-Location -Path $binDirectory } "Deadline" { Write-Host "Customize (Start): Deadline Download" diff --git a/src/terraform/examples/e2e/4.image.builder/customize.sh b/src/terraform/examples/e2e/4.image.builder/customize.sh index 7d45cf87..c200a73d 100644 --- a/src/terraform/examples/e2e/4.image.builder/customize.sh +++ b/src/terraform/examples/e2e/4.image.builder/customize.sh @@ -49,7 +49,7 @@ if [[ $gpuPlatform == *GRID* ]]; then downloadUrl="https://go.microsoft.com/fwlink/?linkid=874272" curl -o $installFile -L $downloadUrl chmod +x $installFile - ./$installFile --silent --dkms 1> "nvidia-grid.output.txt" 2> "nvidia-grid.error.txt" + ./$installFile --silent --dkms 1> "nvidia-gpu-grid.output.txt" 2> "nvidia-gpu-grid.error.txt" echo "Customize (End): NVIDIA GPU (GRID)" fi @@ -149,6 +149,8 @@ fi case $renderManager in "RoyalRender") schedulerVersion="8.4.03" + schedulerRootDirectory="/RoyalRender" + schedulerClientBinPath="$schedulerRootDirectory/bin/lx64" ;; "Deadline") schedulerVersion="10.2.0.9" @@ -190,28 +192,24 @@ case $renderManager in yum -y install fontconfig yum -y install libXrender yum -y install libXext - rootDirectory="RoyalRender" + logFileName="royal-render" installFile="rrSetup_linux" installDirectory="RoyalRender__${schedulerVersion}__installer" chmod +x ./$installDirectory/$installFile - mkdir $rootDirectory - ./$installDirectory/$installFile -console -rrRoot $rootDirectory 1> "$rootDirectory.output.txt" 2> "$rootDirectory.error.txt" + mkdir $schedulerRootDirectory + ./$installDirectory/$installFile -console -rrRoot $schedulerRootDirectory 1> "$logFileName.output.txt" 2> "$logFileName.error.txt" echo "Customize (End): Royal Render Installer" - cd $rootDirectory - export RR_ROOT=$(pwd) + installFile="lx__rrWorkstation_installer.sh" if [ $machineType == "Scheduler" ]; then echo "Customize (Start): Royal Render Server" - # installFile="lx__rrServerconsole.sh" - # ./$installFile 1> "rr-server.output.txt" 2> "rr-server.error.txt" - + $schedulerRootDirectory/$installFile -serviceServer 1> "$logFileName-server.output.txt" 2> "$logFileName-server.error.txt" echo "Customize (End): Royal Render Server" fi echo "Customize (Start): Royal Render Client" - + $schedulerRootDirectory/$installFile -service 1> "$logFileName-client.output.txt" 2> "$logFileName-client.error.txt" echo "Customize (End): Royal Render Client" - cd $binDirectory ;; "Deadline") echo "Customize (Start): Deadline Download" diff --git a/src/terraform/examples/e2e/5.render.manager/config.auto.tfvars b/src/terraform/examples/e2e/5.render.manager/config.auto.tfvars index cfb92ec1..ab9a9fcc 100644 --- a/src/terraform/examples/e2e/5.render.manager/config.auto.tfvars +++ b/src/terraform/examples/e2e/5.render.manager/config.auto.tfvars @@ -7,7 +7,7 @@ resourceGroupName = "ArtistAnywhere.Scheduler" virtualMachines = [ { name = "LnxScheduler" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/0.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/Linux/versions/0.0.0" machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes operatingSystem = { type = "Linux" @@ -56,7 +56,7 @@ virtualMachines = [ }, { name = "" # "WinScheduler" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinScheduler/versions/0.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/WinScheduler/versions/0.0.0" machineSize = "Standard_D8s_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes operatingSystem = { type = "Windows" diff --git a/src/terraform/examples/e2e/6.render.farm/config.auto.tfvars b/src/terraform/examples/e2e/6.render.farm/config.auto.tfvars index 91dbf686..9cb5c828 100644 --- a/src/terraform/examples/e2e/6.render.farm/config.auto.tfvars +++ b/src/terraform/examples/e2e/6.render.farm/config.auto.tfvars @@ -7,10 +7,10 @@ resourceGroupName = "ArtistAnywhere.Farm" virtualMachineScaleSets = [ { name = "LnxFarm" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/1.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/Linux/versions/1.0.0" machine = { size = "Standard_HB120rs_v2" - count = 10 + count = 2 } operatingSystem = { type = "Linux" @@ -64,10 +64,10 @@ virtualMachineScaleSets = [ }, { name = "" # "WinFarm" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinFarm/versions/1.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/WinFarm/versions/1.0.0" machine = { size = "Standard_HB120rs_v2" - count = 10 + count = 2 } operatingSystem = { type = "Windows" @@ -138,7 +138,7 @@ kubernetes = { name = "default" machine = { size = "Standard_HB120rs_v2" - count = 3 + count = 2 } } }, @@ -149,7 +149,7 @@ kubernetes = { name = "default" machine = { size = "Standard_HB120rs_v2" - count = 3 + count = 2 } } } diff --git a/src/terraform/examples/e2e/7.artist.workstation/config.auto.tfvars b/src/terraform/examples/e2e/7.artist.workstation/config.auto.tfvars index a798619a..5d8310ee 100644 --- a/src/terraform/examples/e2e/7.artist.workstation/config.auto.tfvars +++ b/src/terraform/examples/e2e/7.artist.workstation/config.auto.tfvars @@ -7,7 +7,7 @@ resourceGroupName = "ArtistAnywhere.Workstation" virtualMachines = [ { name = "LnxArtist" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/Linux/versions/2.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/Linux/versions/2.0.0" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes operatingSystem = { type = "Linux" @@ -45,7 +45,7 @@ virtualMachines = [ }, { name = "WinArtist" - imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/Gallery/images/WinArtist/versions/2.0.0" + imageId = "/subscriptions/5cc0d8f1-3643-410c-8646-1a2961134bd3/resourceGroups/ArtistAnywhere.Image/providers/Microsoft.Compute/galleries/azrender/images/WinArtist/versions/2.0.0" machineSize = "Standard_NV36ads_A10_v5" # https://learn.microsoft.com/azure/virtual-machines/sizes operatingSystem = { type = "Windows"